Ejemplo n.º 1
0
            /// <summary>
            /// 根据获取的服务器信息来进行登陆
            /// </summary>
            public void LoginServer(ServerInfo serverInfo)
            {
                if (serverInfo == null)
                {
                    GameDebug.LogError("Error, server info is null!!!");
                    UINotice.GetInstance().ShowMessage(DBConstText.GetText("PLEASE_SELECT_ONE_SERVER"));
                    return;
                }

                if (m_LoadingIcon != null)
                {
                    m_LoadingIcon.SetActive(true);
                }

                ServerListHelper.GetInstance().CheckServerStateAndEnter(serverInfo, (ServerInfo retServerInfo, bool canEnter) =>
                {
                    if (canEnter == false)
                    {
                        UIManager.Instance.ShowWaitScreen(false);
                        if (m_LoadingIcon != null)
                        {
                            m_LoadingIcon.SetActive(false);
                        }
                    }
                });

                // 点击登录按钮
                ControlServerLogHelper.Instance.PostPlayerFollowRecord(PlayerFollowRecordSceneId.ClickLoginButton);
            }
Ejemplo n.º 2
0
    /// <summary>
    /// 点击按钮
    /// </summary>
    void OnClick(GameObject go)
    {
        if (GameInput.Instance.GetEnableInput() == false || mHoleOpen == false)
        {
            return;
        }

        // 玩家在安全区域内不响应
        Actor localPlayer = Game.GetInstance().GetLocalPlayer();

        if (localPlayer != null && localPlayer.IsInSafeArea)
        {
            UINotice.GetInstance().ShowMessage(xc.DBConstText.GetText("SKILL_CANNOT_SAFEAREA")); //在安全区无法使用技能
            return;
        }

        if (mFitPos == 1)                 // 第一装配位置的技能按键需要特殊处理
        {
            if (localPlayer.IsShapeShift) // 角色进行了变身,只能触发普通技能
            {
                if (mSkillIdx != 0)
                {
                    ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_TRIGGER_SKILL_CLICK_BUTTON, new CEventBaseArgs(mSkillIdx));
                }
            }
            else
            {
                ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_TRIGGER_SKILL_CLICK_BUTTON, new CEventBaseArgs(0xF0000000));
            }
        }
        else
        {
            ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_TRIGGER_SKILL_CLICK_BUTTON, new CEventBaseArgs(mSkillIdx));
        }
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 点击按钮
    /// </summary>
    public void OnClick(GameObject go)
    {
        if (GameInput.Instance.GetEnableInput() == false || mHoleOpen == false)
        {
            return;
        }

        // 玩家在安全区域内不响应
        Actor localPlayer = Game.GetInstance().GetLocalPlayer();

        if (localPlayer != null && localPlayer.IsInSafeArea)
        {
            UINotice.GetInstance().ShowMessage(xc.DBConstText.GetText("SKILL_CANNOT_SAFEAREA")); //在安全区无法使用技能
            return;
        }


        //if (xc.SceneHelp.Instance.IsInNormalWild == false)
        //{
        //    //先提示
        //    ClientEventMgr.GetInstance().FireEvent(xc.EnumUtil.EnumToInt(xc.ClientEvent.CE_CLICK_MATE_SKILL), new CEventBaseArgs(mSkillIdx));
        //}
        //else
        //{
        //    RealClick();
        //}

        ClientEventMgr.GetInstance().FireEvent(xc.EnumUtil.EnumToInt(xc.ClientEvent.CE_CLICK_MATE_SKILL), new CEventBaseArgs(mSkillIdx));
    }
Ejemplo n.º 4
0
    private void Init()
    {
        _instance  = this;
        mTransform = this.transform;
        mTransform.localPosition = new Vector3(0, 240, 0);
        text_word = mTransform.Find("text_word").GetComponent <Text>();

        text_width = (mTransform as RectTransform).sizeDelta.x;

        gameObject.SetActive(false);
    }
Ejemplo n.º 5
0
    private void Init()
    {
        _instance = this;
        mTransform = this.transform;
        mTransform.localPosition = new Vector3(0, 240, 0);
        text_word = mTransform.Find("text_word").GetComponent<Text>();

        text_width = (mTransform as RectTransform).sizeDelta.x;

        gameObject.SetActive(false);
    }
Ejemplo n.º 6
0
 public void DestroyNotice(UINotice notice)
 {
     if (m_queNotices.Count > 0 && m_queNotices.Peek() == notice)
     {
         m_queNotices.Dequeue();
         Object.DestroyImmediate(notice.gameObject);
         if (m_queNotices.Count > 0)
         {
             m_queNotices.Peek().Show();
         }
     }
 }
