Пример #1
0
        public IEnumerator StartGameCoroutine(RolesInfo role)
        {
            yield return(StartCoroutine(ListBranchinges()));

            KBEngine.PacketHolder     packet  = new KBEngine.PacketHolder();
            CGSelectCharacter.Builder selChar = CGSelectCharacter.CreateBuilder();
            selChar.Username = SaveGame.saveGame.GetDefaultUserName();
            selChar.Password = SaveGame.saveGame.GetDefaultPassword();
            selChar.PlayerId = role.PlayerId;

            Debug.Log("LoginInit:: StartGameCoroutine BranchNumb " + branches.BranchingCount);

            selChar.Branching = branches.GetBranching(0).Line;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, selChar, packet)));

            if (packet.packet.responseFlag == 0)
            {
                var selCharRes = packet.packet.protoBody as GCSelectCharacter;
                SaveGame.saveGame.loginCharData = selCharRes;

                SaveGame.saveGame.SetSelectChar(role);

                StartCoroutine(BindSession());
            }
            else
            {
            }
        }
Пример #2
0
        //游戏过程中切换场景 向服务器请求场景切换
        public IEnumerator ChangeScene(int sceneId, bool isRelive)
        {
            Log.Sys("ChangeEnterNextScene " + sceneId);
            nextSceneId = sceneId;
            var sdata = CopyController.copyController.GetLevelInfo(nextSceneId);

            BackgroundSound.Instance.PlaySound(sdata.background);

            station = isRelive ? WorldStation.Relive : WorldStation.AskChangeScene;

            //先显示加载界面,首先加载网络资源接着加载静态资源
            loadUI = WindowMng.windowMng.PushView("UI/loading").GetComponent <LoadingUI>();
            //再去清理UI 层深度信息
            MyEventSystem.myEventSystem.PushEvent(MyEvent.EventType.ChangeScene);

            Log.Net("EnterScene Process");

            CGEnterScene.Builder es = CGEnterScene.CreateBuilder();
            es.Id = sceneId;
            var packet = new KBEngine.PacketHolder();

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

            if (packet.packet.responseFlag == 0)
            {
                station = WorldStation.Entering;
                yield return(StartCoroutine(EnterScene(packet.packet.protoBody as GCEnterScene)));
            }
            else
            {
                Debug.LogError("ChangeScene Error ");
            }
        }
Пример #3
0
        //通过网络使用装备
        public IEnumerator UseEquipForNetwork()
        {
            Log.Important("Use EquipData For Network");
            var newEquip = SlotData [slotId];

            CGUserDressEquip.Builder equip = CGUserDressEquip.CreateBuilder();
            equip.DressType  = true;
            equip.SrcEquipId = newEquip.id;

            if (oldEquip != null)
            {
                equip.DestEquipId = oldEquip.id;
            }
            else
            {
                equip.DestEquipId = 0;
            }

            var packet = new KBEngine.PacketHolder();

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

            if (packet.packet.responseFlag == 0)
            {
                var useResult = packet.packet.protoBody as GCUserDressEquip;

                UseEquipNetworkResp(useResult);
            }
            else
            {
            }
        }
Пример #4
0
        /*
         *  注入经验
         */
        public IEnumerator InjectionExperience()
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGInjectionExperience.CreateBuilder();

            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #5
0
        /*
         * Network Init EquipmentData
         */
        IEnumerator InitEquipData()
        {
            Debug.Log("BackPack::InitEquipData  ");
            UserEquipClear();

            var packet = new KBEngine.PacketHolder();

            CGLoadPackInfo.Builder equip = CGLoadPackInfo.CreateBuilder();
            equip.PackType = PackType.DRESSED_PACK;
            var data = equip.BuildPartial();

            KBEngine.Bundle bundle = new KBEngine.Bundle();
            bundle.newMessage(data.GetType());
            uint fid = bundle.writePB(data);

            yield return(StartCoroutine(bundle.sendCoroutine(KBEngine.KBEngineApp.app.networkInterface(), fid, packet)));

            if (packet.packet.responseFlag == 0)
            {
                var ret = packet.packet.protoBody as GCLoadPackInfo;
                foreach (PackInfo pkinfo in ret.PackInfoList)
                {
                    var eqData = new EquipData(pkinfo);
                    UseEquip(eqData);
                }
            }
            else
            {
            }
        }
