コード例 #1
0
ファイル: Vegetable.cs プロジェクト: xelvynx/ProgrammingTest
    public void ChangeVegetable()
    {
        if (typeOfVegetable != VegetableType.Combo)
        {
            gameObject.name = typeOfVegetable.ToString();
            nameText.text   = typeOfVegetable.ToString();
        }
        switch (typeOfVegetable)
        {
        case VegetableType.Cucumber:
            cuttingDuration = 1;
            break;

        case VegetableType.Onion:
            cuttingDuration = 1.5f;
            break;

        case VegetableType.Tomato:
            cuttingDuration = 2;
            break;

        case VegetableType.Raddish:
            cuttingDuration = 2.5f;
            break;

        case VegetableType.Lettuce:
            cuttingDuration = .75f;
            break;

        case VegetableType.Spinach:
            cuttingDuration = .5f;
            break;

        case VegetableType.None:
            cuttingDuration = 0;
            nameText.text   = "";
            break;

        default:
            break;
        }
    }
コード例 #2
0
    public Vegetable CreateVegetable(VegetableType veg)
    {
        GameObject go = (GameObject)Instantiate(Resources.Load(VEGETABLE_ASSETS_PATH + "/" + veg.ToString()));

        return(go.GetComponent <Vegetable>());
    }
コード例 #3
0
    private void SubscribeInput(PlayerController playerController)
    {
        if (!m_PlayerInZone.Contains(playerController.PlayerIndexValue))
        {
            return;
        }

        switch (m_VegetableState)
        {
        case STATE.IDLE:
            if (playerController.OrderOfCollection.Count == 2 || playerController.OrderOfCollection.Contains(m_VegetableType))     //Can pickup only 2 veg, also checks not to pick up duplicate veg again
            {
                return;
            }
            if (SpawnVegtable != null)
            {
                SpawnVegtable(this.gameObject, m_OriginalPosition);
            }
            gameObject.layer = m_OwnerPlayerController.gameObject.layer;
            playerController.OrderOfCollection.Add(m_VegetableType);
            m_OwnerPlayerController.TextStatus.text = "Picked " + m_VegetableType.ToString();
            m_VegetableState = STATE.PICKED;
            this.transform.SetParent(playerController.transform);
            break;

        case STATE.PICKED:
            if (playerController.OrderOfCollection[0] == m_VegetableType)
            {
                GetComponent <Collider>().enabled = false;
                this.transform.SetParent(m_ChoppingBoardOwner.transform);
                this.transform.localPosition            = new Vector3(UnityEngine.Random.Range(-0.2f, 0.2f), 0, UnityEngine.Random.Range(-0.2f, 0.2f));
                m_OwnerPlayerController.TextStatus.text = "Placed " + m_VegetableType.ToString() + " On Board";
                m_VegetableState = STATE.TOBECHOPPED;
            }
            break;

        case STATE.TOBECHOPPED:
            if (!m_ChoppingBoardOwner.m_IsBeingChopped && m_ChoppingBoardOwner.m_IsPlayerInArea)     //veg can only be chopped if other veg is not being chopped and player is in the collision area
            {
                m_OwnerPlayerController.ChangeSpeed(0);
                m_ChoppingBoardOwner.CurrentVegetableType = m_VegetableType;
                m_ChoppingBoardOwner.m_IsBeingChopped     = true;
                m_VegetableState = STATE.CHOPPED;
            }
            break;

        case STATE.CHOPPED:
            if (!m_ChoppingBoardOwner.m_IsBeingChopped && m_ChoppingBoardOwner.m_IsPlayerInArea)      //veg can only be kept in plate if it is chopped and player is in the collision area
            {
                m_OwnerPlayerController.ChangeSpeed(8);
                this.transform.SetParent(m_ChoppingBoardOwner.Plate.transform);
                this.transform.localPosition            = new Vector3(UnityEngine.Random.Range(-0.027f, 0.027f), 19f, UnityEngine.Random.Range(-0.16f, 0.2f));
                this.transform.localScale               = new Vector3(.5f, .5f, .5f);
                m_OwnerPlayerController.TextStatus.text = m_VegetableType.ToString() + " Placed On Plate";
                if (AddvegetableToSalad != null)
                {
                    AddvegetableToSalad(m_VegetableType, m_ChoppingBoardOwner.ChoppingBoardTypeEnum);
                }
                m_OwnerPlayerController.OrderOfCollection.RemoveAt(0);
                m_VegetableState = STATE.READY;
            }
            break;

        case STATE.READY:
            return;

        default:
            break;
        }
    }