示例#1
0
    // Update is called once per frame
    void FixedUpdate()
    {
        UpdatePlayerGroundPosition();

        if (PlayerTransform.transform.position.z - DoorsCurrent.transform.position.z > PlayerBeyondDoorThreshold)
        {
            DoorController[] doors = DoorsCurrent.GetComponentsInChildren <DoorController>();
            foreach (DoorController d in doors)
            {
                d.CloseInstant();
            }

            Vector3 doorsPos = DoorsCurrent.transform.position;
            doorsPos.Set(doorsPos.x, doorsPos.y, doorsPos.z + Radius * 2.0f);
            DoorsCurrent.transform.position = doorsPos;
            GateController gate = DoorsCurrent.GetComponent <GateController>();
            if (gate != null)
            {
                gate.DoorChangeFrequency = Random.Range(0.5f, 3.0f);
                gate.StartFlipping();
            }

            GameObject temp = DoorsCurrent;
            DoorsCurrent = DoorsNext;
            DoorsNext    = temp;
        }
    }
示例#2
0
    public void ResetGame()
    {
        TerrainFront.position           = TerrainFrontStartPosition;
        TerrainBack.position            = TerrainBackStartPosition;
        DoorsCurrent.transform.position = DoorsCurrentStartPosition;
        DoorsNext.transform.position    = DoorsNextStartPosition;
        PlayerTransform.position        = PlayerStartPosition;
        PlayerTransform.gameObject.GetComponent <PlayerController>().SetMovementEnabled(false);
        DoorController[] doors = DoorsCurrent.GetComponentsInChildren <DoorController>();
        foreach (DoorController d in doors)
        {
            d.CloseInstant();
        }
        doors = DoorsNext.GetComponentsInChildren <DoorController>();
        foreach (DoorController d in doors)
        {
            d.CloseInstant();
        }
        GateController gate = DoorsCurrent.GetComponent <GateController>();

        if (gate != null)
        {
            gate.DoorChangeFrequency = Random.Range(0.5f, 3.0f);
            gate.StartFlipping();
        }
        ButtonObject.SetActive(true);
        Instructions.gameObject.SetActive(true);
        DestroySpikes();

        AkSoundEngine.StopPlayingID(MusicPlayingID);
        AkSoundEngine.SetRTPCValue("Dare", 0.0f);
    }