public void AttemptGrabToggle(GameObject projectedCursor) { if (!isGrabbed) { if (chesterRequirement <= currentCollisions.Count) { isGrabbed = true; ChesterLerp.EnableNavigation(); OnGrab(); if (SuccessEventScript != null) { SuccessEventScript.SomethingHappensHere(); } } else { isGrabbed = false; if (FailureEventScript != null) { FailureEventScript.SomethingHappensHere(); } } } else { isGrabbed = false; ChesterLerp.DisableNavigation(); OnRelease(true); } }
private void OnTriggerEnter2D(Collider2D other) { if (GameObject.ReferenceEquals(matchingBridge, other.gameObject)) { ChesterAILerp lerper = other.gameObject.GetComponent <ChesterAILerp>(); if (lerper != null && lerper.canMove) { lerper.DisableNavigation(); other.gameObject.GetComponent <GrabbableController>().OnRelease(); if (cloud != null) { cloud.PlaceAndAnimate((cloudPlacer != null) ? cloudPlacer.transform : gameObject.transform); } other.gameObject.SetActive(false); //Play VFX Animation Here if (optionalEventScript != null) { optionalEventScript.SomethingHappensHere(); } if (execSelfHide) { SelfHide(); } } } }
private void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.CompareTag(UngrabThisTag)) { ChesterAILerp lerper = other.gameObject.GetComponent <ChesterAILerp>(); if (lerper != null) { lerper.DisableNavigation(); Vector3 drop = dropOff.position; other.gameObject.transform.SetPositionAndRotation(drop, Quaternion.identity); } } }