Пример #1
0
    private void ChangeStateToNormal()
    {
        state = Tree.State.Normal;
        MessageCenter.Instance.Broadcast(new CameraZoomMessage(zoomOutSize, 5f));
        if (audio.clip == Sounds.Music)
        {
            audio.Stop();
        }
        face.GetComponent <Animator>().enabled = false;
        leftUpperArm.GetComponent <SpriteRenderer>().enabled           = false;
        leftLowerForegroundArm.GetComponent <SpriteRenderer>().enabled = false;
        leftLowerBackgroundArm.GetComponent <SpriteRenderer>().enabled = false;
        theGrabbedNPC.GetComponent <SpriteRenderer>().enabled          = false;
        rightLowerArm.GetComponent <SpriteRenderer>().enabled          = false;
        rightUpperArm.GetComponent <SpriteRenderer>().enabled          = false;
        rightArm.GetComponent <SpriteRenderer>().enabled = true;
        leftArm.GetComponent <SpriteRenderer>().enabled  = true;

        if (grabbedNPC != null)
        {
            List <GameObject> theList = new List <GameObject>();

            theList.Add(grabbedNPC);
            MessageCenter.Instance.Broadcast(new PlayerReleasedNPCsMessage(theList));
            grabbedNPC.GetComponent <SpriteRenderer>().enabled = true;
        }
    }
Пример #2
0
    private void ChangeStateToEatingCinematic()
    {
        state = Tree.State.EatingCinematic;
        theGrabbedNPC.GetComponent <SpriteRenderer>().enabled = false;
        timer = 0f;
        face.GetComponent <Animator>().enabled = true;
        audio.Stop();
        audio.clip = Sounds.Chew;
        audio.Play();

        npcsInRange.Remove(grabbedNPC.GetInstanceID());

        // Broadcast NPC being eaten
        MessageCenter.Instance.Broadcast(new NPCEatenMessage(grabbedNPC));

        Destroy(grabbedNPC);

        grabbedNPC = null;

        leftUpperArm.transform.localEulerAngles           = new Vector3(0f, 0f, 380.8806f);
        leftLowerForegroundArm.transform.localEulerAngles = new Vector3(0f, 0f, 203.9803f);
    }
Пример #3
0
    private void ChangeStateToNormal()
    {
        state = Tree.State.Normal;
        MessageCenter.Instance.Broadcast(new CameraZoomMessage(zoomOutSize, 5f));
        if(audio.clip == Sounds.Music) audio.Stop();
        face.GetComponent<Animator>().enabled = false;
        leftUpperArm.GetComponent<SpriteRenderer>().enabled = false;
        leftLowerForegroundArm.GetComponent<SpriteRenderer>().enabled = false;
        leftLowerBackgroundArm.GetComponent<SpriteRenderer>().enabled = false;
        theGrabbedNPC.GetComponent<SpriteRenderer>().enabled = false;
        rightLowerArm.GetComponent<SpriteRenderer>().enabled = false;
        rightUpperArm.GetComponent<SpriteRenderer>().enabled = false;
        rightArm.GetComponent<SpriteRenderer>().enabled = true;
        leftArm.GetComponent<SpriteRenderer>().enabled = true;

        if (grabbedNPC != null)
        {
            List<GameObject> theList = new List<GameObject>();

            theList.Add(grabbedNPC);
            MessageCenter.Instance.Broadcast(new PlayerReleasedNPCsMessage(theList));
            grabbedNPC.GetComponent<SpriteRenderer>().enabled = true;
        }
    }
