示例#1
0
        private void _initTileDefinitions()
        {
            // Register space first because I'm a hard coding hack.
            var spaceDef = _prototypeManager.Index <ContentTileDefinition>("space");

            _tileDefinitionManager.Register(spaceDef);

            var prototypeList = new List <ContentTileDefinition>();

            foreach (var tileDef in _prototypeManager.EnumeratePrototypes <ContentTileDefinition>())
            {
                if (tileDef.Name == "space")
                {
                    continue;
                }

                prototypeList.Add(tileDef);
            }

            // Sort ordinal to ensure it's consistent client and server.
            // So that tile IDs match up.
            prototypeList.Sort((a, b) => string.Compare(a.Name, b.Name, StringComparison.Ordinal));

            foreach (var tileDef in prototypeList)
            {
                _tileDefinitionManager.Register(tileDef);
            }

            _tileDefinitionManager.Initialize();
        }
示例#2
0
        public override void PostInit()
        {
            base.PostInit();
            // DEVNOTE: You might want to put special init handlers for, say, tiles here.
            // TODO: Document what else you might want to put here

            _tileDefinitionManager.Register(new DefaultTile());
            _tileDefinitionManager.Initialize();
        }
示例#3
0
 public void Register(ITileDefinitionManager tileDefinitionManager)
 {
     _tileId = tileDefinitionManager.Register(this);
 }