Ejemplo n.º 1
0
        private void InitManagers()
        {
            this._loader = LoaderManager.Instance;
            this._loader.LoadFiles();
            this._mapLoader = new MapLoader();
            var initInfo = new MapInitInfo();

            initInfo.Biome = EBiome.Grassland;
            var lParty = new PartyBuildParams();
            var rParty = new PartyBuildParams();

            lParty.AIControlled = true;
            lParty.Culture      = ECulture.Orcish;
            lParty.Difficulty   = 2000;
            lParty.Name         = "Ween Herders";

            rParty.AIControlled = true;
            rParty.Culture      = ECulture.Goblin;
            rParty.Difficulty   = 2000;
            rParty.Name         = "Battle Party";

            initInfo.LParties.Add(lParty);
            initInfo.RParties.Add(rParty);
            initInfo.Cols = 20;
            initInfo.Rows = 20;
            var map = this._mapLoader.GetCombatMap(initInfo);

            CombatManager.Instance.Init(map);
        }
Ejemplo n.º 2
0
 private void InitTileType(CTile tile, MapInitInfo info)
 {
     if (tile.Model.Type == ETile.None)
     {
         var    mapParams = BiomeTable.Instance.Table[info.Biome];
         double roll      = RNG.Instance.NextDouble();
         double tally     = 1.0;
         foreach (var kvp in mapParams.TileDict)
         {
             tally -= kvp.Value;
             if (roll >= tally)
             {
                 tile.Model.SetType(kvp.Key);
                 tile.Model.SetAPCost(TileTable.Instance.Table[kvp.Key].Cost);
                 tile.Model.SetStaminaCost(TileTable.Instance.Table[kvp.Key].StaminaCost);
                 tile.Model.SetThreatMod(TileTable.Instance.Table[kvp.Key].ThreatMod);
                 tile.Model.SetVulnMod(TileTable.Instance.Table[kvp.Key].VulnMod);
                 if (TileTable.Instance.Table[kvp.Key].Liquid)
                 {
                     tile.Model.SetLiquid(true);
                 }
                 break;
             }
         }
     }
 }
Ejemplo n.º 3
0
        public void Init(CMap map, MapInitInfo info)
        {
            var builder = new PartyBuilder();

            foreach (var partyInfo in info.LParties)
            {
                var party = builder.Build(partyInfo);
                party.SetAIControlled(partyInfo.AIControlled);
                map.GetLParties().Add(party);
            }

            foreach (var partyInfo in info.RParties)
            {
                var party = builder.Build(partyInfo);
                party.SetAIControlled(partyInfo.AIControlled);
                map.GetRParties().Add(party);
            }

            foreach (var party in map.GetLParties())
            {
                foreach (var character in party.GetChars())
                {
                    character.Proxy.SetLParty(true);
                }
            }
        }
Ejemplo n.º 4
0
        private void InitTiles(MapInitInfo info)
        {
            var loader = new TileLoader();

            loader.InitLandmarks(this._map, info);
            loader.InitTiles(this._map, info, BackgroundTiles);
            loader.RenderHeights(this._map);
            loader.InitMapEnvironment(this._map, info);
        }
Ejemplo n.º 5
0
 private void InitChars(MapInitInfo info)
 {
     try
     {
         CharLoader.Instance.Init(this.MapHolder, this._map, info);
     }
     catch (Exception e)
     {
         Debug.Log(e.Message);
     }
 }
Ejemplo n.º 6
0
        public CMap GetCombatMap(MapInitInfo info)
        {
            var builder = new MapBuilder();
            var hexMap  = builder.GetMap(info.Rows, info.Cols, ViewParams.OFFSET, ViewParams.MAP_CENTER);
            var map     = new MMap(hexMap);

            this._map.SetMap(map);
            this.InitTiles(info);
            this.InitArmies(info);
            this.InitChars(info);
            return(this._map);
        }
Ejemplo n.º 7
0
 public void InitTiles(CMap controller, MapInitInfo info, Transform tileHolder)
 {
     this.InitTileSprites();
     foreach (var tile in controller.GetMap().GetTiles())
     {
         this.InitTileType(tile, info);
         if (tile.Model.Liquid)
         {
             this.InitLiquidTile(tile, tileHolder);
         }
         else
         {
             this.InitNonLiquidTile(tile, tileHolder);
         }
     }
     controller.GetMap().InitControllerAdjacent();
 }
Ejemplo n.º 8
0
        public void InitLandmarks(CMap controller, MapInitInfo info)
        {
            var biomeParams = BiomeTable.Instance.Table[info.Biome];

            foreach (var tile in controller.GetMap().GetTiles())
            {
                foreach (var kvp in biomeParams.LandmarkDict)
                {
                    var roll = RNG.Instance.NextDouble();
                    if (roll < kvp.Value)
                    {
                        var factory = new LandmarkFactory();
                        factory.BuildLandmark(kvp.Key, tile);
                    }
                }
            }
        }
Ejemplo n.º 9
0
        public void InitMapEnvironment(CMap controller, MapInitInfo info)
        {
            var decoLoader  = new DecoLoader();
            var biomeParams = BiomeTable.Instance.Table[info.Biome];

            foreach (var decoKVP in biomeParams.DecoDict)
            {
                foreach (var tile in controller.GetMap().GetTiles())
                {
                    var roll = RNG.Instance.NextDouble();
                    if (roll < decoKVP.Value && !FTile.HasFlag(tile.GetFlags().CurFlags, FTile.Flags.Environment))
                    {
                        decoLoader.AttachDeco(tile, decoKVP.Key);
                    }
                }
            }
        }
Ejemplo n.º 10
0
        private void InitViews(CMap map, MapInitInfo info)
        {
            var builder = new CharViewBuilder();

            foreach (var party in map.GetLParties())
            {
                foreach (var c in party.GetChars())
                {
                    c.SetView(builder.Build(c.Proxy));
                    var tile = map.GetMap().GetTileForRow(c.Proxy.LParty, c.Proxy.StartCol);
                    this.RenderChar(c, tile);
                }
            }
            foreach (var party in map.GetRParties())
            {
                foreach (var c in party.GetChars())
                {
                    c.SetView(builder.Build(c.Proxy));
                    var tile = map.GetMap().GetTileForRow(c.Proxy.LParty, c.Proxy.StartCol);
                    this.RenderChar(c, tile);
                }
            }
        }
Ejemplo n.º 11
0
        private void InitArmies(MapInitInfo info)
        {
            var loader = new PartyLoader();

            loader.Init(this._map, info);
        }
Ejemplo n.º 12
0
 public void Init(Transform container, CMap map, MapInitInfo info)
 {
     this._container = container;
     this.InitViews(map, info);
 }