Пример #4
0
    private void ChangeStateToAxeManMinigame(GameObject NPC, int thePhaseTime = 0)
    {
        rigidbody2D.velocity = Vector2.zero;
        legs.GetComponent <Animator>().enabled = false;

        state         = Tree.State.AxeManMinigame;
        this.velocity = Vector2.zero;
        if (transform.localScale.x < 0f)
        {
            transform.localScale = new Vector3(xScale, transform.localScale.y, transform.localScale.z);
        }
        face.GetComponent <SpriteRenderer>().sprite = Textures.Face.Crazy;
        MessageCenter.Instance.Broadcast(new CameraZoomMessage(2f, 20f));
        startTimer = 0f;
        percentage = 0.8f;
        phase1     = false;
        started    = false;

        float range = Random.Range(0f, 1f);

        if (range <= 0.25f)
        {
            button = 1;
        }
        else if (range > 0.25f && range <= 0.5f)
        {
            button = 2;
        }
        else if (range > 0.5f && range <= 0.75f)
        {
            button = 0;
        }
        else if (range > 0.75f && range <= 1f)
        {
            button = 3;
        }

        progressBar.GetComponent <SpriteRenderer>().color = Color.white;

        float leftAngle  = Random.Range(-120f, -240f);
        float rightAngle = Random.Range(-60f, 60f);

        ls = (GameObject)Instantiate(Prefabs.LeftThumbStick, progressBar.transform.position + (Quaternion.Euler(0f, 0f, leftAngle) * new Vector3(1f, 0)), Quaternion.identity);
        rs = (GameObject)Instantiate(Prefabs.RightThumbStick, progressBar.transform.position + (Quaternion.Euler(0f, 0f, rightAngle) * new Vector3(1f, 0)), Quaternion.identity);

        lsForce = (ls.transform.position - progressBar.transform.position).normalized * 0.5f;
        rsForce = (rs.transform.position - progressBar.transform.position).normalized * 0.5f;

        ls.GetComponent <SpriteRenderer>().enabled = false;
        rs.GetComponent <SpriteRenderer>().enabled = false;

        lsDistance = (ls.transform.position - progressBar.transform.position).magnitude;
        rsDistance = (rs.transform.position - progressBar.transform.position).magnitude;

        audio.clip = Sounds.Music;
        audio.Play();

        leftUpperArm.transform.localEulerAngles           = new Vector3(0f, 0f, 358.0023f);
        leftLowerForegroundArm.transform.localEulerAngles = new Vector3(0f, 0f, 172.2082f);

        leftUpperArm.GetComponent <SpriteRenderer>().enabled           = true;
        leftLowerForegroundArm.GetComponent <SpriteRenderer>().enabled = true;
        leftLowerBackgroundArm.GetComponent <SpriteRenderer>().enabled = true;
        theGrabbedNPC.GetComponent <SpriteRenderer>().enabled          = true;
        rightLowerArm.GetComponent <SpriteRenderer>().enabled          = true;
        rightUpperArm.GetComponent <SpriteRenderer>().enabled          = true;
        rightArm.GetComponent <SpriteRenderer>().enabled = false;
        leftArm.GetComponent <SpriteRenderer>().enabled  = false;

        /*grabbedNPC = npcsInRange[GetClosestNPC()];
         *
         * List<GameObject> theList = new List<GameObject>();
         *
         * theList.Add(grabbedNPC);
         *
         * MessageCenter.Instance.Broadcast(new PlayerGrabbedNPCsMessage(theList));
         * grabbedNPC.GetComponent<SpriteRenderer>().enabled = false;
         * //grabbedNPC.GetComponent<AIController>().alertTexture.GetComponent<SpriteRenderer>().enabled = false;
         * grabbedNPC.GetComponent<AIController>().panicTexture.GetComponent<SpriteRenderer>().enabled = false;
         *
         * theGrabbedNPC.GetComponent<Animator>().enabled = (grabbedNPC.name.Contains("BenchNPC")) ? false : true;
         * float angle = (grabbedNPC.name.Contains("BenchNPC")) ? 53f : 0f;
         *
         * //theGrabbedNPC.transform.eulerAngles = new Vector3(0f, 0f, angle);
         * theGrabbedNPC.transform.localEulerAngles = new Vector3(0f, 0f, angle);
         *
         * if (grabbedNPC.name.Contains("BenchNPC")) theGrabbedNPC.GetComponent<SpriteRenderer>().sprite = Textures.GrabbedNPCs.OldMan;*/

        grabbedNPC = NPC;
        theGrabbedNPC.GetComponent <SpriteRenderer>().sprite = Textures.GrabbedNPCs.OldMan;
        List <GameObject> theList = new List <GameObject>();

        theList.Add(grabbedNPC);

        MessageCenter.Instance.Broadcast(new PlayerGrabbedNPCsMessage(theList));
        grabbedNPC.GetComponent <SpriteRenderer>().enabled = false;

        phaseTime = thePhaseTime;
    }
Пример #5
0
    private void ChangeStateToEatingCinematic()
    {
        state = Tree.State.EatingCinematic;
        theGrabbedNPC.GetComponent<SpriteRenderer>().enabled = false;
        timer = 0f;
        face.GetComponent<Animator>().enabled = true;
        audio.Stop();
        audio.clip = Sounds.Chew;
        audio.Play();

        npcsInRange.Remove(grabbedNPC.GetInstanceID());

		// Broadcast NPC being eaten
		MessageCenter.Instance.Broadcast (new NPCEatenMessage(grabbedNPC));

        Destroy(grabbedNPC);

        grabbedNPC = null;

        leftUpperArm.transform.localEulerAngles = new Vector3(0f, 0f, 380.8806f);
        leftLowerForegroundArm.transform.localEulerAngles = new Vector3(0f, 0f, 203.9803f);
    }
