コード例 #1
0
    public virtual bool DidChange(EZScreenPlacement sp)
    {
        if (worldPos != sp.transform.position)
        {
            if (sp.allowTransformDrag)
            {
                // Calculate new screen position:
                sp.WorldToScreenPos(sp.transform.position);
            }
            else
            {
                sp.PositionOnScreen();
            }
            return(true);
        }
        if (screenPos != sp.screenPos)
        {
            return(true);
        }
        if (renderCamera != null && (screenSize.x != sp.renderCamera.pixelWidth || screenSize.y != sp.renderCamera.pixelHeight))
        {
            return(true);
        }
        if (!relativeTo.Equals(sp.relativeTo))
        {
            return(true);
        }
        if (renderCamera != sp.renderCamera)
        {
            return(true);
        }
        if (relativeObject != sp.relativeObject)
        {
#if UNITY_EDITOR
            // Remove ourselves as a dependent on the previous object:
            if (relativeObject != null)
            {
                EZScreenPlacement c = relativeObject.GetComponent <EZScreenPlacement>();
                if (c != null)
                {
                    c.RemoveDependent(sp);
                }
            }

            // Add ourselves as a dependent to the new object:
            if (sp.relativeObject != null)
            {
                EZScreenPlacement c = sp.relativeObject.GetComponent <EZScreenPlacement>();
                if (c != null)
                {
                    c.AddDependent(sp);
                }
            }
#endif
            return(true);
        }

        return(false);
    }
コード例 #2
0
 public void OnDestroy()
 {
     if (relativeObject != null)
     {
         EZScreenPlacement c = relativeObject.GetComponent <EZScreenPlacement>();
         if (c != null)
         {
             c.RemoveDependent(this);
         }
     }
 }
コード例 #3
0
    public virtual bool DidChange(EZScreenPlacement sp)
    {
        if (screenPos != sp.screenPos)
        {
            return(true);
        }
        if (!relativeTo.Equals(sp.relativeTo))
        {
            return(true);
        }
        if (relativeObject != sp.relativeObject)
        {
#if UNITY_EDITOR
            // Remove ourselves as a dependent on the previous object:
            if (relativeObject != null)
            {
                EZScreenPlacement c = relativeObject.GetComponent <EZScreenPlacement>();
                if (c != null)
                {
                    c.RemoveDependent(sp);
                }
            }

            // Add ourselves as a dependent to the new object:
            if (sp.relativeObject != null)
            {
                EZScreenPlacement c = sp.relativeObject.GetComponent <EZScreenPlacement>();
                if (c != null)
                {
                    c.AddDependent(sp);
                }
            }
#endif
            return(true);
        }

        return(false);
    }