Ejemplo n.º 1
0
 void UpdateAnchor() {
     // rewriting anchor objects to make them easy accessible
     var anchor = MadTransform.FindParent<MadAnchor>(transform, 1);
     if (anchor != null) {
         anchorObject = anchor.anchorObject;
         anchorCamera = anchor.anchorCamera;
     }
 }
Ejemplo n.º 2
0
    // updates information about this bar position
    // this method is quite heavy, but it will only execute in editor and when application is not playing
    private void UpdatePanelInfo() {
        if (panel != null && Application.isEditor && !Application.isPlaying) {
            var topPanel = MadTransform.FindParent<MadPanel>(transform);
            bool nowUnderThePanel = topPanel == panel;

            underThePanel = nowUnderThePanel;
        }
    }
Ejemplo n.º 3
0
 static Transform ActiveParentOrPanel() {
     Transform parentTransform = null;
     
     var transforms = Selection.transforms;
     if (transforms.Length > 0) {
         var firstTransform = transforms[0];
         if (MadTransform.FindParent<MadPanel>(firstTransform) != null) {
             parentTransform = firstTransform;
         }
     }
     
     if (parentTransform == null) {
         var panel = MadPanel.UniqueOrNull();
         if (panel != null) {
             parentTransform = panel.transform;
         }
     }
     
     return parentTransform;
 }
Ejemplo n.º 4
0
    private void ReconnectPanelIfNeeded(bool firstTime) {
        if (panel == null) {
            panel = MadPanel.FirstOrNull(transform);
            if (panel == null && firstTime) {
                Debug.LogError("You have to initialize scene first! Please execute Tools -> Energy Bar Toolkit -> Initialize");
            } else {
                // check if now I am under the panel
                var topPanel = MadTransform.FindParent<MadPanel>(transform);
                bool nowUnderThePanel = topPanel == panel;

                // new scale should be applied if location of bar relative to panel has changed
                if (nowUnderThePanel && !underThePanel) {
                    // now is under the panel, but wasn't before
                    transform.localScale /= panel.transform.lossyScale.x;
                } else if (!nowUnderThePanel && underThePanel) {
                    // was under the panel before, now it isn't
                    transform.localScale *= panel.transform.lossyScale.x;
                }

                underThePanel = nowUnderThePanel;
            }
        }
    }
Ejemplo n.º 5
0
 protected MadAnchor GetAnchor()
 {
     return(MadTransform.FindParent <MadAnchor>(energyBarBase.transform, 0));
 }