public void AssociateWith(EnterTrigger triggerInfo) { if (triggerInfo.Action == EnterTrigger.Change.Grow) { growTriggers.Add(triggerInfo); } else { shrinkTriggers.Add(triggerInfo); } }
public void OnTrigger(EnterTrigger triggerInfo) { // Turn off the ceiling ceiling.enabled = false; // Check the action if (triggerInfo.Action == EnterTrigger.Change.Grow) { // Update stack ResizeParent.Instance.TierHistory.Add(ParentTier); ParentTier.ApplyTheme(); // Run event ResizeParent.Instance.Grow(growPoint); // Bind to growing events Singleton.Instance.OnUpdate += CheckIfPlayerIsBelowCeiling; Singleton.Instance.OnFixedUpdate += MovePlayerTowardsCenter; // Check if we should play the credits... if (lastHouse == true) { Singleton.Get <SceneTransitionManager>().LoadNextLevel(); } } else { // Run event Vector3 shrinkOrigin = triggerInfo.transform.position; shrinkOrigin += Quaternion.Euler(0f, Random.Range(0f, 360f), 0f) * offsetOnShrinkVector; ResizeParent.Instance.Shrink(shrinkOrigin); // Update stack if (ResizeParent.Instance.LatestTier == ParentTier) { ResizeParent.Instance.TierHistory.RemoveAt(ResizeParent.Instance.TierHistory.Count - 1); if (ResizeParent.Instance.LatestTier != null) { ResizeParent.Instance.LatestTier.ApplyTheme(); } } } }
private void OnTriggerEnter2D(Collider2D other) { EnterTrigger?.Invoke(other); }