コード例 #1
0
        public static void CreateCharacter(KBEngine.Packet packet)
        {
            var inpb = packet.protoBody as CGCreateCharacter;
            var au   = GCCreateCharacter.CreateBuilder();
            var role = RolesInfo.CreateBuilder();

            role.Name     = inpb.PlayerName;
            role.PlayerId = 100;
            //playerId++;
            role.Level = 1;
            role.Job   = inpb.Job;

            var msg = role.Build();

            ServerData.Instance.playerInfo.Roles = RolesInfo.CreateBuilder(msg).Build();

            var dress = new int[]
            {
                97, 68, 69, 70, 71, 72,
            };
            int id    = 1;
            var pinfo = ServerData.Instance.playerInfo;

            foreach (var d in dress)
            {
                var pkinfo  = PackInfo.CreateBuilder();
                var pkEntry = PackEntry.CreateBuilder();
                pkEntry.Id        = id++;
                pkEntry.BaseId    = d;
                pkEntry.GoodsType = 1;
                pkEntry.Level     = 1;
                pkinfo.PackEntry  = pkEntry.Build();
                pinfo.AddDressInfo(pkinfo);
            }

            var cinfo = GCCopyInfo.CreateBuilder();
            var cin   = CopyInfo.CreateBuilder();

            cin.Id     = 209;
            cin.IsPass = true;
            cinfo.AddCopyInfo(cin);
            var msg2 = cinfo.Build();

            pinfo.CopyInfos = msg2;

            au.AddRolesInfos(msg);
            ServerBundle.SendImmediate(au, packet.flowId);

            //投掷 跳跃
            pinfo.Roles.Level = 10;
            AddSkillPoint(10);
            LevelUpSkill(3);
            LevelUpSkill(4);
        }
コード例 #2
0
        IEnumerator CreateCoroutine(string name, int job)
        {
            Log.Net("LoginInit::Create Char is  " + name + " " + job);
            var packet = new KBEngine.PacketHolder();

            CGCreateCharacter.Builder charCreate = CGCreateCharacter.CreateBuilder();
            charCreate.Username   = SaveGame.saveGame.GetDefaultUserName();
            charCreate.Password   = SaveGame.saveGame.GetDefaultPassword();
            charCreate.PlayerName = name;

            charCreate.Job = (Job)(job);

            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, charCreate, packet)));

            if (packet.packet.responseFlag == 0)
            {
                GCCreateCharacter createRes = packet.packet.protoBody as GCCreateCharacter;
                Log.Net("LoginInit::CreateCoroutine: create success");

                if (SaveGame.saveGame.charInfo == null)
                {
                    GCLoginAccount.Builder cinfo1 = GCLoginAccount.CreateBuilder();
                    SaveGame.saveGame.charInfo = cinfo1.BuildPartial();
                }
                GCLoginAccount.Builder cinfo = GCLoginAccount.CreateBuilder();

                foreach (RolesInfo ri in createRes.RolesInfosList)
                {
                    cinfo.RolesInfosList.Add(ri);
                }

                SaveGame.saveGame.charInfo = cinfo.BuildPartial();
                Log.Net("CharInfo set");

                Log.Net("LoginInit::CreateCoroutine : " + SaveGame.saveGame.charInfo.RolesInfosCount);

                MyEventSystem.myEventSystem.PushEvent(MyEvent.EventType.CreateSuccess);
            }
            else
            {
            }
        }
コード例 #3
0
        public static void CreateCharacter(KBEngine.Packet packet)
        {
            var inpb = packet.protoBody as CGCreateCharacter;
            var au   = GCCreateCharacter.CreateBuilder();
            var role = RolesInfo.CreateBuilder();

            role.Name     = inpb.PlayerName;
            role.PlayerId = 100;
            //playerId++;
            role.Level = 1;
            role.Job   = inpb.Job;

            var msg = role.Build();

            ServerData.Instance.playerInfo.Roles = msg;

            var dress = new int[]
            {
                97, 68, 69, 70, 71, 72,
            };
            int id    = 1;
            var pinfo = ServerData.Instance.playerInfo;

            foreach (var d in dress)
            {
                var pkinfo  = PackInfo.CreateBuilder();
                var pkEntry = PackEntry.CreateBuilder();
                pkEntry.Id        = id++;
                pkEntry.BaseId    = d;
                pkEntry.GoodsType = 1;
                pkEntry.Level     = 1;
                pkinfo.PackEntry  = pkEntry.Build();
                pinfo.AddDressInfo(pkinfo);
            }

            au.AddRolesInfos(msg);


            ServerBundle.SendImmediate(au, packet.flowId);
        }