Exemplo n.º 1
0
 public bool TryAddNewMapStruct(IMapStructInstance <MapStructDef> mapStruct)
 {
     //if (!this.MapStructManager.TryAddStructure(mapStruct))
     //    return false;
     if (mapStruct is IResourceUser)
     {
         this.ResourceManager.TryRegiseringUser(mapStruct as IResourceUser);
     }
     return(true);
 }
Exemplo n.º 2
0
        public bool TryAddStructure(IMapStructInstance <TDef> mapStruct)
        {
            if (!CanAddInstance(mapStruct))
            {
                return(false);
            }

            var footPrint = mapStruct.GetFootprint();

            _mapStructs.Add(mapStruct.InstanceId, mapStruct);
            foreach (var print in footPrint)
            {
                var x = print[0];
                var y = print[1];
                _cachedRefMap[x, y] = mapStruct.InstanceId;
            }

            return(true);
        }
Exemplo n.º 3
0
        public bool CanAddInstance(IMapStructInstance <TDef> instance)
        {
            var footPrint = instance.GetFootprint();

            foreach (var print in footPrint)
            {
                var x = print[0];
                var y = print[1];

                if (_cachedRefMap[x, y] != null)
                {
                    return(false);
                }
                if (!TileMap.IsOpenToMapStructure(x, y))
                {
                    return(false);
                }
            }
            return(true);
        }