コード例 #1
0
        /// <summary>
        /// Read the data into the specified value.
        /// </summary>
        /// <param name="value">Value.</param>
        /// <param name="reader">Reader.</param>
        public override void ReadInto(object value, ISaveGameReader reader)
        {
            UnityEngine.EventSystems.EventTrigger eventTrigger = (UnityEngine.EventSystems.EventTrigger)value;
            foreach (string property in reader.Properties)
            {
                switch (property)
                {
                case "triggers":
                    eventTrigger.triggers = reader.ReadProperty <System.Collections.Generic.List <UnityEngine.EventSystems.EventTrigger.Entry> > ();
                    break;

                case "useGUILayout":
                    eventTrigger.useGUILayout = reader.ReadProperty <System.Boolean> ();
                    break;

                case "enabled":
                    eventTrigger.enabled = reader.ReadProperty <System.Boolean> ();
                    break;

                case "tag":
                    eventTrigger.tag = reader.ReadProperty <System.String> ();
                    break;

                case "name":
                    eventTrigger.name = reader.ReadProperty <System.String> ();
                    break;

                case "hideFlags":
                    eventTrigger.hideFlags = reader.ReadProperty <UnityEngine.HideFlags> ();
                    break;
                }
            }
        }
コード例 #2
0
 /// <summary>
 /// Write the specified value using the writer.
 /// </summary>
 /// <param name="value">Value.</param>
 /// <param name="writer">Writer.</param>
 public override void Write(object value, ISaveGameWriter writer)
 {
     UnityEngine.EventSystems.EventTrigger eventTrigger = (UnityEngine.EventSystems.EventTrigger)value;
     writer.WriteProperty("triggers", eventTrigger.triggers);
     writer.WriteProperty("useGUILayout", eventTrigger.useGUILayout);
     writer.WriteProperty("enabled", eventTrigger.enabled);
     writer.WriteProperty("tag", eventTrigger.tag);
     writer.WriteProperty("name", eventTrigger.name);
     writer.WriteProperty("hideFlags", eventTrigger.hideFlags);
 }
コード例 #3
0
        /// <summary>
        /// Create an EventTriggerQuick object from a GameObject.
        ///
        /// Extension method to GameObject.
        /// </summary>
        /// <param name="go">The GameObject to extract the EventTriggerQuick from.</param>
        /// <returns>The requested EventTriggerQuick object.</returns>
        /// <remarks>If the GameObject does not have an EventTrigger, one is automatically added.</remarks>
        public static EventTriggerQuick ETQ(this GameObject go)
        {
            UnityEngine.EventSystems.EventTrigger et = go.GetComponent <UnityEngine.EventSystems.EventTrigger>();
            if (et == null)
            {
                et = go.AddComponent <UnityEngine.EventSystems.EventTrigger>();
            }

            return(new EventTriggerQuick(et));
        }
コード例 #4
0
        void SetupEvents()
        {
            UnityEngine.EventSystems.EventTrigger trigger = this.GetComponent <UnityEngine.EventSystems.EventTrigger>() ?? this.gameObject.AddComponent <UnityEngine.EventSystems.EventTrigger>();

            var onDrag = new UnityEngine.EventSystems.EventTrigger.Entry {
                eventID = UnityEngine.EventSystems.EventTriggerType.Drag
            };

            onDrag.callback.AddListener((e) => OnDrag(e as UnityEngine.EventSystems.PointerEventData));
            trigger.triggers.Add(onDrag);
        }
コード例 #5
0
        static int _g_get_triggers(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

            try {
                UnityEngine.EventSystems.EventTrigger __cl_gen_to_be_invoked = (UnityEngine.EventSystems.EventTrigger)translator.FastGetCSObj(L, 1);
                translator.Push(L, __cl_gen_to_be_invoked.triggers);
            } catch (System.Exception __gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + __gen_e));
            }
            return(1);
        }