Пример #6
0
    private void ChangeStateToAxeManMinigame(GameObject NPC, int thePhaseTime = 0)
    {
        rigidbody2D.velocity = Vector2.zero;
        legs.GetComponent<Animator>().enabled = false;

        state = Tree.State.AxeManMinigame;
        this.velocity = Vector2.zero;
        if (transform.localScale.x < 0f) transform.localScale = new Vector3(xScale, transform.localScale.y, transform.localScale.z);
        face.GetComponent<SpriteRenderer>().sprite = Textures.Face.Crazy;
        MessageCenter.Instance.Broadcast(new CameraZoomMessage(2f, 20f));
        startTimer = 0f;
        percentage = 0.8f;
        phase1 = false;
        started = false;

        float range = Random.Range(0f, 1f);

        if (range <= 0.25f) button = 1;
        else if (range > 0.25f && range <= 0.5f) button = 2;
        else if (range > 0.5f && range <= 0.75f) button = 0;
        else if (range > 0.75f && range <= 1f) button = 3;

        progressBar.GetComponent<SpriteRenderer>().color = Color.white;

        float leftAngle = Random.Range(-120f, -240f);
        float rightAngle = Random.Range(-60f, 60f);

        ls = (GameObject)Instantiate(Prefabs.LeftThumbStick, progressBar.transform.position + (Quaternion.Euler(0f, 0f, leftAngle) * new Vector3(1f, 0)), Quaternion.identity);
        rs = (GameObject)Instantiate(Prefabs.RightThumbStick, progressBar.transform.position + (Quaternion.Euler(0f, 0f, rightAngle) * new Vector3(1f, 0)), Quaternion.identity);

        lsForce = (ls.transform.position - progressBar.transform.position).normalized * 0.5f;
        rsForce = (rs.transform.position - progressBar.transform.position).normalized * 0.5f;

        ls.GetComponent<SpriteRenderer>().enabled = false;
        rs.GetComponent<SpriteRenderer>().enabled = false;

        lsDistance = (ls.transform.position - progressBar.transform.position).magnitude;
        rsDistance = (rs.transform.position - progressBar.transform.position).magnitude;

        audio.clip = Sounds.Music;
        audio.Play();

        leftUpperArm.transform.localEulerAngles = new Vector3(0f, 0f, 358.0023f);
        leftLowerForegroundArm.transform.localEulerAngles = new Vector3(0f, 0f, 172.2082f);

        leftUpperArm.GetComponent<SpriteRenderer>().enabled = true;
        leftLowerForegroundArm.GetComponent<SpriteRenderer>().enabled = true;
        leftLowerBackgroundArm.GetComponent<SpriteRenderer>().enabled = true;
        theGrabbedNPC.GetComponent<SpriteRenderer>().enabled = true;
        rightLowerArm.GetComponent<SpriteRenderer>().enabled = true;
        rightUpperArm.GetComponent<SpriteRenderer>().enabled = true;
        rightArm.GetComponent<SpriteRenderer>().enabled = false;
        leftArm.GetComponent<SpriteRenderer>().enabled = false;

        /*grabbedNPC = npcsInRange[GetClosestNPC()];

        List<GameObject> theList = new List<GameObject>();

        theList.Add(grabbedNPC);

        MessageCenter.Instance.Broadcast(new PlayerGrabbedNPCsMessage(theList));
        grabbedNPC.GetComponent<SpriteRenderer>().enabled = false;
        //grabbedNPC.GetComponent<AIController>().alertTexture.GetComponent<SpriteRenderer>().enabled = false;
        grabbedNPC.GetComponent<AIController>().panicTexture.GetComponent<SpriteRenderer>().enabled = false;

        theGrabbedNPC.GetComponent<Animator>().enabled = (grabbedNPC.name.Contains("BenchNPC")) ? false : true;
        float angle = (grabbedNPC.name.Contains("BenchNPC")) ? 53f : 0f;

        //theGrabbedNPC.transform.eulerAngles = new Vector3(0f, 0f, angle);
        theGrabbedNPC.transform.localEulerAngles = new Vector3(0f, 0f, angle);

        if (grabbedNPC.name.Contains("BenchNPC")) theGrabbedNPC.GetComponent<SpriteRenderer>().sprite = Textures.GrabbedNPCs.OldMan;*/

        grabbedNPC = NPC;
        theGrabbedNPC.GetComponent<SpriteRenderer>().sprite = Textures.GrabbedNPCs.OldMan;
        List<GameObject> theList = new List<GameObject>();

        theList.Add(grabbedNPC);

        MessageCenter.Instance.Broadcast(new PlayerGrabbedNPCsMessage(theList));
        grabbedNPC.GetComponent<SpriteRenderer>().enabled = false;

        phaseTime = thePhaseTime;
    }