Exemplo n.º 1
0
    private void Start()
    {
        Adjust();

        //get ALL the buttons
        Button[] buttons = GetComponentsInChildren <Button>(true);
        foreach (Button b in buttons)
        {
            //play button SFX onClick
            b.onClick.AddListener(ButtonClick);
        }

        //get ALL the toggles
        Toggle[] toggles = GetComponentsInChildren <Toggle>(true);
        foreach (Toggle t in toggles)
        {
            //play toggle SFX onClick
            t.onValueChanged.AddListener(ToggleClick);
        }

        //get ALL the toggles
        Slider[] slider = GetComponentsInChildren <Slider>(true);
        foreach (Slider s in slider)
        {
            //play toggle SFX onClick
            PointerHandle fx = s.gameObject.AddComponent <PointerHandle>();
            fx.upAction   += SliderClick;
            fx.downAction += SliderClick;
        }
    }
Exemplo n.º 2
0
        public bool TryGet(out TExt result)
        {
            if (weakReference != null && weakReference.TryGetTarget(out result))
            {
                if (result.OwnerObject != IntPtr.Zero)
                {
                    return(true);
                }
            }
            else if (storedOwnerObject != null)
            {
                TExt ext = FindByPointer(storedOwnerObject.Pointer);
                if (ext != null)
                {
                    this.Set(ext);
                    result = ext;
                    return(true);
                }

                // can not find Target because target destroyed
                storedOwnerObject = null;
            }

            result = null;
            return(false);
        }
Exemplo n.º 3
0
 public static void Load <TBase, T>(this Extension <TBase> ext, IStream stream, ref PointerHandle <T> ptr)
 {
     if (ptr == null)
     {
         ptr = new PointerHandle <T>();
     }
     stream.Read(ref ptr.Pointer);
     ext.Swizzle(ref ptr.Pointer);
 }
Exemplo n.º 4
0
 public void Set(TExt ext)
 {
     if (weakReference == null)
     {
         weakReference     = new WeakReference <TExt>(ext);
         storedOwnerObject = null;
     }
     else
     {
         weakReference.SetTarget(ext);
     }
 }
Exemplo n.º 5
0
 private ExtensionReference(SerializationInfo info, StreamingContext context)
 {
     weakReference = null;
     try
     {
         IntPtr ownerObject = (IntPtr)info.GetInt32("OwnerObject");
         storedOwnerObject = new PointerHandle <IntPtr>(ownerObject);
         SwizzleManagerClass.Instance.Swizzle(ref storedOwnerObject.Pointer);
     }
     catch (SerializationException)
     {
         storedOwnerObject = null;
     }
 }
Exemplo n.º 6
0
 public ExtensionReference(TExt ext)
 {
     weakReference     = new WeakReference <TExt>(ext);
     storedOwnerObject = null;
 }
Exemplo n.º 7
0
 public static void Save <TBase, T>(this Extension <TBase> ext, IStream stream, PointerHandle <T> ptr)
 {
     stream.Write(ptr.Pointer);
 }