Esempio n. 1
0
 private void UF_DispatchSelectedChange()
 {
     if (!string.IsNullOrEmpty(eValueChange) && Application.isPlaying)
     {
         MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, eValueChange, m_SelectIndex, eParam, this);
     }
 }
Esempio n. 2
0
        public void OnPointerUp(PointerEventData eventData)
        {
            if (!this.enabled)
            {
                return;
            }
            if (DeviceInput.UF_Up(0))
            {
                //Vector2 anchoredPosition = this.rectTransform.anchoredPosition;
                if (autoBack)
                {
                    if (smoothBack <= 0)
                    {
                        this.transform.localPosition = m_SourceLPosition;
                    }
                    else
                    {
                        FrameHandle.UF_AddCoroutine(UF_ISmoothBack(this.transform.localPosition, m_SourceLPosition, smoothBack));
                    }
                }

                m_IsDragging = canDrag && false;

                //判断Group中的碰撞
                if (m_DragGroup != null)
                {
                    m_DragGroup.UF_UpdateCollision(this, eventData);
                }

                if (!string.IsNullOrEmpty(ePressUp))
                {
                    MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, ePressUp, eParam, this);
                }
            }
        }
Esempio n. 3
0
        private void UF_DrawTagHack()
        {
#if UNITY_EDITOR
            GUILayout.Label("IP:");
            string hack_ip = GUILayout.TextField(UnityEditor.EditorPrefs.GetString("hack_ip", ""), GUILayout.Height(40));
            GUILayout.Label("Port:");
            string hack_port = GUILayout.TextField(UnityEditor.EditorPrefs.GetString("hack_port", ""), GUILayout.Height(40));
            GUILayout.Label("UserID:");
            string hack_userid = GUILayout.TextField(UnityEditor.EditorPrefs.GetString("hack_userid", ""), GUILayout.Height(40));
            GUILayout.Label("Token:");
            string hack_token = GUILayout.TextArea(UnityEditor.EditorPrefs.GetString("hack_token", ""), GUILayout.Height(60));
            GUILayout.Label("OpenID:");
            string hack_openid = GUILayout.TextArea(UnityEditor.EditorPrefs.GetString("hack_openid", ""), GUILayout.Height(60));

            if (GUILayout.Button("Hack Connect", GUILayout.Height(60)))
            {
                MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_LUA, DefineLuaEvent.E_LOGIN_HACK, hack_ip, hack_port, hack_userid, hack_token, hack_openid);
            }

            if (GUI.changed)
            {
                UnityEditor.EditorPrefs.SetString("hack_ip", hack_ip);
                UnityEditor.EditorPrefs.SetString("hack_port", hack_port);
                UnityEditor.EditorPrefs.SetString("hack_userid", hack_userid);
                UnityEditor.EditorPrefs.SetString("hack_token", hack_token);
                UnityEditor.EditorPrefs.SetString("hack_openid", hack_openid);
            }
#endif
        }
Esempio n. 4
0
        public static void UF_OnClick(UILabel label, PointerEventData eventData)
        {
            if (s_HyperlinkCacheTable.Count == 0)
            {
                return;
            }
            int                   labelID            = label.GetInstanceID();
            RectTransform         rectTransform      = label.rectTransform;
            List <HyperlinkDatas> listHyperlinkDatas = s_HyperlinkCacheTable [labelID];

            if (listHyperlinkDatas.Count > 0)
            {
                Vector2 point;
                RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, eventData.position, eventData.pressEventCamera, out point);
                for (int k = 0; k < listHyperlinkDatas.Count; k++)
                {
                    Rect[] boxrects = listHyperlinkDatas [k].box;
                    if (boxrects != null)
                    {
                        for (int j = 0; j < boxrects.Length; j++)
                        {
                            if ((boxrects [j].x <point.x && (boxrects [j].x + boxrects [j].width)> point.x) && (boxrects [j].y > point.y && (boxrects [j].y - boxrects [j].height) < point.y))
                            {
                                //Debug.Log(string.Format("Event: {0}  {1}", listHyperlinkDatas[k].href, listHyperlinkDatas[k].value));
                                MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, listHyperlinkDatas [k].href, listHyperlinkDatas [k].value);
                                return;
                            }
                        }
                    }
                }
            }
        }
