Podium UpdateParentItem(ResizeParent obj, ResizingTier parentItem, Vector3 finalScale) { // Grab the parent podium Podium parentPodium = ResizeParent.Instance.PathToPodiumMap[new ResizeParent.TierPath(parentItem, ParentTier)]; // Reset the size of the parent item parentItem.transform.SetParent(null, true); parentItem.transform.localScale = Vector3.one; // Setup the resize helper to the proportions of the podium ResizeParent.Instance.ResizeHelper.transform.SetParent(parentPodium.itemPlacement, false); ResizeParent.Instance.ResizeHelper.transform.localPosition = Vector3.zero; ResizeParent.Instance.ResizeHelper.transform.localScale = Vector3.one; ResizeParent.Instance.ResizeHelper.transform.localRotation = Quaternion.identity; // Parent the parentTier to the resize helper ResizeParent.Instance.ResizeHelper.transform.SetParent(null, true); parentItem.transform.SetParent(ResizeParent.Instance.ResizeHelper.transform, true); // Position and resize the resize helper ResizeParent.Instance.ResizeHelper.transform.localScale = finalScale; ResizeParent.Instance.ResizeHelper.transform.position = ParentTier.transform.position; // Update the tier of this object parentItem.CurrentTier = ThisTier - 1; // De-parent parentItem.transform.SetParent(null, true); return(parentPodium); }
private void Instance_OnBeforeResize(ResizeParent obj) { if (IsActive(obj) == true) { // Parent this to the resize parent gameObject.SetActive(true); transform.SetParent(obj.transform, true); } else if ((obj.currentDirection == ResizeParent.ResizeDirection.Shrinking) && ((obj.CurrentTier + 2) == CurrentTier)) { // Leave this object visible gameObject.SetActive(true); transform.SetParent(obj.transform, true); } else if ((obj.currentDirection == ResizeParent.ResizeDirection.Growing) && ((obj.CurrentTier - 2) == CurrentTier)) { // Leave this object visible gameObject.SetActive(true); transform.SetParent(obj.transform, true); } else { gameObject.SetActive(false); } }
static ResizingTier SetupParent(ResizeParent obj, Podium parentPodium, int stackIndexFromTop) { // Check if there is at least one more parent above this ResizingTier parentItem = null; if (ResizeParent.Instance.TierHistory.Count >= stackIndexFromTop) { parentItem = ResizeParent.Instance.TierHistory[ResizeParent.Instance.TierHistory.Count - stackIndexFromTop]; } if ((parentItem != null) && (parentPodium.parentItems.Contains(parentItem) == true) && (parentPodium.ThisTier > 0)) { // Setup this new parent as well parentPodium.UpdateParentItem(obj, parentItem, ResizeParent.Instance.GrowScaleVector); // Update the parent podum's embedded elements foreach (Podium podium in ResizeParent.Instance.AllPodiumsPerTier[parentPodium.ParentTier]) { if (podium != parentPodium) { podium.UpdateEmbedItem(obj); } } } return(parentItem); }
protected virtual void OnAfterResize(ResizeParent obj) { if ((trigger != null) && (gameObject.activeInHierarchy == true)) { trigger.IsEnabled = (obj.CurrentTier == ThisTier); } UpdateAnimation(); }
private void Instance_OnAfterResize(ResizeParent obj) { if ((trigger != null) && (gameObject.activeInHierarchy == true)) { trigger.IsEnabled = (obj.CurrentTier == InteractiveTier); } UpdateParticles(); }
private void Instance_OnAfterResize(ResizeParent obj) { if (embedItem != null) { // Un-embed embedItem.transform.SetParent(null, true); } }
protected virtual void OnBeforeResize(ResizeParent obj) { if ((trigger != null) && (gameObject.activeInHierarchy == true)) { trigger.IsEnabled = false; OnGazeExit(null); } UpdateAnimation(); }
protected override void Instance_OnAfterResize(ResizeParent obj) { base.Instance_OnAfterResize(obj); if (trigger != null) { trigger.IsEnabled = (obj.CurrentTier == ThisTier); } }
private void Instance_OnBeforeResize(ResizeParent obj) { if ((trigger != null) && (gameObject.activeInHierarchy == true)) { trigger.IsEnabled = false; OnGazeExit(null); } UpdateParticles(); }
protected override void Instance_OnBeforeResize(ResizeParent obj) { base.Instance_OnBeforeResize(obj); if (trigger != null) { trigger.IsEnabled = false; OnGazeExit(null); } }
protected override void Instance_OnBeforeResize(ResizeParent obj) { base.Instance_OnBeforeResize(obj); if (readyTrigger != null) { readyTrigger.IsEnabled = false; ResetGaze(); } }
private void OnAfterResize(ResizeParent obj) { // Enable body body.isKinematic = false; //if ((obj.CurrentTier - ThisTier) <= MaxTierDistance) //{ // randomVelocity.y = Random.Range(0, startingForce); // body.AddForce(randomVelocity, ForceMode.VelocityChange); // body.AddRelativeTorque(Random.insideUnitSphere * startingTorque, ForceMode.VelocityChange); //} }
private void OnBeforeResize(ResizeParent obj) { // Disable body movement body.isKinematic = true; // Check if this object should now be out of view if ((obj.CurrentTier - ThisTier) > MaxTierDistance) { body.velocity = Vector3.zero; transform.localPosition = originalLocalPosition; transform.localRotation = originalLocalRotation; } }
public void ExtraSetup(ResizeParent obj) { if (IsActive(obj) == true) { // Un-embed gameObject.SetActive(true); transform.SetParent(null, true); } else { gameObject.SetActive(false); } }
void UpdateEmbedItem(ResizeParent obj) { // If so, embed this tier to itemPlacement first embedItem.transform.SetParent(itemPlacement, false); embedItem.transform.localPosition = Vector3.zero; embedItem.transform.localScale = Vector3.one; embedItem.transform.localRotation = Quaternion.identity; // Update the tier of this object embedItem.CurrentTier = ThisTier + 1; // Parent this to the resize parent embedItem.transform.SetParent(obj.transform, true); }
private bool IsLabelVisible(ResizeParent obj) { bool returnFlag = false; switch (giveLabelsClarityOn) { case TierComparison.ParentTier: returnFlag = (obj.CurrentTier > ThisTier + 1); break; default: returnFlag = (obj.CurrentTier > ThisTier); break; } return(returnFlag); }
private void Instance_OnBeforeResize(ResizeParent obj) { foreach (EnterTrigger trigger in growTriggers) { trigger.IsEnabled = false; } foreach (EnterTrigger trigger in shrinkTriggers) { trigger.IsEnabled = false; } // Turn on the ceiling if ((ThisTier == obj.CurrentTier) && (obj.currentDirection == ResizeParent.ResizeDirection.Shrinking)) { ceiling.enabled = true; } }
public void ExtraSetup(ResizeParent obj) { // Do embedded setup Instance_OnBeforeResize(obj); Instance_OnAfterResize(obj); // Update parents if ((embedItem != null) && (obj.AllPodiumsPerTier.ContainsKey(embedItem) == true)) { // Go through all the podiums in the embedded tier foreach (Podium childPodium in obj.AllPodiumsPerTier[embedItem]) { // Set their parent to this tier childPodium.parentItems.Add(ParentTier); } } }
protected override void Instance_OnBeforeResize(ResizeParent obj) { // Call base function base.Instance_OnBeforeResize(obj); if ((interactiveIndicator != null) && (HeldIn != null)) { if ((obj.CurrentTier == HeldIn.InteractiveTier) && (HeldIn.ThisType != ItemHolder.Type.Player)) { interactiveIndicator.Play(); } else { interactiveIndicator.Stop(); } } }
protected virtual void Instance_OnBeforeResize(ResizeParent obj) { // Check if this code is super large if (ThisTier >= 0) { foreach (RectTransform canvas in canvases) { if (IsLabelVisible(obj) == true) { MakeLabelClear(canvas); } else { MakeLabelFuzzy(canvas); } } } }
private void Instance_OnBeforeResize(ResizeParent obj) { if (ResizeParent.Instance.LatestTier == ParentTier) { if (obj.currentDirection == ResizeParent.ResizeDirection.Shrinking) { if ((ThisTier - 1) == obj.CurrentTier) { // Setup one parent up ResizingTier parentItemLevel0 = SetupParent(obj, this, 2); ResizingTier parentItemLevel1 = null; if (parentItemLevel0 != null) { // Grab the next parent up Podium parentPodium = UpdateParentItem(obj, parentItemLevel0, ResizeParent.Instance.ShrinkScaleVector); // Setup the 2nd level parent parentItemLevel1 = SetupParent(obj, parentPodium, 3); } // Parent this to the resize parent if (parentItemLevel0 != null) { parentItemLevel0.transform.SetParent(obj.transform, true); } if (parentItemLevel1 != null) { parentItemLevel1.transform.SetParent(obj.transform, true); } } } else { if ((embedItem != null) && (ThisTier == obj.CurrentTier)) { // Check if this object is only one step smaller than the current tier UpdateEmbedItem(obj); } } } }
private void Instance_OnAfterResize(ResizeParent obj) { if (obj.CurrentTier == ThisTier) { foreach (EnterTrigger trigger in shrinkTriggers) { trigger.IsEnabled = true; } } else if ((obj.CurrentTier + 1) == ThisTier) { foreach (EnterTrigger trigger in growTriggers) { trigger.IsEnabled = true; } } foreach (EnterTrigger trigger in shrinkTriggers) { trigger.gameObject.SetActive((ThisTier > 0) && (enabledSpring == true)); } }
bool IsActive(ResizeParent obj) { return(Mathf.Abs(obj.CurrentTier - CurrentTier) <= 1); }
protected virtual void Instance_OnAfterResize(ResizeParent obj) { UpdateAnimation(); }