Exemple #1
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
        }
Exemple #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_);
            }
        }
Exemple #3
0
        void OnValueChanged(bool isOn_)
        {
            bool pointerTriggered = m_pointerTriggered;

            m_pointerTriggered = false;

            if (m_ignoreChange)
            {
                return;
            }

            if (m_needReqChange && pointerTriggered)
            {
                //点击触发才进来
                bool cur = CurrentIsOn();
                SelectIgnoreChange(cur); //置回去, 因为基类的isOn已经变了

                onReqChange.Invoke(this, isOn_);
                LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.REQ_VALUE_CHANGE, isOn_);

                return;
            }

            RefreshMask(isOn_);

            if (!m_ignoreInvoke)
            {
                onValueChanged.Invoke(this, isOn_);
                LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.VALUE_CHANGE, isOn_);
            }
        }
Exemple #4
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
        }
Exemple #5
0
        void onInternalValueChanged(float value)
        {
            RefreshFillImage(value);

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

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.VALUE_CHANGE, value);
        }
Exemple #6
0
    override protected void __Clear()
    {
        SluaHost.errorDelegateLua -= OnLuaError;

        CCApp.appBhv.OnUpdate     -= OnSvrUpdate;
        CCApp.appBhv.OnLateUpdate -= OnSvrLateUpdate;

        m_luaHost.StopSvr();
        LuaEvtCenter.Clear();
    }
Exemple #7
0
        void OnToggleValueChanged(KToggle target_, bool isOn_)
        {
            int lastIndex = m_lastIndex;

            if (isOn_)
            {
                if (!m_allowMultiple)
                {
                    //不允许多选,取消上一个
                    if (m_lastIndex >= 0)
                    {
                        KToggle last = m_toggleList[m_lastIndex];
                        last.Select(false, true);
                        RemoveFromSelect(m_lastIndex);
                        m_lastIndex = -1;
                    }
                }

                m_lastIndex = m_toggleList.IndexOf(target_);
                m_selectList.Add(m_lastIndex);

                if (!m_ingoreInvoke)
                {
                    onValueChange.Invoke(this, m_lastIndex, isOn_);
                    LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.VALUE_CHANGE, m_lastIndex + 1, isOn_);     //lua从1开始
                }
            }
            else
            {
                //取消
                int index = m_toggleList.IndexOf(target_);
                RemoveFromSelect(index);

                if (m_lastIndex == index)
                {
                    m_lastIndex = -1;
                }

                if (m_allowMultiple)
                {
                    if (m_selectList.Count > 0)
                    {
                        //多选,还有选中的
                        m_lastIndex = m_selectList[m_selectList.Count - 1];
                    }
                }

                if (!m_ingoreInvoke)
                {
                    onValueChange.Invoke(this, index, isOn_);
                    LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.VALUE_CHANGE, index + 1, isOn_);   //lua从1开始
                }
            }
        }
Exemple #8
0
        private void onEndEditHandler(string text)
        {
            StopEdit();

            //if (this.enabled && gameObject.activeSelf)  //deactive也会导致edit end
            //{
            //    LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.EDIT_END, text);
            //}

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.EDIT_END, text);
        }
Exemple #9
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);
            }
        }
Exemple #10
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);
            }
        }
Exemple #11
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);
            }
        }
Exemple #12
0
        void OnToggleReqChanged(KToggle target_, bool isOn_)
        {
            if (m_needReqChange)
            {
                int index = m_toggleList.IndexOf(target_);

                onReqChange.Invoke(this, index, isOn_);
                LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.REQ_VALUE_CHANGE, index + 1, isOn_);  //lua从1开始
                return;
            }

            if (!m_allowSwitchOff && !m_allowMultiple)
            {
                //不允许取消 and 不为多选
                if (isOn_ == false)
                {
                    return;
                }
            }

            target_.Select(isOn_);
        }
Exemple #13
0
 public override void OnPointerUp(PointerEventData eventData)
 {
     base.OnPointerUp(eventData);
     LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.POINTER_UP, value);
 }
    static public int GetEvents_s(IntPtr l)
    {
        try
        {
            evtNum   = 0;
            goEvtNum = 0; //go事件数量

            ArrReset(-1);


            if (LuaEvtCenter.__events.Count > 0)
            {
                List <LuaEvtCenter.LuaEvt> events = LuaEvtCenter.__events;
                LuaEvtCenter.LuaEvt        evt;
                int len = events.Count;

                for (int i = 0; i < len; ++i)
                {
                    evt = events[i];
                    ArrPush(l, evt.type);

                    if (evt.args != null)
                    {
                        ArrPush(l, evt.args.Length);    //写入参数长度

                        for (int j = 0; j < evt.args.Length; ++j)
                        {
                            ArrPush(l, evt.args[j]);
                        }
                    }
                    else
                    {
                        ArrPush(l, 0);  //参数长度为0
                    }

                    evtNum++;
                }

                LuaEvtCenter.ClearEvents();
            }


            if (LuaEvtCenter.__goEvents.Count > 0)
            {
                List <LuaEvtCenter.LuaGoEvt> goEvents = LuaEvtCenter.__goEvents;
                LuaEvtCenter.LuaGoEvt        evt;
                int len = goEvents.Count;

                for (int i = 0; i < len; ++i)
                {
                    evt = goEvents[i];
                    if (evt.go)
                    {
                        //go还活着
                        ArrPush(l, evt.type);
                        ArrPush(l, evt.go);

                        if (evt.args != null)
                        {
                            ArrPush(l, evt.args.Length);    //写入参数长度

                            for (int j = 0; j < evt.args.Length; ++j)
                            {
                                ArrPush(l, evt.args[j]);
                            }
                        }
                        else
                        {
                            ArrPush(l, 0);  //参数长度为0
                        }

                        goEvtNum++;
                    }
                }

                LuaEvtCenter.ClearGoEvents();
            }

            pushValue(l, true);
            pushValue(l, evtNum);       //事件数量
            pushValue(l, goEvtNum);     //事件数量
            return(3);
        }
        catch (Exception e)
        {
            return(error(l, e));
        }
    }
Exemple #15
0
        //-------∽-★-∽------∽-★-∽--------∽-★-∽数据管理∽-★-∽--------∽-★-∽------∽-★-∽--------//


        private void onValueChangedHandler(string text)
        {
            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.VALUE_CHANGE, text);
        }