Пример #6
0
        /*
         *  解散公会
         */
        public IEnumerator DisbandGuild()
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGDisbandGuild.CreateBuilder();

            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #7
0
        /*
         * 退出副本
         */
        public IEnumerator exitDungeon()
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGExitDungeon.CreateBuilder();

            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #8
0
        /*
         * 发送邮件
         */
        public IEnumerator SendMail(string receiver, string title, string content, int goldCoin, int goldTicket, int silverCoin, int silverTicket, List <int> itemIds)
        {
            var packet = new KBEngine.PacketHolder();
            var send   = CGSendMail.CreateBuilder();

            send.Receiver = receiver;
            send.Title    = title;
            send.Content  = content;
            //send.GoldCoin = 0;
            //send.GoldTicket = 0;
            send.SilverCoin = silverCoin;
            if (itemIds != null)
            {
                foreach (int i in itemIds)
                {
                    var att = SendSingleAttachment.CreateBuilder();
                    att.UserPropId   = i;
                    att.UserPropType = 0;
                    send.AddSendSingleAttachment(att);
                }
            }

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

            //扣除银币和 道具
            //BackPack.backpack.SendMail (silverCoin, itemIds);
        }
Пример #9
0
        /*
         * 组队邀请
         */
        public IEnumerator SendTeamInvite(int targetId)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGSendTeamInvite.CreateBuilder();

            load.TargetId = targetId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #10
0
        /*
         * 申请加入队伍
         */
        public IEnumerator ApplyTeam(int teamId)
        {
            var packet = new KBEngine.PacketHolder();
            var p      = CGApplyTeam.CreateBuilder();

            p.TeamId = teamId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, p, packet)));
        }
Пример #11
0
        /*
         *  邀请切磋
         */
        public IEnumerator LoadContestInvite(int inviteId)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGContestInvite.CreateBuilder();

            load.InvitedId = inviteId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #12
0
        /*
         *  转让会长
         */
        public IEnumerator DevolveMaster(int targetId)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGDevolveMaster.CreateBuilder();

            load.TargetPlayerId = targetId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #13
0
        /*
         *  创建公会
         */
        public IEnumerator ApplyJoinGuild(int guildId)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGApplyJoinGuild.CreateBuilder();

            load.GuildId = guildId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #14
0
        /*
         *  修改宣言信息
         */
        public IEnumerator ModifyManifesto(string str)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGModifyManifesto.CreateBuilder();

            load.GuildManifesto = str;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #15
0
        /*
         *  任命成员
         */
        public IEnumerator AppointMember(int targetId, int duty)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGAppointMember.CreateBuilder();

            load.TargetPlayerId = targetId;
            load.Duty           = duty;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #16
0
        /*
         *  回复切磋邀请
         */
        public IEnumerator ContestReplayInvite(int replayinviteId, ReplayState state)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGContestReplayInvite.CreateBuilder();

            load.ReplyInviteId = replayinviteId;
            load.ReplyState    = state;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #17
0
        /*
         * 加载公会列表信息
         */
        public IEnumerator LoadGuildListInfo()
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGLoadGuildList.CreateBuilder();

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

            loadguildList = (packet.packet.protoBody as GCLoadGuildList);
        }
Пример #18
0
        /*
         * 处理组队邀请
         */
        public IEnumerator ProcessInviteTeam(int targetid, bool accept)
        {
            var packet = new KBEngine.PacketHolder();
            var p      = CGProcessInviteTeam.CreateBuilder();

            p.TargetId = targetid;
            p.Accept   = accept;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, p, packet)));
        }
Пример #19
0
        /*
         * 加载邮件消息
         */
        public IEnumerator LoadMail()
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGLoadMails.CreateBuilder();

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

            mails = (packet.packet.protoBody as GCLoadMails);
        }
