Esempio n. 1
0
        IEnumerator DownLoadAssetBundleByBuffer(string url, UnityEngine.Events.UnityAction <byte[]> cb, UnityEngine.Events.UnityAction onFailed)
        {
            using (UnityWebRequest www = UnityWebRequest.Get(url))
            {
                DownloadHandlerBuffer handler = new DownloadHandlerBuffer();
                www.downloadHandler = handler;
                yield return(www.Send());

                if (www.isError)
                {
                    LoggerManager.Instance().LogErrorFormat("DownLoadAssetBundleByBuffer Failed:{0} url={1}", www.error, url);

                    if (null != onFailed)
                    {
                        onFailed.Invoke();
                    }
                }
                else
                {
                    LoggerManager.Instance().LogFormat("DownLoadAssetBundleByBuffer Succeed : Length = {0} ...", handler.data.Length);

                    if (null != cb)
                    {
                        cb.Invoke(www.downloadHandler.data);
                    }
                }
            }
        }
Esempio n. 2
0
 public void RemoveInputOnValueChanged(UnityEngine.Events.UnityAction <string> func)
 {
     if (this.gameObject.GetComponent <InputField> () != null)
     {
         this.gameObject.GetComponent <InputField> ().onValueChanged.RemoveListener(func);
     }
 }
 public void UnregisterSpriteChangeCallback(UnityEngine.Events.UnityAction <SpriteRenderer> callback)
 {
     if (m_SpriteChangeEvent != null)
     {
         m_SpriteChangeEvent.RemoveListener(callback);
     }
 }
 /// <summary>
 /// toggle事件绑定并返回本身
 /// </summary>
 /// <param name="toggle"></param>
 /// <param name="fun"></param>
 public static void AddToggleEvent(Toggle toggle, UnityEngine.Events.UnityAction <bool> fun)
 {
     toggle.onValueChanged.AddListener((isOn) =>
     {
         fun(isOn);
     });
 }
Esempio n. 5
0
 public void AddToggleOnValueChanged(UnityEngine.Events.UnityAction <bool> func)
 {
     if (this.gameObject.GetComponent <Toggle> () != null)
     {
         this.gameObject.GetComponent <Toggle> ().onValueChanged.AddListener(func);
     }
 }
Esempio n. 6
0
 public void RemoveScrollOnValueChanged(UnityEngine.Events.UnityAction <Vector2> func)
 {
     if (this.gameObject.GetComponent <ScrollRect> () != null)
     {
         this.gameObject.GetComponent <ScrollRect> ().onValueChanged.RemoveListener(func);
     }
 }
Esempio n. 7
0
 private static System.Collections.IEnumerator OnDelayCallEndOfFrame(object obj, UnityEngine.Events.UnityAction <object> rFunc)
 {
     yield return(new WaitForEndOfFrame()); if (rFunc != null)
     {
         rFunc(obj);
     }
 }
Esempio n. 8
0
 public void RemoveSliderOnValueChanged(UnityEngine.Events.UnityAction <float> func)
 {
     if (this.gameObject.GetComponent <Slider> () != null)
     {
         this.gameObject.GetComponent <Slider> ().onValueChanged.RemoveListener(func);
     }
 }
 public void RegisterSpriteChangeCallback(UnityEngine.Events.UnityAction <SpriteRenderer> callback)
 {
     if (m_SpriteChangeEvent == null)
     {
         m_SpriteChangeEvent = new UnityEvent <SpriteRenderer>();
     }
     m_SpriteChangeEvent.AddListener(callback);
 }
 static public UnityEngine.Events.UnityAction <Vector2> Vec2Delegate(LuaFunction func)
 {
     UnityEngine.Events.UnityAction <Vector2> d = (arg0) =>
     {
         func.Call <Vector2>(arg0);
     };
     return(d);
 }
 static public UnityEngine.Events.UnityAction <bool> BoolDelegate(LuaFunction func)
 {
     UnityEngine.Events.UnityAction <bool> d = (arg0) =>
     {
         func.Call <bool>(arg0);
     };
     return(d);
 }
 static public UnityEngine.Events.UnityAction <float> FloatDelegate(LuaFunction func)
 {
     UnityEngine.Events.UnityAction <float> d = (arg0) =>
     {
         func.Call <float>(arg0);
     };
     return(d);
 }
 static public UnityEngine.Events.UnityAction <String> StringDelegate(LuaFunction func)
 {
     UnityEngine.Events.UnityAction <String> d = (arg0) =>
     {
         func.Call <String>(arg0);
     };
     return(d);
 }
 static public UnityEngine.Events.UnityAction <BaseEventData> BaseEventDelegate(LuaFunction func)
 {
     UnityEngine.Events.UnityAction <BaseEventData> d = (arg0) =>
     {
         func.Call <BaseEventData>(arg0);
     };
     return(d);
 }
