Beispiel #1
0
        public static TimeLine BuildTimeline(NamelessGame game, HistoryGenerationSettings settings)
        {
            var timeline   = new TimeLine(game.WorldSettings.Seed);
            var worldBoard = InitialiseFirstBoard(game, settings);

            //timeline.WorldBoardAtEveryAge.Add(worldBoard);
            timeline.CurrentTimelineLayer = worldBoard;


            //String appPath = System.IO.Directory.GetCurrentDirectory();
            //Stopwatch s = new Stopwatch();
            //s.Start();
            //SaveManager.SaveTimelineLayer(appPath + "\\Layers", worldBoard,
            //    worldBoard.Age.ToString());
            //s.Stop();
            //s = new Stopwatch();
            //s.Start();
            //var timelineLayer = SaveManager.LoadTimelineLayer(appPath + "\\Layers",
            //    worldBoard.Age.ToString());
            //s.Stop();
            //timelineLayer.ToString();
            //for (int i = 1; i < settings.HowOldIsTheWorld; i++)
            //{

            //}
            return(timeline);
        }
Beispiel #2
0
        private static TimelineLayer InitialiseFirstBoard(NamelessGame game, HistoryGenerationSettings settings)
        {
            var       worldBoard = new TimelineLayer(game.WorldSettings.WorldBoardWidth, game.WorldSettings.WorldBoardWidth, 0);
            ChunkData chunkData  = new ChunkData(game.WorldSettings, worldBoard);

            worldBoard.Chunks = chunkData;

            WorldBoardGenerator.PopulateWithInitialData(worldBoard, game);
            WorldBoardGenerator.AnalizeLandmasses(worldBoard, game);
            WorldBoardGenerator.PlaceInitialCivilizations(worldBoard, game);
            //WorldBoardGenerator.PlaceInitialArtifacts(worldBoard, game);
            //WorldBoardGenerator.PlaceResources(worldBoard, game);
            //WorldBoardGenerator.DistributeMetaphysics(worldBoard, game);

            WorldTile firsTile = null;

            foreach (var worldBoardWorldTile in worldBoard.WorldTiles)
            {
                if (worldBoardWorldTile.Settlement != null)
                {
                    IWorldProvider worldProvider = chunkData;
                    firsTile = worldBoardWorldTile;
                    var concreteSettlment = SettlementFactory.GenerateSettlement(game, firsTile, worldBoard, worldProvider);

                    firsTile.Settlement.Concrete = concreteSettlment;
                    break;
                }
            }



            //var concreteSettlment = SettlementFactory.GenerateSettlement(game, firsTile, worldBoard, worldProvider);

            //firsTile.Settlement.Concrete = concreteSettlment;

            return(worldBoard);
        }