Example #1
0
    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);
    }
Example #2
0
    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);
    }
 protected override void OnThisTierChanged(ResizingTier obj)
 {
     if (labelCache == null)
     {
         labelCache = GetComponent <CodeLabel>();
     }
     labelCache.OnTierChanged();
 }
    protected override void OnThisTierChanged(ResizingTier obj)
    {
        base.OnThisTierChanged(obj);

        if (trigger != null)
        {
            trigger.IsEnabled = (obj.CurrentTier == ThisTier);
        }
    }
 protected override void OnThisTierChanged(ResizingTier obj)
 {
     if ((trigger != null) && (gameObject.activeInHierarchy == true))
     {
         trigger.IsEnabled = false;
         OnGazeExit(null);
     }
     //AssociatedCode.OnTierChanged();
     UpdateAnimation();
 }
 protected override void OnThisTierChanged(ResizingTier obj)
 {
     // If holding an item, change this item's tier value
     // (or do it automatically from the item's perspective)
     if (HoldingItem != null)
     {
         HoldingItem.OnTierChanged();
     }
     UpdateParticles();
     Instance_OnAfterResize(ResizeParent.Instance);
 }
Example #7
0
    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);
                }
            }
        }
    }
 protected override void OnThisTierChanged(ResizingTier obj)
 {
     Instance_OnAfterResize(ResizeParent.Instance);
 }
 protected abstract void OnThisTierChanged(ResizingTier obj);
 public TierPath(ResizingTier start, ResizingTier end)
 {
     this.start = start;
     this.end   = end;
 }
Example #11
0
 protected override void OnThisTierChanged(ResizingTier obj)
 {
     // Do nothing
 }
Example #12
0
 protected override void OnThisTierChanged(ResizingTier obj)
 {
     // Do nothing
     //throw new NotImplementedException();
 }
Example #13
0
 protected override void OnThisTierChanged(ResizingTier obj)
 {
     UpdateAnimation();
 }