示例#1
0
        //-------∽-★-∽------∽-★-∽--------∽-★-∽数据管理∽-★-∽--------∽-★-∽------∽-★-∽--------//

        /// <summary>
        /// 点击
        /// </summary>
        /// <param name="eventData"></param>
        public override void OnPointerClick(PointerEventData eventData)
        {
            //base.OnPointerClick(eventData); //屏蔽基类的
            if (eventData.button != PointerEventData.InputButton.Left)
            {
                return;
            }

            KComponentEvent <KButton> .InvokeEvent(m_onClick, this);

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.POINTER_CLICK);

            if (m_isPassPoint)
            {
                PassPointEvent(eventData, ExecuteEvents.submitHandler);
                PassPointEvent(eventData, ExecuteEvents.pointerClickHandler);
            }

//#if (((UNITY_ANDROID || UNITY_IPHONE || UNITY_WINRT || UNITY_BLACKBERRY) && !UNITY_EDITOR))
            if (Input.touchCount >= (eventData.pointerId + 1))
            {
                m_pointId = eventData.pointerId;
            }
            else
            {
                m_pressure = 0;
                m_maximumPossiblePressure = 0;
            }
//#endif
        }
示例#2
0
        //为item设置data
        protected void SetItemData(GameObject item, int index_, object data_)
        {
            if (m_item2data.ContainsKey(item))
            {
                if (m_item2data[item] == data_)
                {
                    //数据一样,不重复设置
                    return;
                }
            }

            m_item2data[item] = data_;

            KComponentEvent <GameObject, int, object> .InvokeEvent(m_onDataChanged, item, index_, data_);

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.LIST_ITEM_DATA, item, index_ + 1);    //lua从1开始

            KListViewItem view = CreateItemView(item, index_);

            if (view != null)
            {
                view.Index = index_;
                view.Show(data_);
            }
        }
示例#3
0
 public static void InvokeEvent(KComponentEvent evt)
 {
     if (evt != null)
     {
         evt.Invoke();
     }
 }
示例#4
0
        /// <summary>
        /// 鼠标进入
        /// </summary>
        /// <param name="eventData"></param>
        public override void OnPointerEnter(PointerEventData eventData)
        {
            base.OnPointerEnter(eventData);

            KComponentEvent <KButton, PointerEventData> .InvokeEvent(m_onPointerEnter, this, eventData);

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.POINTER_ENTER);

            if (m_isPassPoint)
            {
                PassPointEvent(eventData, ExecuteEvents.pointerEnterHandler);
            }

//#if (((UNITY_ANDROID || UNITY_IPHONE || UNITY_WINRT || UNITY_BLACKBERRY) && !UNITY_EDITOR))
            if (Input.touchCount >= (eventData.pointerId + 1))
            {
                m_pointId = eventData.pointerId;
            }
            else
            {
                m_pressure = 0;
                m_maximumPossiblePressure = 0;
            }
//#endif
        }
示例#5
0
        protected virtual void OnItemClick(KListItem target, PointerEventData evtData)
        {
            int oldSelectedIndex = SelectedIndex;

            KComponentEvent <int, int> .InvokeEvent(m_onItemClick, m_evtId_click, target.Index);

            KEvtCenter4Lua.AddUIListEvent(m_evtId_click, target.Index);

            if (target == m_selectedItem)
            {
                //已经是当前项
                return;
            }

            bool isSelectedIndexChanged = (SelectedIndex != oldSelectedIndex);

            if (isSelectedIndexChanged == true)
            {
                //若在_onItemClick事件中修改了KList的SelectedIndex,则不再调用后续事件处理
                return;
            }

            if (m_selectedItem != null)
            {
                m_selectedItem.IsSelected = false;
                m_selectedItem            = null;
            }

            m_selectedItem            = target;
            m_selectedItem.IsSelected = true;

            KComponentEvent <int, int> .InvokeEvent(m_onSelectedIndexChanged, m_evtId_change, SelectedIndex);

            KEvtCenter4Lua.AddUIListEvent(m_evtId_change, SelectedIndex);
        }
