Пример #1
0
        public void Init()
        {
            realCli.CtorEnvironment = creator.CreateMap;
            realCli.CtorNPC         = creator.CreateNpc;
            realCli.CreatHero       = creator.CreateHero;
            //creator.CreateUnVision();
            //creator.CreateNpcCache ();

            warInfo = realCli.war;

            ///
            /// 准备Team的信息
            ///
            clientTeam = new WarClientTeam(realCli);


            UIReadyInfo uiReady = new UIReadyInfo()
            {
                ClientID   = DeviceInfo.GUID,
                ClientName = "AW_Client",
            };

            string plainJoin = JSON.Instance.ToJSON(uiReady);

            realCli.proxyServer.UIReady(plainJoin);

            if (warInfo.warMo == WarMode.NativeWar)
            {
                ///
                /// 虚拟客户端
                ///
                uiReady = new UIReadyInfo()
                {
                    ClientID   = "-1",
                    ClientName = "AWClient",
                };

                plainJoin = JSON.Instance.ToJSON(uiReady);
                realCli.proxyServer.UIReady(plainJoin);
            }

            ///
            /// 创建默认的地图
            ///
            cached = ClientCached.Instance;
            creator.CreateMap(cached.map);
        }
Пример #2
0
        public void UIReady(string info)
        {
            UIReadyInfo ready = JSON.Instance.ToObject <UIReadyInfo>(info);

            processedMsg = new NetMQMessage();

            ///加入监控
            bool found = monitor.UIReady(ready);

            if (found)
            {
                processedMsg.Append(WarMsgConsts.UIReadyRep);
            }
            else
            {
                processedMsg.Append(WarMsgConsts.UIReadyRepE);
            }

            if (monitor.validateSyncClient)
            {
                proxyCli.SyncClient(monitor.getSyncMsg);
            }
        }
Пример #3
0
        public bool UIReady(UIReadyInfo uiready)
        {
            bool setOk = false;

            if (uiready != null)
            {
                VirtualClient client = null;
                setOk = ClientPool.TryGetValue(uiready.ClientID, out client);
                if (setOk)
                {
                    if (client.curStatus.check(ClientStatus.Ready))
                    {
                        client.curStatus    = client.curStatus.set(ClientStatus.UIReady);
                        UIReadyClientCount += 1;
                    }
                    else
                    {
                        setOk = false;
                    }
                }
            }

            return(setOk);
        }