コード例 #6
0
        static int _s_set_triggers(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

            try {
                UnityEngine.EventSystems.EventTrigger __cl_gen_to_be_invoked = (UnityEngine.EventSystems.EventTrigger)translator.FastGetCSObj(L, 1);
                __cl_gen_to_be_invoked.triggers = (System.Collections.Generic.List <UnityEngine.EventSystems.EventTrigger.Entry>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List <UnityEngine.EventSystems.EventTrigger.Entry>));
            } catch (System.Exception __gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + __gen_e));
            }
            return(0);
        }
        static StackObject *get_triggers_1(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.EventSystems.EventTrigger instance_of_this_method = (UnityEngine.EventSystems.EventTrigger) typeof(UnityEngine.EventSystems.EventTrigger).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.triggers;

            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
コード例 #8
0
        void SetupEvents()
        {
            UnityEngine.EventSystems.EventTrigger trigger = this.GetComponent <UnityEngine.EventSystems.EventTrigger>() ?? this.gameObject.AddComponent <UnityEngine.EventSystems.EventTrigger>();

            var onPointerEnter = new UnityEngine.EventSystems.EventTrigger.Entry {
                eventID = UnityEngine.EventSystems.EventTriggerType.PointerEnter
            };
            var onPointerExit = new UnityEngine.EventSystems.EventTrigger.Entry {
                eventID = UnityEngine.EventSystems.EventTriggerType.PointerExit
            };

            onPointerEnter.callback.AddListener((e) => OnPointerEnter());
            onPointerExit.callback.AddListener((e) => OnPointerExit());

            trigger.triggers.Add(onPointerEnter);
            trigger.triggers.Add(onPointerExit);
        }
        static StackObject *OnCancel_18(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.EventSystems.BaseEventData @eventData = (UnityEngine.EventSystems.BaseEventData) typeof(UnityEngine.EventSystems.BaseEventData).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            UnityEngine.EventSystems.EventTrigger instance_of_this_method = (UnityEngine.EventSystems.EventTrigger) typeof(UnityEngine.EventSystems.EventTrigger).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.OnCancel(@eventData);

            return(__ret);
        }
        static StackObject *set_triggers_1(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Collections.Generic.List <UnityEngine.EventSystems.EventTrigger.Entry> @value = (System.Collections.Generic.List <UnityEngine.EventSystems.EventTrigger.Entry>) typeof(System.Collections.Generic.List <UnityEngine.EventSystems.EventTrigger.Entry>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            UnityEngine.EventSystems.EventTrigger instance_of_this_method = (UnityEngine.EventSystems.EventTrigger) typeof(UnityEngine.EventSystems.EventTrigger).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.triggers = value;

            return(__ret);
        }
        static StackObject *get_triggers_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.EventSystems.EventTrigger instance_of_this_method = (UnityEngine.EventSystems.EventTrigger) typeof(UnityEngine.EventSystems.EventTrigger).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.triggers;

            object obj_result_of_this_method = result_of_this_method;

            if (obj_result_of_this_method is CrossBindingAdaptorType)
            {
                return(ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance));
            }
            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
コード例 #12
0
        static int _m_OnPointerExit(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


            UnityEngine.EventSystems.EventTrigger __cl_gen_to_be_invoked = (UnityEngine.EventSystems.EventTrigger)translator.FastGetCSObj(L, 1);


            try {
                {
                    UnityEngine.EventSystems.PointerEventData eventData = (UnityEngine.EventSystems.PointerEventData)translator.GetObject(L, 2, typeof(UnityEngine.EventSystems.PointerEventData));

                    __cl_gen_to_be_invoked.OnPointerExit(eventData);



                    return(0);
                }
            } catch (System.Exception __gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + __gen_e));
            }
        }