示例#6
0
        //static

        public static KComponentEvent GetEvent(ref KComponentEvent evt)
        {
            if (evt == null)
            {
                evt = new KComponentEvent();
            }
            return(evt);
        }
示例#7
0
        void onInternalValueChanged(float value)
        {
            RefreshFillImage(value);

            KComponentEvent <KSlider, float> .InvokeEvent(m_onValueChanged, this, value);

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.VALUE_CHANGE, value);
        }
示例#8
0
        /// <summary>
        /// 点击事件(内部冒泡事件)
        /// 这个要改
        /// </summary>
        /// <param name="evtData"></param>
        public virtual void OnPointerClick(PointerEventData evtData)
        {
            if (evtData.dragging == true)
            {
                return;
            }

            this.IsSelected = true;
            KComponentEvent <KListItem, PointerEventData> .InvokeEvent(m_onClick, this, evtData);
        }
示例#9
0
 static public int constructor(IntPtr l)
 {
     try {
         mg.org.KUI.KComponentEvent <UnityEngine.GameObject> o;
         o = new mg.org.KUI.KComponentEvent <UnityEngine.GameObject>();
         pushValue(l, true);
         pushValue(l, o);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#10
0
        /// <summary>
        /// 鼠标离开
        /// </summary>
        /// <param name="eventData"></param>
        public override void OnPointerExit(PointerEventData eventData)
        {
            base.OnPointerExit(eventData);

            KComponentEvent <KButton, PointerEventData> .InvokeEvent(m_onPointerExit, this, eventData);

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.POINTER_EXIT);

            if (m_isPassPoint)
            {
                PassPointEvent(eventData, ExecuteEvents.pointerExitHandler);
            }
        }
示例#11
0
 static public int RemoveListener(IntPtr l)
 {
     try {
         mg.org.KUI.KComponentEvent <UnityEngine.GameObject>     self = (mg.org.KUI.KComponentEvent <UnityEngine.GameObject>)checkSelf(l);
         UnityEngine.Events.UnityAction <UnityEngine.GameObject> a1;
         checkDelegate(l, 2, out a1);
         self.RemoveListener(a1);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#12
0
        //清除item的data
        void ClearItemData(GameObject item, int index_)
        {
            if (!m_item2data.ContainsKey(item))
            {
                return;
            }
            m_item2data.Remove(item);

            KComponentEvent <GameObject, int> .InvokeEvent(m_onDataRemoved, item, index_);

            KListViewItem view = CreateItemView(item, index_);

            if (view != null)
            {
                view.Index = -1;
                view.Destroy();
            }
        }
示例#13
0
        //-------∽-★-∽------∽-★-∽--------∽-★-∽数据管理∽-★-∽--------∽-★-∽------∽-★-∽--------//


        /// <param name="position">滚到顶部为1,滚到底部为0</param>
        void OnInternalValueChanged(Vector2 position)
        {
            if (m_scrollArrow != null)
            {
                //更新箭头
                m_scrollArrow.Refresh(position, this);
            }

            if (m_point.x != position.x || m_point.y != position.y)
            {
                m_point.x = position.x;
                m_point.y = position.y;

                KComponentEvent <KScrollView, Vector2> .InvokeEvent(m_onValueChanged, this, position);

                LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.VALUE_CHANGE, position.x, position.y);
            }
        }
示例#14
0
        /// <summary>
        /// 鼠标弹起
        /// </summary>
        /// <param name="eventData"></param>
        public override void OnPointerUp(PointerEventData eventData)
        {
            if (eventData.button != PointerEventData.InputButton.Left)
            {
                return;
            }

            base.OnPointerUp(eventData);

            KComponentEvent <KButton, PointerEventData> .InvokeEvent(m_onPointerUp, this, eventData);

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.POINTER_UP, eventData.pressPosition.x, eventData.pressPosition.y);


            if (m_isPassPoint)
            {
                PassPointEvent(eventData, ExecuteEvents.pointerUpHandler);
            }
        }