Esempio n. 5
0
        IEnumerator UF_CoGameStart()
        {
            Debugger.UF_Log("GameMain Start Begain");
            MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_MAIN_PRE_START);
            //获取native 配置
            yield return(StartCoroutine(GlobalSettings.UF_InitExternInfo()));

            //初始化全局配置表
            yield return(StartCoroutine(GlobalSettings.UF_InitGameConfigs()));

            //检查版本更新
            yield return(StartCoroutine(UpgradeSystem.UF_GetInstance().UF_CheckUpgrade()));

            //资源系统初始化
            yield return(StartCoroutine(AssetSystem.UF_GetInstance().UF_InitAssetSystem()));

            //LuaFramework 初始化
            //yield return StartCoroutine(LuaFramework.UF_GetInstance().UF_InitFramework());
            FrameHandle.UF_OnStart();
            MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_MAIN_START);
            Debugger.UF_Log("GameMain Start Over");

            MessageSystem.UF_GetInstance().UF_AddListener(DefineEvent.E_START_BATTLE, OnAllReady);
            MessageSystem.UF_GetInstance().UF_AddListener(DefineEvent.E_CLIENT_MSG, OnClientMsg);
            MessageSystem.UF_GetInstance().UF_AddListener(DefineEvent.E_StartFrameSync, OnStartFrameSync);
            MessageSystem.UF_GetInstance().UF_AddListener(DefineEvent.E_StopFrameSync, OnStopFrameSync);

            com.unity.mgobe.src.Util.RandomUtil.Init(int.Parse(GetTimeStamp()));

            //AllUI.Instance.Show("PanelLogin");
            UIManager.UF_GetInstance().UF_ShowView("UI System", "ui_panellogin", null);
            yield break;
        }
Esempio n. 6
0
 private void UF_SendEventMessage(UIDrag source, UIDrag target)
 {
     if (!string.IsNullOrEmpty(eDragDown))
     {
         MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, eDragDown, source, target, this);
     }
 }
Esempio n. 7
0
 //执行动画事件
 private void UF_ExcuteAnimatorClipEvent(string clipName, string clipParam, string eventName, string eventParam)
 {
     if (m_Avatar != null)
     {
         MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_ANIMATION_CLIP, m_Avatar, clipName, clipParam, eventName, eventParam);
     }
 }
Esempio n. 8
0
        //关闭显示栈上的指定界面位置后的全部界面
        public void UF_CloseViewRangeTo(string viewName, bool includeSelf = false)
        {
            UIView view = UF_GetView(viewName);

            if (view != null)
            {
                while (m_ViewStack.GetTop() != view && m_ViewStack.Count != 0)
                {
                    UIView value = m_ViewStack.Pop();
                    if (!m_ViewStack.CheckInStack(value))
                    {
                        value.UF_OnClose();
                        MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_CLOSE, value.name);
                    }
                }
                if (includeSelf)
                {
                    //是否关闭自身
                    this.UF_CloseView(view);
                }
                UF_SetStackDirty();
            }
            else
            {
                Debugger.UF_Warn(string.Format("CloseViewRangeTo -> UIView[{0}] not Exist", viewName));
            }
        }
Esempio n. 9
0
        private void TriggerGameObject(GameObject go)
        {
            if (go == null || !go.activeInHierarchy)
            {
                return;
            }
            //send message
            if (!string.IsNullOrEmpty(eTrigger))
            {
                MessageSystem msg = MessageSystem.UF_GetInstance();
                msg.UF_BeginSend();
                msg.UF_PushParam(eTrigger);
                msg.UF_PushParam(this.gameObject);
                msg.UF_PushParam(go);
                for (int k = 0; k < eParams.Length; k++)
                {
                    msg.UF_PushParam(eParams[k]);
                }
                msg.UF_EndSend(DefineEvent.E_TRIGGER_CONTROLLER);
            }

            if (m_UETrigger != null)
            {
                m_UETrigger.Invoke();
            }

            //paly sound
            if (!string.IsNullOrEmpty(eSound))
            {
                AudioManager.UF_GetInstance().UF_Play(eSound);
            }
        }
Esempio n. 10
0
 public void OnPointerDown(PointerEventData eventData)
 {
     m_BeginDraw         = true;
     m_NewBegin          = true;
     m_CurPenPressureBuf = 0;
     if (!string.IsNullOrEmpty(ePressDown))
     {
         MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, ePressDown, eParam, this);
     }
 }
Esempio n. 11
0
        public void OnPointerUp(PointerEventData eventData)
        {
            m_BeginDraw = false;
            m_NewBegin  = false;

            if (!string.IsNullOrEmpty(ePressUp))
            {
                MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, ePressUp, eParam, this);
            }
        }