Esempio n. 15
0
        /// <summary>
        /// 状態が変化した際に呼び出されるリスナーを削除する
        /// </summary>
        /// <param name="tOnValueChanged">リスナーメソッド</param>
        public void RemoveOnValueChangedListener(UnityEngine.Events.UnityAction <float> tOnValueChanged)
        {
            Scrollbar tScrollbar = _scrollbar;

            if (tScrollbar != null)
            {
                tScrollbar.onValueChanged.RemoveListener(tOnValueChanged);
            }
        }
Esempio n. 16
0
 public static void InsertFunctionIntoCallback(EventTrigger trigger, EventTriggerType type, Del func)
 {
     EventTrigger.Entry entry = new EventTrigger.Entry();
     entry.eventID  = type;
     entry.callback = new EventTrigger.TriggerEvent();
     UnityEngine.Events.UnityAction <BaseEventData> call = new UnityEngine.Events.UnityAction <BaseEventData>(func);
     entry.callback.AddListener(call);
     trigger.triggers.Add(entry);
 }
Esempio n. 17
0
    public void AddEventTrigger(Transform insObject, EventTriggerType eventType, UnityEngine.Events.UnityAction <BaseEventData> myFunction)//泛型委托
    {
        EventTrigger trigger = insObject.GetComponent <EventTrigger>();

        EventTrigger.Entry entry = new EventTrigger.Entry();
        entry.eventID = eventType;
        entry.callback.AddListener(myFunction);
        trigger.triggers.Add(entry);
    }
Esempio n. 18
0
        /// <summary>
        /// 状態が変化した際に呼び出されるリスナーを削除する
        /// </summary>
        /// <param name="tOnValueChanged">リスナーメソッド</param>
        public void RemoveOnValueChangedListener(UnityEngine.Events.UnityAction <int> tOnValueChanged)
        {
            Dropdown tDropdown = _dropdown;

            if (tDropdown != null)
            {
                tDropdown.onValueChanged.RemoveListener(tOnValueChanged);
            }
        }
Esempio n. 19
0
 private UnityEngine.Events.UnityAction <float> SetScaleBuilder(Action <float> setScale)
 {
     UnityEngine.Events.UnityAction <float> action = (float scale) =>
     {
         updateViewProperties(AbstractVisualisation.PropertyType.Scaling);
         setScale(scale);
         updateViewProperties(AbstractVisualisation.PropertyType.Scaling);
     };
     return(action);
 }
