Exemple #1
0
    public override void Reason(Transform fish)
    {
        Debug.Log("HIT THE WATER");
        GameObject        theFish        = GameObject.FindWithTag("Fishy");
        FSMFishController fishController = theFish.GetComponent <FSMFishController>();

        fishController.SetTransition(Transition.UnderWater);
    }
Exemple #2
0
 public override void Reason(Transform fish)
 {
     if (fish.transform.position.y < 14.4f)
     {
         GameObject        theFish        = GameObject.FindWithTag("Fishy");
         FSMFishController fishController = theFish.GetComponent <FSMFishController>();
         fishController.SetTransition(Transition.AtSurface);
     }
 }
Exemple #3
0
    //public override void Reason(Transform player, Transform npc)
    public override void Reason(Transform fish)
    {
        //Check the distance with player tank
        //When the distance is near, transition to chase state
        //if (Vector3.Distance(npc.position, player.position) <= 300.0f)
        //{
        //Debug.Log("Switch to Swim State");
        //GameObject theFish = GameObject.FindWithTag("Fishy");
        FSMFishController fishController = fish.GetComponent <FSMFishController>();

        //tappedFish = fishController.fishWasTapped;
        //bumpedFish = fishController.bumped;
        if (fishController.fishWasTapped)         // || theFish.transform.position.y > 14.7f) // jumps either if tapped, or if fish is "driven" above water
        {
            fishController.jumpForce = 1100.0f;
            // fish.GetComponent<FSMFishController>().SetTransition(Transition.Tapped);
            fishController.SetTransition(Transition.Tapped);
        }
        else if (fish.transform.position.y > 14.8f)         // fish has been "driven" above water
        {
            fishController.jumpForce = 0.0f;
            fishController.SetTransition(Transition.Tapped);
        }
        else if (fishController.bumped)
        {
            fishController.SetTransition(Transition.BumpedIntoSomething);
            Debug.Log(fishController.bumped + ": BUMPED while Swimming!!!!");
            fishController.bumped = false;
            Debug.Log("Bumped is now: " + fishController.bumped);
        }
        else if (fishController.foundClearDirection)
        {
            fishController.foundClearDirection = false;
            fishController.SetTransition(Transition.SwimmingToTurning);
        }

        if (fish.transform.position.y < 0.0f)
        {
            fishController.SetTransition(Transition.GoneBelow);
        }
        // fishController.OnTriggerStay();
        //}
    }
Exemple #4
0
    public override void Reason(Transform fish)
    {
        Debug.Log("I taut I taw...");
        FSMFishController fishController = fish.GetComponent <FSMFishController>();

        if (fishController.foundClearDirection)
        {
            fishController.foundClearDirection = false;
            fishController.SetTransition(Transition.FoundClearDirection);
        }
    }
Exemple #5
0
    public override void Reason(Transform fish)
    {
        Debug.Log("JUMPING ABOVE WATER");
        GameObject        theFish        = GameObject.FindWithTag("Fishy");
        FSMFishController fishController = theFish.GetComponent <FSMFishController>();

        if (fish.transform.position.y <= lastY)         // fish has reached the apex of jump, so transition to falling state
        {
            fishController.SetTransition(Transition.ReachedApex);
        }
        lastY = fish.transform.position.y;
    }
    public override void Reason(Transform fish)
    {
        Debug.Log("On the TURNING AWAY");
        FSMFishController fishController = fish.GetComponent <FSMFishController>();

        if (fishController.turnIsComplete)
        {
            fishController.turnIsComplete = false;
            fishController.updateMoveSpeed();
            fishController.SetTransition(Transition.TurnIsComplete);
        }
    }