Esempio n. 12
0
 //重置时,会把内容界面关闭并回收
 public void UF_OnReset()
 {
     if (m_Content != null)
     {
         string contentName = m_Content.name;
         m_Content.Release();
         m_Content = null;
         MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_CLOSE, contentName);
     }
 }
Esempio n. 13
0
 public void OnPointerUp(PointerEventData eventData)
 {
     if (m_IsDrag)
     {
         if (!string.IsNullOrEmpty(ePressClick))
         {
             MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, ePressClick, eParam, this);
         }
     }
     m_IsDrag = false;
 }
Esempio n. 14
0
 //执行动画事件
 private void UF_ExcutePerformActionClipEvent(PerformPlayNode perform, ClipEvent clipEvent)
 {
     if (clipEvent.rate > 0)
     {
         //根据概率设定是否触发
         if (Random.Range(1, 10000) > clipEvent.rate)
         {
             return;
         }
     }
     MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_PERFORM_ACTION_CLIP, perform.uid, perform.pValue, perform.param, clipEvent.name, clipEvent.param);
 }
Esempio n. 15
0
 private void UF_OnInputUp()
 {
     m_IsDrag = false;
     if (Mathf.Abs(m_LastClickTime - System.Environment.TickCount) < deadZoomClick)
     {
         //send click msg
         if (!string.IsNullOrEmpty(ePressClick))
         {
             MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, ePressClick, eParam, this);
         }
     }
 }
Esempio n. 16
0
 //触发
 internal void UF_OnTriggerEnter(GameObject triTarget)
 {
     if (!activeTriggerCollision)
     {
         return;
     }
     //相同标签间不执行碰撞
     if (m_Avatar.tag != triTarget.tag)
     {
         //直接发送到Lua中处理
         MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_AVATAR_TRIGGER, m_Avatar, triTarget);
     }
 }
Esempio n. 17
0
 public override void OnSelect(UnityEngine.EventSystems.BaseEventData eventData)
 {
     base.OnSelect(eventData);
     if (m_SelectIdx != this.value)
     {
         m_SelectIdx = this.value;
         //发送UI事件
         if (!string.IsNullOrEmpty(eValueChange))
         {
             MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, eValueChange, eParam, this);
         }
     }
 }
Esempio n. 18
0
 //点击触发
 public void OnPointerClick(PointerEventData eventData)
 {
     //处理触发的Rich text
     if (supportRichText)
     {
         //超链接需要点击操作
         RichText.UF_OnClick(this, eventData);
     }
     if (!string.IsNullOrEmpty(ePressClick))
     {
         MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, ePressClick, eParam, this);
     }
 }
Esempio n. 19
0
 public static void UF_RemoveCouroutine(int id, bool blockEvent = false)
 {
     if (s_CoroutineMap.ContainsKey(id))
     {
         GameMain.Instance.StopCoroutine(s_CoroutineMap[id]);
         s_CoroutineMap.Remove(id);
         //携程调用中断
         if (!blockEvent)
         {
             MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_COROUTINE_STATE, 2, id);
         }
     }
 }
Esempio n. 20
0
 //清空显示栈
 public void UF_ClearAllView()
 {
     while (m_ViewStack.Count > 0)
     {
         UIView view = m_ViewStack.Pop();
         if (!m_ViewStack.CheckInStack(view))
         {
             view.UF_OnClose();
             MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_CLOSE, view.name);
         }
     }
     m_ViewStack.Clear();
 }
Esempio n. 21
0
        protected override void Set(float input, bool sendCallback)
        {
            base.Set(input, sendCallback);

            if (sendCallback && !string.IsNullOrEmpty(eValueChange))
            {
                MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_OPERA, eValueChange, eParam, m_Value, this);
            }
            if (!Application.isPlaying)
            {
                UF_updateTextInfo(this.m_Value);
            }
        }
Esempio n. 22
0
        private void UF_SendUIOperaMessage(string eventName, Object target)
        {
            MessageSystem msg = MessageSystem.UF_GetInstance();

            msg.UF_BeginSend();
            msg.UF_PushParam(eventName);
            for (int k = 0; k < eParams.Length; k++)
            {
                msg.UF_PushParam(eParams [k]);
            }
            msg.UF_PushParam(target);
            msg.UF_EndSend(DefineEvent.E_UI_OPERA);
        }