Пример #20
0
        /*
         *  创建公会
         */
        public IEnumerator CreatGuildInfo(string guildName, string guildManifesto)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGCreateGuild.CreateBuilder();

            load.GuildName      = guildName;
            load.GuildManifesto = guildManifesto;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
        }
Пример #21
0
        /*
         * 学习公会技能
         */
        public IEnumerator LearnGuildSkill(int skillId)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGLearnGuildSkill.CreateBuilder();

            load.SkillId = skillId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));

            learnguildskill = (packet.packet.protoBody as GCLearnGuildSkill);
        }
Пример #22
0
        /*
         *  加载公会技能面板
         */
        public IEnumerator LoadGuildSkills()
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGLoadGuildSkills.CreateBuilder();

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

            //GCLoadGuildSkills guildskills = (packet.packet.protoBody as GCLoadGuildSkills);
            //guildskills.GuildSkillList
        }
Пример #23
0
        public IEnumerator LeaveTeam()
        {
            var packet = new KBEngine.PacketHolder();
            var leave  = CGLeaveTeam.CreateBuilder();

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

            myTeam = null;
            MyEventSystem.myEventSystem.PushEvent(MyEvent.EventType.TeamStateChange);
        }
Пример #24
0
        /*
         * 收取单个邮件 附件
         */
        public IEnumerator ReceiveSingleMail(int mailId)
        {
            var packet = new KBEngine.PacketHolder();
            var rec    = CGReceiveSingleMailAllReward.CreateBuilder();

            rec.MailId = mailId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, rec, packet)));

            //mailList.ReceiveSingle (mailId);
        }
Пример #25
0
        /*
         * 读取一封邮件
         */
        public IEnumerator ReadMail(int EMailId)
        {
            var packet = new KBEngine.PacketHolder();
            var read   = CGReadMail.CreateBuilder();

            read.MailId = EMailId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, read, packet)));

            readmail = (packet.packet.protoBody as GCReadMail);
        }
Пример #26
0
        public IEnumerator RejectApply(GCPushTeamInvite invite)
        {
            var packet = new KBEngine.PacketHolder();
            var accept = CGProcessApplyTeam.CreateBuilder();

            accept.TargetId   = invite.PlayerId;
            accept.Accept     = false;
            accept.TargetName = invite.PlayerName;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, accept, packet)));
        }
Пример #27
0
        /*
         * 删除一封邮件
         */
        public IEnumerator DelMails(List <int> mailIds)
        {
            var ids    = string.Join(",", mailIds.Select(x => x.ToString()).ToArray());
            var packet = new KBEngine.PacketHolder();
            var del    = CGDelMails.CreateBuilder();

            del.MailIds = ids;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, del, packet)));
            //mailList.DelMail (mailIds);
        }
Пример #28
0
        /*
         * 收取所有邮件  里面的附件
         */
        public IEnumerator ReceiveMailsAllReward()
        {
            var packet = new KBEngine.PacketHolder();
            var rec    = CGReceiveMailsAllReward.CreateBuilder();

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

            //Clear Mail State
            //BackPack.backpack.ReceiveAll (packet.packet.protoBody as GCReceiveMailsAllReward);
        }
Пример #29
0
        /*
         * 购买公会商店物品
         */
        public IEnumerator BuyGuildShopGoods(int shopId, int count)
        {
            var packet = new KBEngine.PacketHolder();
            var load   = CGBuyGuildShopGoods.CreateBuilder();

            load.ShopId = shopId;
            load.Count  = count;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, load, packet)));
            //GCBuyGuildShopGoods buy = (packet.packet.protoBody as GCBuyGuildShopGoods);
            //buy.Donate
        }
Пример #30
0
        public IEnumerator DownLevelSkill(int skillId)
        {
            var packet    = new KBEngine.PacketHolder();
            var levelDown = CGSkillLevelDown.CreateBuilder();

            levelDown.SkillId = skillId;
            yield return(StartCoroutine(KBEngine.Bundle.sendSimple(this, levelDown, packet)));

            //skillList.LevelUpWithProps (packet.packet.protoBody as GCInjectPropsLevelUp);
            LevelDown(skillId);
            MyEventSystem.myEventSystem.PushEvent(MyEvent.EventType.UpdateSkill);
        }