OpenRA.Map.PostInit C# (CSharp) Method

PostInit() public method

public PostInit ( ) : void
return void
        void PostInit()
        {
            try
            {
                Rules = Ruleset.Load(modData, this, Tileset, RuleDefinitions, WeaponDefinitions,
                    VoiceDefinitions, NotificationDefinitions, MusicDefinitions, SequenceDefinitions);
            }
            catch (Exception e)
            {
                InvalidCustomRules = true;
                Rules = Ruleset.LoadDefaultsForTileSet(modData, Tileset);
                Log.Write("debug", "Failed to load rules for {0} with error {1}", Title, e.Message);
            }

            Rules.Sequences.Preload();

            var tl = new MPos(0, 0).ToCPos(this);
            var br = new MPos(MapSize.X - 1, MapSize.Y - 1).ToCPos(this);
            AllCells = new CellRegion(Grid.Type, tl, br);

            var btl = new PPos(Bounds.Left, Bounds.Top);
            var bbr = new PPos(Bounds.Right - 1, Bounds.Bottom - 1);
            SetBounds(btl, bbr);

            CustomTerrain = new CellLayer<byte>(this);
            foreach (var uv in AllCells.MapCoords)
                CustomTerrain[uv] = byte.MaxValue;

            AllEdgeCells = UpdateEdgeCells();
        }

Usage Example

Example #1
0
        public static Map FromTileset(TileSet tileset)
        {
            var size      = new Size(1, 1);
            var tileShape = Game.modData.Manifest.TileShape;
            var tileRef   = new TerrainTile(tileset.Templates.First().Key, (byte)0);

            var makeMapTiles = Exts.Lazy(() =>
            {
                var ret = new CellLayer <TerrainTile>(tileShape, size);
                ret.Clear(tileRef);
                return(ret);
            });

            var map = new Map()
            {
                Title        = "Name your map here",
                Description  = "Describe your map here",
                Author       = "Your name here",
                MapSize      = new int2(size),
                Tileset      = tileset.Id,
                Options      = new MapOptions(),
                MapResources = Exts.Lazy(() => new CellLayer <ResourceTile>(tileShape, size)),
                MapTiles     = makeMapTiles,
                Actors       = Exts.Lazy(() => new Dictionary <string, ActorReference>()),
                Smudges      = Exts.Lazy(() => new List <SmudgeReference>())
            };

            map.PostInit();

            return(map);
        }
All Usage Examples Of OpenRA.Map::PostInit