Esempio n. 23
0
 protected virtual void UF_OnColliderEnter(GameObject hitObject, Vector3 hitPoint)
 {
     if (!m_IsPlaying)
     {
         return;
     }
     //检查是有配置触发弹道,触发弹道继承当前弹道特性,触发消息通过触发弹道碰撞派发
     if (!UF_PlayTriggerDip())
     {
         //发送消息到Lua中处理
         MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_DIP_COLLISION, this, hitObject.gameObject, hitPoint);
     }
     //播放触发特效
     UF_PlayTriggerEffect(hitPoint);
 }
Esempio n. 24
0
        static IEnumerator UF_InvokeCorotine(int id, IEnumerator method, bool blockEvent)
        {
            UnityEngine.Coroutine coroutine = GameMain.Instance.StartCoroutine(method);
            //绑定到Map中
            s_CoroutineMap.Add(id, coroutine);
            yield return(coroutine);

            //解除绑定
            s_CoroutineMap.Remove(id);
            //发送携程完成消息
            if (!blockEvent)
            {
                MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_COROUTINE_STATE, 1, id);
            }
        }
Esempio n. 25
0
 public void UF_CloseView(UIView view)
 {
     if (view != null)
     {
         //在显示栈中去除,去除栈顶中其中一个
         m_ViewStack.Remove(view);
         if (!m_ViewStack.CheckInStack(view))
         {
             //这里设置UI关闭,栈中没有该UI,关闭并回收
             view.UF_OnClose();
             MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_UI_CLOSE, view.name);
         }
         UF_SetStackDirty();
     }
 }
Esempio n. 26
0
        //绘制区域标签
        private void UF_DrawAreaTag()
        {
            Rect rect = new Rect(0, 0, m_WidthTag * Screen.width - m_WidthSpace, Screen.height);

            //模拟黑屏
            GUI.Box(new Rect(0, 0, Screen.width, Screen.height), "");
            GUI.Box(new Rect(0, 0, Screen.width, Screen.height), "");

            GUILayout.BeginArea(rect);

            if (UF_LayoutButton("Close", 80))
            {
                m_ViewBoardTag = ViewBoardTag.NONE;
            }
            if (UF_LayoutButton("Output"))
            {
                m_ViewBoardTag = ViewBoardTag.OUTPUT;
            }
            if (UF_LayoutButton("GM"))
            {
                m_ViewBoardTag = ViewBoardTag.NONE;
                MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_LUA, DefineLuaEvent.E_DEBUG_GM);
            }
            if (UF_LayoutButton("Asset"))
            {
                m_ViewBoardTag = ViewBoardTag.ASSET;
            }
            if (UF_LayoutButton("Record"))
            {
                m_ViewBoardTag = ViewBoardTag.RECORD;
            }
            if (UF_LayoutButton("Lua"))
            {
                m_ViewBoardTag = ViewBoardTag.LUA;
            }
            if (UF_LayoutButton("Network"))
            {
                m_ViewBoardTag = ViewBoardTag.NETWORK;
            }
            if (UF_LayoutButton("System"))
            {
                m_ViewBoardTag = ViewBoardTag.SYSTEM;
            }

            m_CurDebugView = m_DicDebugView[m_ViewBoardTag];

            GUILayout.EndArea();
        }
Esempio n. 27
0
        protected virtual void OnTriggerEnter(Collider other)
        {
            if (other.gameObject.layer == DefineLayer.HitRaycast)
            {
                return;
            }
            if (string.IsNullOrEmpty(eTrigger))
            {
                return;
            }
            if (!string.IsNullOrEmpty(triggerMask))
            {
                if (!GHelper.UF_CheckStringMask(triggerMask, other.tag))
                {
                    return;
                }
            }
            if (m_AttachTarget != null && m_AttachTarget == other.gameObject)
            {
                return;
            }

            //send message
            MessageSystem msg = MessageSystem.UF_GetInstance();

            msg.UF_BeginSend();
            msg.UF_PushParam(eTrigger);
            msg.UF_PushParam(this.gameObject);
            msg.UF_PushParam(other.gameObject);
            for (int k = 0; k < eParams.Length; k++)
            {
                msg.UF_PushParam(eParams[k]);
            }
            msg.UF_EndSend(DefineEvent.E_TRIGGER_CONTROLLER);

            if (m_UETrigger != null)
            {
                m_UETrigger.Invoke();
            }

            //paly sound
            AudioManager.UF_GetInstance().UF_Play(eSound);
            //release?
            if (autoRelese)
            {
                this.Release();
            }
        }
