Пример #1
0
    public static void ChangePlayerState(PlayerMovement.PlayerState state)
    {
        PlayerMovement player;

        if (IsLoaded)
        {
            player = CurrentPlayer.GetComponent <PlayerMovement>();
        }
        else
        {
            player = GameObject.FindWithTag("Player").GetComponent <PlayerMovement>();
        }

        player.ChangeState(state);
    }
Пример #2
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.name.Equals("Obstacle"))
        {
            EventManager.Instance.IsCollideObstacle();
        }

        if (other.gameObject.layer == brickLayer)
        {
            wallStrength = other.transform.parent.gameObject.GetComponent <WallScript>().Strength;

            playerState    = gameObject.GetComponent <PlayerMovement>().state;
            playerSpeed    = gameObject.GetComponent <PlayerMovement>().speed;
            maxPlayerSpeed = gameObject.GetComponent <PlayerMovement>().maxSpeed;

            GameObject wall = other.transform.parent.gameObject;

            rb = other.gameObject.GetComponent <Rigidbody>();

            if (isObjectInteractedBefore(rb))
            {
                return;
            }

            if (playerState != PlayerMovement.PlayerState.Flying && flag2 == 0)
            {
                flag2 = 1;
                EventManager.Instance.WallCollider();
                return;
            }

            ShakeCamera();

            SetChildObjectsMoveable(wall);
            ExplodeWall(rb);

            EventManager.Instance.OnPlayerSmashedWall();

            playerSpeed += 5;
        }
        else if (other.tag.Equals("NextLevel"))
        {
            EventManager.Instance.LevelTriggered();
            flag = 1;
        }
    }