コード例 #13
0
        static int _m_OnCancel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                UnityEngine.EventSystems.EventTrigger gen_to_be_invoked = (UnityEngine.EventSystems.EventTrigger)translator.FastGetCSObj(L, 1);



                {
                    UnityEngine.EventSystems.BaseEventData _eventData = (UnityEngine.EventSystems.BaseEventData)translator.GetObject(L, 2, typeof(UnityEngine.EventSystems.BaseEventData));

                    gen_to_be_invoked.OnCancel(_eventData);



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
コード例 #14
0
        /// <summary>
        /// Create a retrieve an EventTrigger.Entry from an EventTrigger.
        ///
        /// Extension method to EventTrigger.
        /// </summary>
        /// <param name="et">The EventTrigger to process.</param>
        /// <param name="ty">The type of event to retrieve.</param>
        /// <returns>The EventTrigger.Entry of event type ty in the EventTrigger.</returns>
        /// <remarks>If the EventTrigger does not contain the event, one is created.</remarks>
        public static UnityEngine.EventSystems.EventTrigger.Entry GetEntry(
            this UnityEngine.EventSystems.EventTrigger et,
            UnityEngine.EventSystems.EventTriggerType ty)
        {
            if (et.triggers == null)
            {
                et.triggers = new List <UnityEngine.EventSystems.EventTrigger.Entry>();
            }

            foreach (UnityEngine.EventSystems.EventTrigger.Entry e in et.triggers)
            {
                if (e.eventID == ty)
                {
                    return(e);
                }
            }

            UnityEngine.EventSystems.EventTrigger.Entry ret = new UnityEngine.EventSystems.EventTrigger.Entry();
            ret.eventID = ty;

            et.triggers.Add(ret);
            return(ret);
        }
コード例 #15
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="et">The EventTrigger to focus the methods on.</param>
 public EventTriggerQuick(UnityEngine.EventSystems.EventTrigger et)
 {
     this.trigger = et;
 }
コード例 #16
0
            public void Create(FileBrowseProp prop, FileBrowser browser)
            {
                this.prop    = prop;
                this.browser = browser;

                //
                //      NAV BUTTONS
                ////////////////////////////////////////////////////////////////////////////////
                this.backBtn = this.prop.CreateButton(this.transform, "");
                if (this.prop.navBackSprite != null)
                {
                    FileBrowseProp.CreateCenteredImage(this.prop.navBackSprite, backBtn.transform, Vector2.zero);
                }

                this.backBtn.onClick.AddListener(() => { this.browser.HistoryGoBack(); });

                this.fwdBtn = this.prop.CreateButton(this.transform, "");
                if (this.prop.navForwardSprite != null)
                {
                    FileBrowseProp.CreateCenteredImage(this.prop.navForwardSprite, fwdBtn.transform, Vector2.zero);
                }

                this.fwdBtn.onClick.AddListener(() => { this.browser.HistoryGoForward(); });

                this.upBtn = this.prop.CreateButton(this.transform, "UpButton");
                if (this.prop.navUpSprite != null)
                {
                    FileBrowseProp.CreateCenteredImage(this.prop.navUpSprite, upBtn.transform, Vector2.zero);
                }

                this.upBtn.onClick.AddListener(() => { this.browser.NavigateParent(); });

                //
                //      Edit Location
                ////////////////////////////////////////////////////////////////////////////////

                GameObject goLoc = new GameObject("EditLoc");

                goLoc.transform.SetParent(this.transform);
                goLoc.transform.localRotation = Quaternion.identity;
                goLoc.transform.localScale    = Vector3.one;
                UnityEngine.UI.Image editPlate = goLoc.AddComponent <UnityEngine.UI.Image>();
                editPlate.sprite = this.prop.inputPlateSprite;
                editPlate.type   = UnityEngine.UI.Image.Type.Sliced;
                RectTransform rtEditPlate = editPlate.rectTransform;

                rtEditPlate.anchorMin = Vector2.zero;
                rtEditPlate.anchorMax = Vector2.one;
                rtEditPlate.pivot     = new Vector2(0.0f, 1.0f);
                rtEditPlate.offsetMin = Vector2.zero;
                rtEditPlate.offsetMax = Vector2.zero;

                this.prop.inputText.Create(goLoc.transform, out this.textInput, "", "InputText");
                this.textInput.alignment = TextAnchor.MiddleLeft;
                RectTransform rtInputTxt = this.textInput.rectTransform;

                rtInputTxt.anchorMin = Vector2.zero;
                rtInputTxt.anchorMax = Vector2.one;
                rtInputTxt.pivot     = new Vector2(0.0f, 1.0f);
                rtInputTxt.offsetMin = new Vector2(this.prop.inputPadding, 0.0f);
                rtInputTxt.offsetMax = new Vector2(-this.prop.inputPadding, 0.0f);

                this.editInput = goLoc.AddComponent <UnityEngine.UI.InputField>();
                this.editInput.targetGraphic = editPlate;
                this.editInput.textComponent = this.textInput;
                this.editInput.onEndEdit.AddListener(
                    (x) =>
                {
                    this.OnInput_PathEndEdit(x);
                });
                this.editInput.lineType = UnityEngine.UI.InputField.LineType.MultiLineSubmit;

                this.DisableInput();

                UnityEngine.EventSystems.EventTrigger et = goLoc.AddComponent <UnityEngine.EventSystems.EventTrigger>();
                et.triggers = new List <UnityEngine.EventSystems.EventTrigger.Entry>();
                UnityEngine.EventSystems.EventTrigger.Entry evtMDown = new UnityEngine.EventSystems.EventTrigger.Entry();
                evtMDown.eventID = UnityEngine.EventSystems.EventTriggerType.PointerClick;
                evtMDown.callback.AddListener(
                    (x) =>
                {
                    this.OnButton_PathClick((UnityEngine.EventSystems.PointerEventData)x);
                });
                et.triggers.Add(evtMDown);

                this.created = true;

                this.RefreshNavigationButtonsInteractivity();
            }
コード例 #17
0
ファイル: DockedTab.cs プロジェクト: Reavenk/UIDock_Core
        /// <summary>
        /// Retrieve a cached TabAssets for a specific window in the tab system - or
        /// create and store a new one if none currently exist.
        /// </summary>
        /// <param name="tabbedWin">The window to retrive the assets for.</param>
        /// <param name="rt">The RectTransform to put parent the assets in if they're being created. </param>
        /// <param name="props">The properties used to give the assets if they're being created.</param>
        /// <returns></returns>
        public TabsAssets GetTabAssets(Dock tabbedWin, RectTransform parent, DockProps props)
        {
            TabsAssets ret;

            if (this.assetLookup.TryGetValue(tabbedWin, out ret) == true)
            {
                return(ret);
            }

            ret = new TabsAssets();

            GameObject goTab = new GameObject("Tab asset");

            goTab.transform.SetParent(parent);
            ret.notebookTab        = goTab.AddComponent <UnityEngine.UI.Image>();
            ret.notebookTab.sprite = props.tabs.tabPlate;
            ret.notebookTab.type   = UnityEngine.UI.Image.Type.Sliced;
            RectTransform rtTab = ret.notebookTab.rectTransform;

            rtTab.anchorMin = new Vector2(0.0f, 1.0f);
            rtTab.anchorMax = new Vector2(0.0f, 1.0f);
            rtTab.pivot     = new Vector2(0.0f, 1.0f);
            goTab.AddComponent <UnityEngine.UI.Mask>();

            ret.notebookButton = goTab.AddComponent <UnityEngine.UI.Button>();
            ret.notebookButton.onClick.AddListener(
                () =>
            {
                this.dock.activeTab = tabbedWin;
                this.HandleDock();
            });

            // Prevent locked windows from being ripped from the tab system. The issue here is
            // that if it's ripped, then it should turn to a floating window, which locked windows
            // can't.
            if (tabbedWin.window.Locked == false)
            {
                // If the tag is being dragged, redirect it to the window to
                // initiate a pull-off.
                UnityEngine.EventSystems.EventTrigger etTab = goTab.AddComponent <UnityEngine.EventSystems.EventTrigger>();
                etTab.triggers = new List <UnityEngine.EventSystems.EventTrigger.Entry>();
                UnityEngine.EventSystems.EventTrigger.Entry dragEnt = new UnityEngine.EventSystems.EventTrigger.Entry();
                dragEnt.eventID = UnityEngine.EventSystems.EventTriggerType.BeginDrag;
                dragEnt.callback.AddListener(
                    (x) =>
                {
                    UnityEngine.EventSystems.PointerEventData evt =
                        x as UnityEngine.EventSystems.PointerEventData;

                    // Transform the point from the tab, to the window about to be ripped.
                    Vector2 mouseInTab = goTab.transform.worldToLocalMatrix.MultiplyPoint(evt.position);
                    evt.position       = tabbedWin.window.transform.localToWorldMatrix.MultiplyPoint(mouseInTab);

                    // Make sure it's active before handoff. Will be inactive if not the main tab.
                    tabbedWin.window.gameObject.SetActive(true);

                    // Do handoff
                    evt.dragging    = true;
                    evt.pointerDrag = tabbedWin.window.gameObject;

                    // Force titlebar drag state
                    Window._StartOutsideDrag(Window.FrameDrag.Position, tabbedWin.window, Vector2.zero);

                    // Make sure it handles OnBeginDrag - certain important drag things are
                    // initialized there.
                    UnityEngine.EventSystems.IBeginDragHandler dragBegin = tabbedWin.window;
                    dragBegin.OnBeginDrag(evt);
                    // Reset styles + shadow
                    this.root.UndockWindow(tabbedWin.window);
                });
                etTab.triggers.Add(dragEnt);
            }

            if (tabbedWin.window.Closable == true &&
                tabbedWin.window.Locked == false)
            {
                GameObject goCloseBtn = new GameObject("CloseButton");
                goCloseBtn.transform.SetParent(rtTab);
                ret.closeButton        = goCloseBtn.AddComponent <UnityEngine.UI.Image>();
                ret.closeButton.sprite = props.tabs.innerTabBtn;
                ret.closeButton.type   = UnityEngine.UI.Image.Type.Sliced;
                RectTransform rtCloseBtn = ret.closeButton.rectTransform;
                rtCloseBtn.anchorMin = new Vector2(1.0f, 0.0f);
                rtCloseBtn.anchorMax = new Vector2(1.0f, 1.0f);
                rtCloseBtn.offsetMin =
                    new Vector2(
                        -this.root.props.tabs.closeBorderRight - this.root.props.tabs.closeWidth,
                        this.root.props.tabs.closeBorderVert);
                rtCloseBtn.offsetMax =
                    new Vector2(
                        -this.root.props.tabs.closeBorderRight,
                        -this.root.props.tabs.closeBorderVert);

                UnityEngine.UI.Button closeBtn = goCloseBtn.AddComponent <UnityEngine.UI.Button>();
                closeBtn.onClick.AddListener(
                    () =>
                {
                    this.root.CloseWindow(tabbedWin.window);
                });

                if (props.tabs.closeWindowIcon != null)
                {
                    GameObject goCloseIco = new GameObject("Close");
                    goCloseIco.transform.SetParent(rtCloseBtn);
                    UnityEngine.UI.Image imgCloseIco = goCloseIco.AddComponent <UnityEngine.UI.Image>();
                    RectTransform        rtClIco     = imgCloseIco.rectTransform;
                    imgCloseIco.sprite       = props.tabs.closeWindowIcon;
                    rtClIco.anchorMin        = new Vector2(0.5f, 0.5f);
                    rtClIco.anchorMax        = new Vector2(0.5f, 0.5f);
                    rtClIco.pivot            = new Vector2(0.5f, 0.5f);
                    rtClIco.anchoredPosition = Vector2.zero;
                    rtClIco.sizeDelta        = props.tabs.closeWindowIcon.rect.size;
                }
            }

            GameObject goText = new GameObject("Text");

            goText.transform.SetParent(rtTab);
            ret.label                    = goText.AddComponent <UnityEngine.UI.Text>();
            ret.label.text               = tabbedWin.window.TitlebarText;
            ret.label.color              = props.tabs.tabFontColor;
            ret.label.fontSize           = props.tabs.tabFontSize;
            ret.label.verticalOverflow   = VerticalWrapMode.Truncate;
            ret.label.horizontalOverflow = HorizontalWrapMode.Wrap;
            ret.label.alignment          = TextAnchor.MiddleCenter;
            ret.label.font               = props.tabs.tabFont;
            RectTransform rtLabel = ret.label.rectTransform;

            rtLabel.anchorMin = Vector2.zero;
            rtLabel.anchorMax = Vector2.one;
            rtLabel.offsetMin = Vector2.zero;
            rtLabel.offsetMax = new Vector2(-this.root.props.tabs.closeBorderRight - this.root.props.tabs.closeWidth, 0.0f);
            rtLabel.pivot     = new Vector2(0.5f, 0.5f);

            this.assetLookup.Add(tabbedWin, ret);
            return(ret);
        }
コード例 #18
0
 /// <summary>
 /// Read the data using the reader.
 /// </summary>
 /// <param name="reader">Reader.</param>
 public override object Read(ISaveGameReader reader)
 {
     UnityEngine.EventSystems.EventTrigger eventTrigger = SaveGameType.CreateComponent <UnityEngine.EventSystems.EventTrigger> ();
     ReadInto(eventTrigger, reader);
     return(eventTrigger);
 }