Esempio n. 20
0
 public void UnregisterEventHandler(int id, UnityEngine.Events.UnityAction <GameObject, string> on_event)
 {
     for (int i = 0; i < UiAinm.Length; i++)
     {
         GUIAnim g_anim = UiAinm[id];
         if (g_anim != null)
         {
             g_anim.OnSequenceEvent -= on_event;
         }
     }
 }
    /// <summary>
    /// Methodto create a new button in a panel
    /// </summary>
    /// <param name="panel">Site where we will add a new button</param>
    /// <param name="center">The center position of the new button</param>
    /// <param name="extends">The extents of the button</param>
    /// <param name="action">Actin name</param>
    /// <param name="actionMethod">Method that will be called when we click the button</param>
    Button CreateButton(RectTransform panelTransform, Vector2 center, Vector2 extends, String ability, UnityAction actionMethod, Boolean enabled)
    {
        var transform = panelTransform.transform;

        var buttonObject = new GameObject(ability);

        buttonObject.tag   = "ActionButton";
        buttonObject.layer = 5; // UI Layer

        var image = buttonObject.AddComponent <Image>();

        image.tag = "ActionButton";
        //image.rectTransform.SetParent(panelTransform);
        image.rectTransform.localScale = panelTransform.localScale;
        image.rectTransform.sizeDelta  = 1.5f * extends;
        image.rectTransform.position   = center;
        //image.rectTransform.position = transform.position;
        image.sprite = CreateSprite(ability, image.rectTransform.sizeDelta);
        //Debug.LogError("Button position: " + center);
        var button = buttonObject.AddComponent <Button>();

        button.targetGraphic = image;
        button.onClick.AddListener(() => actionMethod());

        var enterTrigger = buttonObject.AddComponent <EventTrigger>();

        EventTrigger.Entry enterEntry = new EventTrigger.Entry();
        enterEntry.eventID  = EventTriggerType.PointerEnter;
        enterEntry.callback = new EventTrigger.TriggerEvent();
        UnityEngine.Events.UnityAction <BaseEventData> enterCall = new UnityEngine.Events.UnityAction <BaseEventData>(mouseEnter);
        enterEntry.callback.AddListener(enterCall);
        enterTrigger.triggers.Add(enterEntry);

        var exitTrigger = buttonObject.AddComponent <EventTrigger>();

        EventTrigger.Entry exitEntry = new EventTrigger.Entry();
        exitEntry.eventID  = EventTriggerType.PointerExit;
        exitEntry.callback = new EventTrigger.TriggerEvent();
        UnityEngine.Events.UnityAction <BaseEventData> exitCall = new UnityEngine.Events.UnityAction <BaseEventData>(mouseExit);
        exitEntry.callback.AddListener(exitCall);
        exitTrigger.triggers.Add(exitEntry);


        button.transform.SetParent(GameObject.Find("HUD/actions").transform); // We assign the parent to actions Canvas from the HUD
        button.GetComponent <RectTransform>().localPosition = new Vector3(button.GetComponent <RectTransform>().localPosition.x,
                                                                          button.GetComponent <RectTransform>().localPosition.y,
                                                                          0f);

        return(button);
        //button.enabled = false;
        //button.interactable = false;
        //button.enabled = false;
        //button.gameObject.SetActive(false);
    }
