Example #1
0
    /*
     *  void OnBecameInvisible()
     * {
     *          Debug.Log("Off Scren");
     *  GetComponent<FMODUnity.StudioEventEmitter>().Stop();
     * }
     *
     *  void OnBecameVisible()
     *  {
     *          Debug.Log("On Scren");
     *          GetComponent<FMODUnity.StudioEventEmitter>().SetParameter("Female_Fly", this.Gender);
     *  GetComponent<FMODUnity.StudioEventEmitter>().Play();
     *  }
     */

    public void Caught()
    {
        GetComponent <NodeMovement>().setState(NodeMovement.MoveState.caught);
        GetComponent <NodeMovement>().dropFood();

        FlyState = FlyStates.Caught;
    }
Example #2
0
 // Use this for initialization
 void Start()
 {
     FoodManager.OnPickUpFood += SomeFoodPickedUp;
     FlyState = FlyStates.Free;
     Gender   = Random.Range(0, 1);
     Gender   = 0;
 }
Example #3
0
    IEnumerator KDTFly()
    {
        kdtHandle.gameObject.SetActive(true);
        float maxSpeed     = Random.Range(flyMinSpeed, flyMaxSpeed);
        float currentSpeed = maxSpeed;

        //Position
        float x = Random.Range(flyInitialXRange * -1, flyInitialXRange);

        kdtHandle.position = new Vector3(x, flyInitialY, 0f);

        //Rotation
        kdtHandle.localEulerAngles = new Vector3(0f, 0f, 0f);
        float yRot = Random.Range(flyMinYRotation, flyMaxYRotation);

        kdt.localEulerAngles = new Vector3(0, yRot, 0);

        //Face
        matFace.mainTextureOffset = new Vector2(0f, 0);

        //Shield
        kdtShield.SetActive(false);

        //Animation
        kdtAnimator.SetInteger("Animation", 8);

        bool  blink  = Random.Range(0f, 100f) <= chancesToBlink;
        float blinkY = Random.Range(blinkMinY, blinkMaxY);

        FlyStates state = FlyStates.FLYING_1;

        yield return(null);

        float elapsedTime = 0f;

        while (kdt.position.y < flyFinalY)
        {
            kdtHandle.Translate(0f, maxSpeed * Time.deltaTime, 0f, Space.World);
            yield return(null);

            switch (state)
            {
            case FlyStates.FLYING_1:
                kdtHandle.Translate(0f, maxSpeed * Time.deltaTime, 0f, Space.World);

                if (blink && kdtHandle.position.y >= blinkY)
                {
                    state = FlyStates.STOPPING;

                    //matFace.mainTextureOffset = new Vector2(-0.34f, -0.3f);
                    elapsedTime = 0f;
                }
                break;

            case FlyStates.STOPPING:
                if (elapsedTime < blinkStoppingTime)
                {
                    elapsedTime += Time.deltaTime;

                    currentSpeed = maxSpeed * Mathf.Cos((elapsedTime / blinkStoppingTime) * (Mathf.PI / 2));

                    kdtHandle.Translate(0f, currentSpeed * Time.deltaTime, 0f, Space.World);
                }
                else
                {
                    kdtAnimator.SetInteger("Animation", 9);
                    state = FlyStates.BLINK;
                }
                break;

            case FlyStates.BLINK:
                yield return(new WaitForSeconds(0.25f));

                matFace.mainTextureOffset = new Vector2(-0.34f, -0.3f);
                yield return(new WaitForSeconds(blinkTime));

                matFace.mainTextureOffset = new Vector2(0f, 0f);
                yield return(new WaitForSeconds(0.25f));

                state = FlyStates.STARTING;
                kdtAnimator.SetInteger("Animation", 8);
                elapsedTime = 0f;
                break;

            case FlyStates.STARTING:
                if (elapsedTime < blinkStartingTime)
                {
                    elapsedTime += Time.deltaTime;

                    currentSpeed = maxSpeed * Mathf.Sin((elapsedTime / blinkStartingTime) * (Mathf.PI / 2));

                    kdtHandle.Translate(0f, currentSpeed * Time.deltaTime, 0f, Space.World);
                }
                else
                {
                    state = FlyStates.FLYING_2;
                }
                break;

            case FlyStates.FLYING_2:
                kdtHandle.Translate(0f, maxSpeed * Time.deltaTime, 0f, Space.World);
                break;

            default:
                break;
            }

            yield return(null);
        }

        kdtHandle.gameObject.SetActive(false);
        showTimeEnabled = true;
    }
Example #4
0
 public void AtTable()
 {
     GetComponent <NodeMovement>().setState(NodeMovement.MoveState.caught);
     FlyState = FlyStates.AtTable;
 }