Ejemplo n.º 7
0
    /// /////////////////////////////////////////////////////////////////////////////////////////////////////////
    ///                              Notice  管理
    /// /////////////////////////////////////////////////////////////////////////////////////////////////////////
    public UINotice CreateNotice()
    {
        Object     prefab       = Resources.Load("GUI/General/NoticeUI");
        GameObject pobjNoticeUI = Object.Instantiate(prefab) as GameObject;

        pobjNoticeUI.transform.parent           = uiRoot.transform;
        pobjNoticeUI.transform.localScale       = Vector3.one;
        pobjNoticeUI.transform.localPosition    = Vector3.zero;
        pobjNoticeUI.transform.localEulerAngles = Vector3.zero;
        UINotice ui = pobjNoticeUI.GetComponent <UINotice>();

        m_queNotices.Enqueue(ui);
        ui.OnLoad();
        if (m_queNotices.Count == 1)
        {
            ui.Show();
        }
        return(ui);
    }
Ejemplo n.º 8
0
    /// <summary>
    /// 点击按钮
    /// </summary>
    void OnClick(GameObject target)
    {
        if (GameInput.Instance.GetEnableInput() == false || mHoleOpen == false)
        {
            return;
        }

        // 玩家在安全区域内不响应
        Actor local_player = Game.Instance.GetLocalPlayer();

        if (local_player == null)
        {
            return;
        }

        if (local_player.IsInSafeArea)
        {
            UINotice.GetInstance().ShowMessage(xc.DBConstText.GetText("SKILL_CANNOT_SAFEAREA")); //在安全区无法使用技能
            return;
        }

        if (mSkillInfo == null)
        {
            return;
        }

        if (LocalPlayerManager.Instance.Fury < mSkillInfo.CostFury)
        {
            UINotice.Instance.ShowMessage(xc.DBConstText.GetText("FURY_CANNOT_USE")); // 怒气不足时候的提示
            return;
        }

        if (!local_player.CDCtrl.IsInCD(mSkillIdx))// 技能不在cd中
        {
            ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_TRIGGER_SKILL_CLICK_BUTTON, new CEventBaseArgs(mSkillIdx));
        }
    }
Ejemplo n.º 9
0
            /// <summary>
            /// 响应注册的网络消息
            /// </summary>
            /// <param name="protocol"></param>
            /// <param name="data"></param>
            void HandleCreateRole(ushort protocol, byte[] data)
            {
                if (protocol != NetMsg.MSG_CREATE_ROLE)
                {
                    return;
                }

                var create_role = S2CPackBase.DeserializePack <S2CCreateRole>(data);

                if (create_role.result != 1) // 创建不成功
                {
                    string content = "";

                    DBErrorCode           db_error_code = (DBErrorCode)DBManager.GetInstance().GetDB(typeof(DBErrorCode).Name);
                    DBErrorCode.ErrorInfo errorInfo     = db_error_code.GetErrorInfo(create_role.result);
                    if (errorInfo == null)
                    {
                        content = xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_35");
                    }
                    else
                    {
                        content = errorInfo.mDesc;
                    }

                    GameDebug.LogError(string.Format("服务端报错: {0}", content));
                    UINotice.GetInstance().ShowMessage(content);

                    UIManager.Instance.ShowWaitScreen(false);
                    return;
                }

                // 保存本地玩家ID
                UnitID uid = new UnitID();

                uid.type    = (byte)EUnitType.UNITTYPE_PLAYER;
                uid.obj_idx = (uint)create_role.uuid;
                Game.GetInstance().LocalPlayerID     = uid;
                Game.GetInstance().LocalPlayerTypeID = ActorHelper.RoleIdToTypeId(mVocationId);
                Game.GetInstance().LocalPlayerName   = mNameInputField.text;

                // 保存角色职业信息
                GlobalConfig.GetInstance().LoginInfo.RId = create_role.uuid.ToString();
                GlobalConfig.GetInstance().LoginInfo.Job = mVocationId.ToString();
                GlobalConfig.GetInstance().LoginInfo.Level = "0";
                GlobalConfig.GetInstance().LoginInfo.CreateRoleTime = create_role.now.ToString();

                // 通知服务端
                var enter_game = new C2SEnterGame();

                enter_game.uuid = create_role.uuid;
                NetClient.GetBaseClient().SendData <C2SEnterGame>(NetMsg.MSG_ENTER_GAME, enter_game);

                // 通知控制服
                ControlServerLogHelper.GetInstance().PostRoleInfo();

                // 通知sdk,sendRoleInfo2SDK要求等级最小为1,需要特殊处理
                GlobalConfig.GetInstance().LoginInfo.Level = "1";
                SDKControler.getSDKControler().sendRoleInfo2SDK((int)SDKControler.RoleEvent.CREATE_ROLE);

                // 创角埋点数据上报
                if (xc.Const.Region == xc.RegionType.KOREA)
                {
                    xc.BuriedPointHelper.ReportTapjoyEvnet("account generate");
                }

                // 注册FCM
                DBOSManager.getOSBridge().registerFCM();

                // 注册推送服务
                DBOSManager.getOSBridge().registerPush();
            }