public void DetachFromParent() { _lastParent = parentApple; gameObject.transform.parent = null; parentApple = null; LaunchWorm(); }
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); }