C# Class Supermarket.Shelf

Supermarket shelf behaviour script.
Inheritance: UnityEngine.MonoBehaviour, ISelectable
Show file Open project: Clarksj4/Theme-Supermarket-Tycoon-World Class Usage Examples

Private Properties

Property Type Description
Awake void
Notify void
OnTriggerEnter void
Start void

Public Methods

Method Description
Add ( Product product ) : void

Add the given product to this shelf

AddListener ( IEmptyShelfListener listener ) : void

Add the given interface member to this shelf's list of listeners. The member will be notified when this shelf runs out of stock of each of its products.

ClosestInteractionZone ( Vector3 position ) : GameObject

Get the closest shelf interaction zone to the specified position.

Contains ( string product ) : bool

Tests whether this shelf contains a product of the given name

Get ( string product, int quantity ) : Product

Gets the given product from this shelf. The amount returned is equal to the specified quantity or the amount stocked by the shelf; which ever is less. The shelf has an equal amount of product removed from its inventory.

OnCommand ( Collider clicked, Vector3 position ) : void
OnDeselect ( ) : void
OnSelect ( ) : void
Price ( string product ) : float

Gets the listed price for the given product. Method will raise an exception if the shelf does not stock the product.

Quantity ( string product ) : int

Gets the quantity of items that this shelf stocks for the given product name.

RandomInteractionZone ( ) : GameObject

Gets a random one of this shelf's interaction zones

Private Methods

Method Description
Awake ( ) : void
Notify ( string product ) : void

Notifies each listener that this shelf is out of stock of the given product

OnTriggerEnter ( Collider other ) : void
Start ( ) : void

Method Details

Add() public method

Add the given product to this shelf
public Add ( Product product ) : void
product Product The product to put on this shelf
return void

AddListener() public method

Add the given interface member to this shelf's list of listeners. The member will be notified when this shelf runs out of stock of each of its products.
public AddListener ( IEmptyShelfListener listener ) : void
listener IEmptyShelfListener The member to notify when this shelf is out of stock of any product.
return void

ClosestInteractionZone() public method

Get the closest shelf interaction zone to the specified position.
public ClosestInteractionZone ( Vector3 position ) : GameObject
position UnityEngine.Vector3 A world position to test for proximity to this shelves interaction zones.
return UnityEngine.GameObject

Contains() public method

Tests whether this shelf contains a product of the given name
public Contains ( string product ) : bool
product string The name of the product to test if this shelf stocks.
return bool

Get() public method

Gets the given product from this shelf. The amount returned is equal to the specified quantity or the amount stocked by the shelf; which ever is less. The shelf has an equal amount of product removed from its inventory.
public Get ( string product, int quantity ) : Product
product string The name of the product to obtain
quantity int The desired amount of product
return Product

OnCommand() public method

public OnCommand ( Collider clicked, Vector3 position ) : void
clicked UnityEngine.Collider
position UnityEngine.Vector3
return void

OnDeselect() public method

public OnDeselect ( ) : void
return void

OnSelect() public method

public OnSelect ( ) : void
return void

Price() public method

Gets the listed price for the given product. Method will raise an exception if the shelf does not stock the product.
public Price ( string product ) : float
product string The name of the product to get the price of.
return float

Quantity() public method

Gets the quantity of items that this shelf stocks for the given product name.
public Quantity ( string product ) : int
product string The product to find how many this shelf stocks
return int

RandomInteractionZone() public method

Gets a random one of this shelf's interaction zones
public RandomInteractionZone ( ) : GameObject
return UnityEngine.GameObject