예제 #1
0
    void OnTriggerEnter(Collider collidedObject)
    {
        try
        {
            if ((collidedObject.gameObject != null) && (gameObject != null) && (agentBehaviours != null))
            {
                if (collidedObject.gameObject.Equals(agentBehaviours.Home) && isNight)
                {
                    if (!agentBehaviours.HasHomeNotBuilt())
                    {
                        canBeEaten = false;
                    }
                    else
                    {
                        canBeEaten = true;
                    }
                    agentBehaviours.StayHome();
                }

                if (collidedObject.gameObject.tag.Equals("Food") && agentBehaviours.IsGatheringFood)
                {
                    agentBehaviours.GatherFood();
                }
                else if (collidedObject.gameObject.tag.Equals("Rock") && agentBehaviours.IsGatheringRock)
                {
                    agentBehaviours.GatherRock();
                }
                else if (collidedObject.gameObject.tag.Equals("BridgeNotAvailable") && agentBehaviours.IsBuildingBridge)
                {
                    ABOD3_Bridge.GetInstance().AletForElement(botNumber, "DE-ReadyToBuild", "DE");
                    ABOD3_Bridge.GetInstance().AletForElement(botNumber, "BuildBridge", "A");
                    agentBehaviours.BuildBridge();
                }
                else if (collidedObject.gameObject.Equals(agentBehaviours.Home) && agentBehaviours.IsGoingHome)
                {
                    CGotHome();
                }
            }
        }
        catch (System.Exception e) // REALLY BAD FIX!
        {
            Debug.LogError(e);
        }
    }