Exemplo n.º 1
0
    public override void OnObjectPicked(PlayerBehaviour player, BaseOrbitObject orbitObject)
    {
        base.OnObjectPicked(player, orbitObject);

        // If picked collectable

        if (orbitObject is Collectable)
        {
            orbitObject.SetVisibility(false);

            // Show door if needed

            if (_collectables.All((c) => !c.GetVisibility()))
            {
                SetLineRenderWithCompletedColor();

                GameScene.Instance.ShowNextOrbit();
                if (door != null)
                {
                    door.SetVisibility(true);
                }
            }
        }

        if (orbitObject is Spike)
        {
            GameScene.Instance.RestartFromLastCheckpoint();
        }

        // If door picked
        if (orbitObject is Door)
        {
            NextOrbit();
        }
    }
Exemplo n.º 2
0
    public void PickObject(PlayerBehaviour player, BaseOrbitObject orbitObject)
    {
        if (orbitObject == null)
        {
            return;
        }

        OnObjectPicked(player, orbitObject);
    }
Exemplo n.º 3
0
    public override void OnObjectPicked(PlayerBehaviour player, BaseOrbitObject orbitObject)
    {
        // If picked collectable

        if (orbitObject is NumberPost numberPost)
        {
            if (_checkNumber == numberPost.number)
            {
                // Right number.

                GameScene.Instance.Play(numberPost.pickSound);
                numberPost.SetVisibility(false);
                _checkNumber++;
            }
            else
            {
                // Wrong number.

                GameScene.Instance.Play(wrongSequenceSound);
                numberPosts.ForEach((c) => c.SetVisibility(true));
                _checkNumber = 1;
            }

            // Picked all object in the right order.

            if (_checkNumber > numberPosts.Length)
            {
                SetLineRenderWithCompletedColor();

                GameScene.Instance.ShowNextOrbit();
                if (door != null)
                {
                    door.SetVisibility(true);
                }
            }
        }

        // If door picked
        if (orbitObject is Door)
        {
            HideFromPlayer();
            GameScene.Instance.SelectNextOrbit();
        }
    }
Exemplo n.º 4
0
 public virtual void OnObjectPicked(PlayerBehaviour player, BaseOrbitObject orbitObject)
 {
     GameScene.Instance.Play(orbitObject.pickSound);
 }