예제 #1
0
        private void OnButton_CreateRoleEvent(IEvent ievent)
        {
            if (GameSetting.Instance.ReviewState == 1)
            {
                DataModel.CreateType = UnityEngine.Random.Range(0, 3);
                var actorTable = Table.GetActor(DataModel.CreateType);
                DataModel.CreateName = StringConvert.GetRandomName(actorTable.Sex);

                DataModel.CreateName = DataModel.CreateName.Trim();
            }
            else
            {
                DataModel.CreateName = DataModel.CreateName.Trim();

                if (!GameUtils.CheckName(DataModel.CreateName))
                {
                    UIManager.Instance.ShowMessage(MessageBoxType.Ok, 300900);
                    return;
                }
                if (GameUtils.CheckSensitiveName(DataModel.CreateName))
                {
                    UIManager.Instance.ShowMessage(MessageBoxType.Ok, 200004120);
                    return;
                }
                if (GameUtils.ContainEmoji(DataModel.CreateName))
                {
                    UIManager.Instance.ShowMessage(MessageBoxType.Ok, 725);
                    return;
                }

                if (!GameUtils.CheckLanguageName(DataModel.CreateName))
                {
                    UIManager.Instance.ShowMessage(MessageBoxType.Ok, 725);
                    return;
                }
            }

            NetManager.Instance.StartCoroutine(CreateRoleCoroutine());
        }
예제 #2
0
        //随机一个姓名
        private void OnButton_GetRandomNameEvent(IEvent ievent)
        {
            var _actorTable = Table.GetActor(DataModel.CreateType);

            DataModel.CreateName = StringConvert.GetRandomName(_actorTable.Sex);
        }
예제 #3
0
        private IEnumerator CreateRoleCoroutine()
        {
            using (var blockingLayer = new BlockingLayerHelper(0))
            {
                var _msg = NetManager.Instance.CreateCharacter(PlayerDataManager.Instance.ServerId, DataModel.CreateType,
                                                               DataModel.CreateName);
                yield return(_msg.SendAndWaitUntilDone());

                if (_msg.State == MessageState.Reply)
                {
                    if (_msg.ErrorCode == (int)ErrorCodes.OK)
                    {
                        var _list = PlayerDataManager.Instance.CharacterLists;
                        _list = _msg.Response.Info;
                        // RefreshDate(msg.Response.Info, msg.Response.SelectId);
                        //新需求,创建完人物直接进入游戏
                        GameLogic.PlayFirstEnterGameCG = 1;
                        var _role           = _list[_list.Count - 1];
                        var _SelectedRoleId = _role.CharacterId;

                        var _serverName = PlayerDataManager.Instance.ServerName;
                        var _serverId   = PlayerDataManager.Instance.ServerId;
                        PlayerDataManager.Instance.CharacterFoundTime = Extension.FromServerBinary(_msg.Response.CharacterFoundTime);
                        var _ts   = PlayerDataManager.Instance.CharacterFoundTime - DateTime.Parse("1970-1-1");
                        var _time = (int)_ts.TotalSeconds;
                        PlatformHelper.CollectionCreateRoleDataForKuaifa(_SelectedRoleId.ToString(), DataModel.CreateName,
                                                                         _serverId.ToString(), _serverName, _time.ToString());

                        {
                            //这里实现给主角名字赋值,为了后面对话时用
                            PlayerDataManager.Instance.PlayerDataModel.CharacterBase.Name = _role.Name;
                        }
#if UNITY_EDITOR
                        var _skip = true;
#else
                        bool _skip = true;
                        //bool skip = list.Count>1;
#endif
                        //播放创建角色时的CG

                        /*
                         * if (0 == DataModel.CreateType)
                         * {
                         * PlayCG.Instance.PlayCGFile("Video/jianshi.txt",
                         *  () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false);
                         * }
                         * else if (1 == DataModel.CreateType)
                         * {
                         * PlayCG.Instance.PlayCGFile("Video/fashi.txt",
                         *  () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false);
                         * }
                         * else if (2 == DataModel.CreateType)
                         * {
                         * PlayCG.Instance.PlayCGFile("Video/gongshou.txt",
                         *  () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false);
                         * }
                         * else
                         * {
                         * NetManager.Instance.CallEnterGame(SelectedRoleId);
                         * }*/
                        NetManager.Instance.CallEnterGame(_SelectedRoleId);
                    }
                    else
                    {
                        if (_msg.ErrorCode == (int)ErrorCodes.Error_NAME_IN_USE)
                        {
                            if (GameSetting.Instance.ReviewState == 1)
                            {
                                // 防止无限递归
                                if (RandomNameCount > 100)
                                {
                                    yield break;
                                }

                                RandomNameCount++;
                                DataModel.CreateType = UnityEngine.Random.Range(0, 3);
                                var actorTable = Table.GetActor(DataModel.CreateType);
                                DataModel.CreateName = StringConvert.GetRandomName(actorTable.Sex);
                                DataModel.CreateName = DataModel.CreateName.Trim();

                                NetManager.Instance.StartCoroutine(CreateRoleCoroutine());
                            }
                            else
                            {
                                var _dicId = _msg.ErrorCode + 200000000;
                                var _tbDic = Table.GetDictionary(_dicId);
                                var _info  = "";
                                _info = _tbDic.Desc[GameUtils.LanguageIndex];
                                UIManager.Instance.ShowMessage(MessageBoxType.Ok, _info, "");
                            }
                        }
                        else
                        {
                            UIManager.Instance.ShowNetError(_msg.ErrorCode);
                        }
                    }
                }
                else
                {
                    Logger.Debug("CreateCharacter.................." + _msg.State);
                }
            }
        }
예제 #4
0
    //随机一个姓名
    public void Button_GetRandomName(IEvent ievent)
    {
        var actorTable = Table.GetActor(DataModel.CreateType);

        DataModel.CreateName = StringConvert.GetRandomName(actorTable.Sex);
    }