コード例 #1
0
ファイル: VegetableStand.cs プロジェクト: prohit/salad-chef
    public override bool Execute(Command command, Carrier playerCarrier = null)
    {
        bool result = base.Execute(command, playerCarrier);

        if (command == Command.PICKUP)
        {
            VegetableItem vegItem = Instantiate(vegetable); //TODO use object pooling
            playerCarrier.OnItemPickup(vegItem);
            result = true;
        }
        return(result);
    }
コード例 #2
0
ファイル: ChoppingStand.cs プロジェクト: prohit/salad-chef
    IEnumerator StartChopping(VegetableItem item)
    {
        Debug.Log("Start Chopping, chopping time:  " + item.ChoppingTime);
        timeSpentInChopping = 0;
        item.SetChopping(true);
        while (timeSpentInChopping < item.ChoppingTime)
        {
            float deltaTime = Time.deltaTime;
            yield return(new WaitForSeconds(deltaTime));

            timeSpentInChopping += deltaTime;
        }
        ChoppingEnd(item);
    }
コード例 #3
0
    public void AddItem(VegetableItem item)
    {
        VegetableItemTypes.Add(item.VegType);
        item.transform.SetParent(transform, false);
        item.transform.localPosition = Vector3.zero;

        if (VegetableItemTypes.Count == 1)
        {
            item.transform.localPosition = Vector3.zero;
        }
        else
        {
            AdjustItems();
        }
    }
コード例 #4
0
ファイル: ChoppingStand.cs プロジェクト: prohit/salad-chef
    void ChoppingEnd(VegetableItem item)
    {
        currentState = KitchenStandState.CHOPPING_DONE;
        //chopped veg convertade to salad and add in salad list
        item.SetChopping(false);
        SaladItem salad;

        if (carrier.IsCarrying() && carrier.GetLastCarryingItem().Type == PickableType.SALAD)
        {
            salad = (SaladItem)carrier.GetLastCarryingItem();
            salad.AddItem(item);
        }
        else
        {
            salad = Instantiate(saladPrefab); //TODO use object pooling instead
            salad.AddItem(item);
            carrier.OnItemPickup(salad);
        }
        TriggerChoppingDoneEvent();
        Destroy(item, 0.1f);
    }