Beispiel #1
0
        public void ImportMap(string filePath)
        {
            TileMapFile mapFile = (TileMapFile)Deserialize(filePath);

            Debug.Log("Imported map file version: " + mapFile.version);
            if (mapFile.version > Deftly.Options.MapVersion)
            {
                Debug.LogError("Map version file requieres version: " + mapFile.version + "! Please download the latest build");
                return;
            }
            TileMapData mapData = mapFile.tileMapData;

            MeshSettings.TilesX = mapData.SizeX;
            MeshSettings.TilesY = mapData.SizeY;

            m_tileMapData = mapData;

            DestroyMesh();
            CreateMesh();

            DestroyEntities();
            m_entities = new Dictionary <Vector2Int, EntitiesData.EntityID>();

            AddEntities(mapFile.entities);
            DisplayEntities();
        }
Beispiel #2
0
        protected virtual void Awake()
        {
            Environment.SetEnvironmentVariable("MONO_REFLECTION_SERIALIZER", "yes");
            assetsPath = Application.streamingAssetsPath;

            if (m_tileMeshSettings == null)
            {
                m_tileMeshSettings = new TileMeshSettings(2, 2, 16, 1f, MeshMode.SingleQuad);
            }

            if (m_tileSheet == null)
            {
                m_tileSheet = ScriptableObject.CreateInstance <TileSheet>();
            }

            if (m_chunkManager == null)
            {
                m_chunkManager = new TileChunkManager();
                m_chunkManager.Initialize(this, m_tileMeshSettings);
            }

            if (m_tileMapData == null)
            {
                m_tileMapData = new TileMapData();
                m_tileMapData.SetSize(m_tileMeshSettings.TilesX, m_tileMeshSettings.TilesY);
            }

            if (Application.isPlaying || m_activeInEditMode)
            {
                CreateMesh();
            }
        }
Beispiel #3
0
        protected virtual void Awake()
        {
            if (m_tileMeshSettings == null)
            {
                m_tileMeshSettings = new TileMeshSettings(2, 2, 16, 1f, MeshMode.SingleQuad);
            }

            if (m_tileSheet == null)
            {
                m_tileSheet = ScriptableObject.CreateInstance <TileSheet>();
            }

            if (m_chunkManager == null)
            {
                m_chunkManager = new TileChunkManager();
                m_chunkManager.Initialize(this, m_tileMeshSettings);
            }

            if (m_tileMapData == null)
            {
                m_tileMapData = new TileMapData();
                m_tileMapData.SetSize(m_tileMeshSettings.TilesX, m_tileMeshSettings.TilesY);
            }

            if (Application.isPlaying || m_activeInEditMode)
            {
                CreateMesh();
            }
        }
Beispiel #4
0
 public TileMapFile(TileMapData data, Dictionary <Vector2Int, EntitiesData.EntityID> ent)
 {
     tileMapData = data;
     entities    = ent;
     version     = Deftly.Options.MapVersion;
 }