コード例 #1
0
        public bool CreateWorld(ModelCreateWorld packet)
        {
            Loger.Log("Client CreateWorld");
            var stat = TransObject <ModelStatus>(packet, (int)PackageType.Request7CreateWorld, (int)PackageType.Response8WorldCreated);

            if (stat != null && stat.Status != 0)
            {
                ErrorMessage = stat.Message;
                return(false);
            }
            return(stat != null);
        }
コード例 #2
0
ファイル: SessionClient.cs プロジェクト: natsfr/OnlineCity
        public bool CreateWorld(ModelCreateWorld packet)
        {
            Loger.Log("Client CreateWorld");
            var stat = TransObject <ModelStatus>(packet, 7, 8);

            if (stat != null && stat.Status != 0)
            {
                ErrorMessage = stat.Message;
                return(false);
            }
            return(stat != null);
        }
コード例 #3
0
        /// <summary>
        /// Запускается, когда админ первый раз заходит на сервер, выберет параметры нового мира, и
        /// первое поселение этого мира стартовало.
        /// Здесь происходит чтение созданного мира и сохранение его на сервере, само поселение игнорируется.
        /// </summary>
        private static void CreatingServerWorld()
        {
            Loger.Log("Client CreatingServerWorld()");
            //todo Удаление лишнего, добавление того, что нужно в пустом новом мире на сервере

            //to do

            //передаем полученное
            var toServ = new ModelCreateWorld();

            toServ.MapSize        = GameStarter.SetMapSize;
            toServ.PlanetCoverage = GameStarter.SetPlanetCoverage;
            toServ.Seed           = GameStarter.SetSeed;
            toServ.Difficulty     = GameStarter.SetDifficulty;

            /*
             * toServ.WObjects = Find.World.worldObjects.AllWorldObjects
             *  .Select(wo => new WorldObjectEntry(wo))
             *  .ToList();
             */
            //to do

            var    connect = SessionClient.Get;
            string msg;

            if (!connect.CreateWorld(toServ))
            {
                msg = "OCity_SessionCC_MsgCreateWorlErr".Translate()
                      + Environment.NewLine + connect.ErrorMessage;
            }
            else
            {
                msg = "OCity_SessionCC_MsgCreateWorlGood".Translate();
            }

            Find.WindowStack.Add(new Dialog_Input("OCity_SessionCC_MsgCreatingServer".Translate(), msg, true)
            {
                PostCloseAction = () =>
                {
                    GenScene.GoToMainMenu();
                }
            });
        }
コード例 #4
0
ファイル: Service.cs プロジェクト: PourrezJ/OnlineCity
        public ModelStatus CreatingWorld(ModelCreateWorld packet)
        {
            if (Player == null)
            {
                return(null);
            }

            lock (Player)
            {
                if (!Player.IsAdmin)
                {
                    return(new ModelStatus()
                    {
                        Status = 1,
                        Message = "Access is denied"
                    });
                }
                if (!string.IsNullOrEmpty(Repository.GetData.WorldSeed))
                {
                    return(new ModelStatus()
                    {
                        Status = 2,
                        Message = "The world is already created"
                    });
                }
                var data = Repository.GetData;
                data.WorldSeed           = packet.Seed;
                data.WorldDifficulty     = packet.Difficulty;
                data.WorldMapSize        = packet.MapSize;
                data.WorldPlanetCoverage = packet.PlanetCoverage;
                data.WorldObjects        = packet.WObjects ?? new List <WorldObjectEntry>();
                data.WorldObjectsDeleted = new List <WorldObjectEntry>();
                data.Orders = new List <OrderTrade>();
                Repository.Get.ChangeData = true;
            }

            return(new ModelStatus()
            {
                Status = 0,
                Message = null
            });
        }