Esempio n. 28
0
        // Update is called once per frame
        public void UF_OnUpdate()
        {
            if (!IsActive)
            {
                return;
            }
            if (m_IsPress && UsePress)
            {
                m_CurrentPressTime += GTime.RunDeltaTime;
                if (m_CurrentPressTime >= PressInterval)
                {
                    m_CurrentPressTime = 0;
                    RaycastHit hit;
                    Camera     camera = Camera.main;
                    if (camera != null && !IsUIRayCast() && Physics.Raycast(camera.ScreenPointToRay(DeviceInput.UF_PressPosition(0)), out hit, Distance))
                    {
                        MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_LUA, DefineLuaEvent.E_RAYCAST_HIT, hit);
                    }
                }
                if (!DeviceInput.UF_Press(0))
                {
                    m_CurrentPressTime = 0;
                }
            }
            else
            {
                if (DeviceInput.UF_Down(0))
                {
                    RaycastHit hit;
                    Camera     camera = Camera.main;
                    if (camera != null && !IsUIRayCast() && Physics.Raycast(camera.ScreenPointToRay(DeviceInput.UF_PressPosition(0)), out hit, Distance))
                    {
                        if (UsePress)
                        {
                            m_IsPress          = true;
                            m_CurrentPressTime = 0;
                        }
                        MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_LUA, DefineLuaEvent.E_RAYCAST_HIT, hit);
                    }
                }
            }

            if (!DeviceInput.UF_Press())
            {
                m_IsPress = false;
            }
        }
Esempio n. 29
0
        //碰撞
        internal void UF_OnCollisionHit(ControllerColliderHit hit)
        {
            if (!activeTriggerCollision)
            {
                return;
            }

            GameObject hitTarget = hit.gameObject;

            if (hitTarget.tag == DefineTag.Ground)
            {
                return;
            }

            if (!UF_CheckCollisionIntervalTime())
            {
                return;
            }

            //忽略指定层碰撞
            if (hitTarget.tag == DefineTag.Block || hitTarget.tag == DefineTag.Unwalk)
            {
                //碰撞不可走区域
                MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_AVATAR_BLOCK, m_Avatar, hitTarget, hit.point);
                return;
            }

            //只处理角色间碰撞
            if (m_Avatar.tag != hitTarget.tag)
            {
                //if (!CheckCollisionIntervalTime()) return;
                if (GHelper.UF_CheckStringMask(collisionMask, hitTarget.tag))
                {
                    //推开角色
                    if (hit.collider is CharacterController)
                    {
                        var     targetController = hit.collider as CharacterController;
                        Vector3 pushForward      = MathX.UF_Foward(m_Avatar.position, hit.transform.position);
                        pushForward.y = 0;
                        //Vector3 pushForward = hit.moveDirection;
                        targetController.Move(pushFactor * pushForward.normalized * GTime.RunDeltaTime);
                    }

                    MessageSystem.UF_GetInstance().UF_Send(DefineEvent.E_AVATAR_COLLISION, m_Avatar, hitTarget);
                }
            }
        }
Esempio n. 30
0
        void Awake()
        {
            try{
                DontDestroyOnLoad(this);
                s_GameMaim = this;
                s_Root     = this.gameObject;

                FrameHandle.UF_AddHandle(Debugger.UF_GetInstance());
                //System
                FrameHandle.UF_AddHandle(MessageSystem.UF_GetInstance());
                FrameHandle.UF_AddHandle(UpgradeSystem.UF_GetInstance());
                //FrameHandle.UF_AddHandle(NetworkSystem.UF_GetInstance());
                FrameHandle.UF_AddHandle(AssetSystem.UF_GetInstance());
                FrameHandle.UF_AddHandle(CEntitySystem.UF_GetInstance());
                //FrameHandle.UF_AddHandle(LuaFramework.UF_GetInstance());
                //manager
                FrameHandle.UF_AddHandle(PDataManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(ShaderManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(AudioManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(UIManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(FXManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(NavigateManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(MotionManager.UF_GetInstance());
                //FrameHandle.UF_AddHandle(PerformActionManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(RaycastManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(VoiceManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(RenderPreviewManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(RefObjectManager.UF_GetInstance());
                FrameHandle.UF_AddHandle(CheckPointManager.UF_GetInstance());

                FrameHandle.UF_AddHandle(SimulationManager.Instance);

                //setting
                GTime.FrameRate     = 60;
                GTime.FixedTimeRate = 0.016f;
                GTime.RunDeltaTime  = 0.016f;

                Screen.sleepTimeout = SleepTimeout.NeverSleep;
                VendorSDK.UF_Init();

                //VestBinder.Bind();
            }
            catch (System.Exception e) {
                Debugger.UF_Exception(e);
            }
        }