Пример #1
0
    public void DetachFromParent()
    {
        _lastParent = parentApple;
        gameObject.transform.parent = null;
        parentApple = null;

        LaunchWorm();
    }
Пример #2
0
    public void CollidedWithApple(MonoBehaviour apple)
    {
        if (!_launched)
        {
            return;
        }
        AppleMechanics appleMechanics = apple as AppleMechanics;

        if (appleMechanics == _lastParent)
        {
            return;
        }
        parentApple = appleMechanics;

        float dot = Vector3.Dot(transform.up, (parentApple.transform.position - transform.position).normalized);

        if (dot > 0.98f)
        {
            this.OnPerfectJump.Raise();
        }
        else
        {
            this.OnJump.Raise();
        }

        this.MakeScore.Raise();

        if (appleMechanics.isGolden)
        {
            this.FillSuperBooster.Raise();
        }
        else
        {
            this.FillBooster.Raise();
        }

        AttachToParent(appleMechanics.transform);
    }