Exemplo n.º 1
0
        public static void DecideOnSensedClosestObject(BlobController blobController, SensedObjectModel sensedObject)
        {
            switch (sensedObject.Tag)
            {
            case TAG_WALL:
                blobController.RunAwayFrom(sensedObject.ContactPoint);
                Debug.Log(blobController.name + " running from wall");
                return;

            case TAG_FOOD:
                blobController.MoveTowards(sensedObject.ContactPoint);
                return;

            case TAG_BLOB:

                var otherBlob = sensedObject.Collider.GetComponent <BlobController>();

                if (blobController.CanEat(otherBlob))
                {
                    blobController.MoveTowards(sensedObject.ContactPoint);
                    return;
                }

                if (otherBlob.CanEat(blobController))
                {
                    blobController.RunAwayFrom(sensedObject.ContactPoint);
                    return;
                }

                return;
            }
        }