Esempio n. 22
0
    void addEventTriggerToButton(GameObject button, string triggerType, UnityAction <BaseEventData> buttonFunction)
    {
        EventTrigger trigger = button.GetComponent <EventTrigger>();

        EventTrigger.Entry entry = new EventTrigger.Entry();
        entry.eventID  = (EventTriggerType)System.Enum.Parse(typeof(EventTriggerType), triggerType);
        entry.callback = new EventTrigger.TriggerEvent();
        UnityEngine.Events.UnityAction <BaseEventData> call = new UnityEngine.Events.UnityAction <BaseEventData>(buttonFunction);
        entry.callback.AddListener(call);
        trigger.triggers.Add(entry);
    }
        /// <summary>
        /// 创建对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="panelName"></param>
        /// <param name="onCreate"></param>
        public void CreatePanel(UIInfoBase itemInfo, UnityEngine.Events.UnityAction <GameObject> onCreate)
        {
            if (_cansaleKeys.Contains(itemInfo.panelName))
            {
                _cansaleKeys.RemoveAll(x => x == itemInfo.panelName);
            }

            if (!_loadingKeys.Contains(itemInfo.IDName))
            {
                _loadingKeys.Add(itemInfo.IDName);
                var bInfo = itemInfo as BundleUIInfo;
                var pInfo = itemInfo as PrefabUIInfo;
                var rInfo = itemInfo as ResourceUIInfo;

                if (pInfo != null)
                {
                    var go = GetGameObjectInfo(pInfo);
                    if (onCreate != null)
                    {
                        onCreate.Invoke(go);
                    }
                }
                else if (rInfo != null)
                {
                    var go = GetGameObjectInfo(rInfo);
                    if (onCreate != null)
                    {
                        onCreate.Invoke(go);
                    }
                }
                else if (bInfo != null)
                {
                    if (bundleLoader != null)
                    {
                        bundleLoader.LoadAssetAsync <GameObject>(bInfo.bundleName, bInfo.panelName, (x) => {
                            if (x != null)
                            {
                                var instence = CreateInstance(x, bInfo);
                                if (onCreate != null)
                                {
                                    onCreate.Invoke(instence);
                                }
                                _loadingKeys.Remove(bInfo.IDName);
                            }
                        });
                    }
                    else
                    {
                        Debug.LogError("请先设置AssetBundle加载时的规则!");
                    }
                }
            }
        }
Esempio n. 24
0
    //  [SerializeField]
    //  public ItemEventTrigger m_ItemEventTrigger = new ItemEventTrigger();

    // Start is called before the first frame update
    void Start()
    {
        EventTrigger trigger = this.gameObject.AddComponent <EventTrigger>();

        EventTrigger.Entry entry = new EventTrigger.Entry();
        entry.eventID = EventTriggerType.PointerClick;
        UnityEngine.Events.UnityAction <BaseEventData> click = new UnityEngine.Events.UnityAction <BaseEventData>(OnItemClick);
        entry.callback.AddListener(click);

        trigger.triggers.Clear();
        trigger.triggers.Add(entry);
    }
    internal static void AddButtonEvent(GameObject obj, UnityEngine.Events.UnityAction <GameObject> unityAction)
    {
        Button btn = obj.GetComponent <Button>();

        if (btn == null)
        {
            btn = obj.AddComponent <Button>();
        }
        if (btn.onClick.GetPersistentEventCount() > 0)
        {
            btn.onClick.RemoveAllListeners();
        }
        btn.onClick.AddListener(delegate
        {
            unityAction(obj);
        });
    }
Esempio n. 26
0
        public float PlaySequence(int id, string seq_name, UnityEngine.Events.UnityAction <GameObject, string> on_finish)
        {
            SafeInit();
            float ret = -1;

            if (id > -1 && id < UiAinm.Length)
            {
                GUIAnim g_anim = UiAinm[id];
                if (g_anim)
                {
                    g_anim.StopSequence();

                    g_anim.OnSequenceEnd = on_finish;
                    ret = g_anim.PlaySequence(seq_name);
                }
            }
            return(ret);
        }
Esempio n. 27
0
 // Create a new text box with title, initial value and call back
 public QuestEditorTextEdit(StringKey t, string initial, UnityAction <string> call)
 {
     value      = initial;
     title      = t;
     returnCall = call;
 }
Esempio n. 28
0
 public static void DelayCall(object obj, float rTime, UnityEngine.Events.UnityAction <object> rFunc)
 {
     Global.TaskManager.StartTask(OnDelayCall(obj, rTime, rFunc));
 }
Esempio n. 29
0
 private static System.Collections.IEnumerator OnDelayCall(object obj, float time, UnityEngine.Events.UnityAction <object> rFunc)
 {
     yield return(new WaitForSeconds(time)); if (rFunc != null)
     {
         rFunc(obj);
     }
 }
Esempio n. 30
0
 public static void DelayCallForEndOfFrame(object obj, UnityEngine.Events.UnityAction <object> rFunc)
 {
     Global.TaskManager.StartTask(OnDelayCallEndOfFrame(obj, rFunc));
 }