Example #1
0
 public void Initialize()
 {
     timer        = 0;
     syringe_mode = SyringeMode.None;
     left_iris.transform.localScale  = left_iris_scale;
     right_iris.transform.localScale = right_iris_scale;
     this.transform.position         = outside_pos;
     handle.transform.position       = handle_initial_pos;
     already_gave_life = false;
 }
Example #2
0
    // Update is called once per frame
    public void update_injection()
    {
        if (syringe_mode == SyringeMode.None || syringe_mode == SyringeMode.Done)
        {
            return;
        }
        if (syringe_mode == SyringeMode.Waiting)
        {
            if (my_camera.camera_state == CameraLogic.CameraState.Overall)
            {
                syringe_mode = SyringeMode.Moving;
            }
            else if (my_camera.camera_state == CameraLogic.CameraState.Game)
            {
                syringe_mode = SyringeMode.Done;
            }
            return;
        }
        timer += 1;
        if (timer < TIME_TO_NECK)
        {
            float lambda = (float)this.timer / (float)this.TIME_TO_NECK;

            this.transform.position             = lambda * neck_pos + (1 - lambda) * outside_pos;
            this.handle.transform.localPosition = handle_initial_pos;
            this.setAmplitude(lambda);
        }
        else if (timer < TIME_TO_NECK + TIME_ON_NECK)
        {
            if (timer == TIME_TO_NECK)
            {
                GetComponent <AudioSource>().Play();
            }
            int   local_timer = timer - TIME_TO_NECK;
            float lambda      = (float)local_timer / (float)this.TIME_ON_NECK;
            this.transform.position = neck_pos;
            float h = handle.GetComponent <Renderer>().bounds.size.y *handle.transform.localScale.y / handle.transform.lossyScale.y * 0.5f;
            this.handle.transform.localPosition = handle_initial_pos + new Vector3(0f, -lambda * h, 0f);
            left_iris.transform.localScale      = left_iris_scale + lambda * 0.8f * left_iris_scale;
            right_iris.transform.localScale     = right_iris_scale + lambda * 0.8f * right_iris_scale;
            liquid.transform.localScale         = new Vector3(1.0f, 1 - lambda, 1.0f);
            this.transform.rotation             = Quaternion.Euler(0.0f, 0.0f, -40.0f);

            if (!already_gave_life)
            {
                already_gave_life = true;
                GameObject.Find("MainGame").GetComponent <MainGame>().addHealth(50);
            }
        }
        else if (timer < TIME_TO_NECK * 2 + TIME_ON_NECK)
        {
            int local_timer = timer - TIME_TO_NECK - TIME_ON_NECK;
            local_timer = TIME_TO_NECK - local_timer;

            float lambda = (float)local_timer / (float)this.TIME_TO_NECK;

            this.transform.position = lambda * neck_pos + (1 - lambda) * outside_pos;
            this.setAmplitude(lambda);
        }
        else
        {
            syringe_mode = SyringeMode.Waiting;
            my_camera.setState(CameraLogic.CameraState.ToGame);
        }
    }
Example #3
0
 public void Prepare()
 {
     syringe_mode = SyringeMode.Waiting;
     my_camera.setState(CameraLogic.CameraState.ToOverall);
 }