// Update is called once per frame
    void Update()
    {
        Canvas gameOverCanvas = GameObject.Find("GameOverCanvas").GetComponent <Canvas> ();

        if (currentState == AnglarState.Stationary && !gameOverCanvas.enabled)
        {
            Hero_Interaction meemo = GameObject.FindGameObjectWithTag("Player").GetComponent <Hero_Interaction> ();
            if (Vector3.Distance(meemo.transform.position, transform.position) < distFromMeemoToActivateTrigger)
            {
                currentState         = AnglarState.Moving;
                transform.localScale = new Vector3(transform.localScale.x * -1f, transform.localScale.y, transform.localScale.z);
            }
        }
        else
        {
            speed = 2f;

            current_distance_traveled += speed * Time.deltaTime;
            if (current_distance_traveled < max_distance_to_travel)
            {
                float offset = travel_direction * speed * Time.deltaTime;
                this.transform.position =
                    new Vector3(transform.position.x + offset, transform.position.y, transform.position.z);
            }
        }
    }
예제 #2
0
 // Use this for initialization
 void Start()
 {
     globalBehavior = GameObject.Find("Main Camera").GetComponent <CameraBehavior>();
     thisMeemo      = GameObject.FindGameObjectWithTag("Player").GetComponent <Hero_Interaction> ();
     initpos        = transform.position;
     anim           = GetComponent <Animator> ();
     isPopped       = false;
 }
예제 #3
0
    // Update is called once per frame
    void Update()
    {
        Canvas gameOverCanvas = GameObject.Find("GameOverCanvas").GetComponent <Canvas> ();

        if (!gameOverCanvas.enabled)
        {
            Hero_Interaction meemo = GameObject.FindGameObjectWithTag("Player").GetComponent <Hero_Interaction> ();
            switch (currentState)
            {
            case PufferState.Little:
                if (Vector3.Distance(meemo.transform.position, transform.position) < distFromMeemoToActivateTrigger)
                {
                    currentState = PufferState.Puffed;
                    Debug.Log(currentState);
                    anim.SetBool("bool", true);
                }
                break;

            case PufferState.Puffed:
                if (Vector3.Distance(meemo.transform.position, transform.position) < distFromMeemoToActivateTrigger)
                {
                    timer = 0.0f;
                }
                else
                {
                    if (timer >= MAX_TIME)
                    {
                        currentState = PufferState.Little;
                        Debug.Log(currentState);
                        anim.SetBool("bool", false);
                    }
                    else
                    {
                        timer += Time.deltaTime;
                    }
                }
                break;
            }
        }
    }