예제 #1
0
        public FromInstructionsBuilder(string layerEnumStr, TilemapEditor tE, TilemapSerialization tS)
        {
            tE.SetActiveLayer(layerEnumStr);
            tilemapSerialization = tS;
            tilemapEditor        = tE;


            tilemap = tE.currentTilemap;
            charmap = tS.tilemapToCharMapDict[tilemap];
        }
 private void LoadTilemapEditor()
 {
     if (tilemapEditor == null)
     {
         tilemapEditor = new TilemapEditor(
             this, this.level, this.tilemap, this.solidityMap, this.tileset, this.overlay,
             this.paletteEditor, this.tilesetEditor, this.levelsSolidTiles, this.levelsTemplate);
         tilemapEditor.FormClosing += new FormClosingEventHandler(editor_FormClosing);
     }
     else
     {
         tilemapEditor.Reload(
             this, this.level, this.tilemap, this.solidityMap, this.tileset, this.overlay,
             this.paletteEditor, this.tilesetEditor, this.levelsSolidTiles, this.levelsTemplate);
     }
 }
예제 #3
0
 private void LoadTilemapEditor()
 {
     if (tilemapEditor == null)
     {
         tilemapEditor = new TilemapEditor(
             this, this.tilemap, this.tileset, this.overlay,
             this.stagePaletteEditor, this.tilesetEditor);
         tilemapEditor.FormClosing += new FormClosingEventHandler(editor_FormClosing);
     }
     else
     {
         tilemapEditor.Reload(
             this, this.tilemap, this.tileset, this.overlay,
             this.stagePaletteEditor, this.tilesetEditor);
     }
 }
        public void Initialize(TilemapEditor tilemapEditor, Dictionary <TileBase, char> tileToCharDict)
        {
            size = tilemapEditor.GetTilemapSize();
            arr  = new char[size.x][];

            this.tileToChar = tileToCharDict;

            for (int xxx = 0; xxx < size.x; xxx++)
            {
                arr[xxx] = new char[size.y];

                for (int yyy = 0; yyy < size.y; yyy++)
                {
                    arr[xxx][yyy] = airChar; // populate it all with air for now
                }
            }

            Debug.Log("init");
        }
예제 #5
0
 void Awake()
 {
     Instance = this;
 }
예제 #6
0
    public override void OnInspectorGUI()
    {
        Tilemap tl = target as Tilemap;

        bool difference = false;

        tl.spriteSheet = EditorGUILayout.ObjectField("Spritesheet : ", tl.spriteSheet, typeof(Texture2D), false) as Texture2D;

        if (tl.width != tl._internalWidth)
        {
            GUI.color  = Color.red;
            difference = true;
        }
        else
        {
            GUI.color = new Color(0.7f, 0.7f, 0.7f, 1.0f);
        }

        tl.width = EditorGUILayout.IntField("width", tl.width);


        if (tl.height != tl._internalHeight)
        {
            GUI.color  = Color.red;
            difference = true;
        }
        else
        {
            GUI.color = new Color(0.7f, 0.7f, 0.7f, 1.0f);
        }

        tl.height = EditorGUILayout.IntField("height", tl.height);

        tl.tileSize = EditorGUILayout.IntField("Tile size", tl.tileSize);

        GUILayout.BeginHorizontal();

        if (GUILayout.Button("Make Tilemap", GUILayout.MinHeight(40)) && tl.spriteSheet != null)
        {
            tl.BuildMap();
        }

        if (GUILayout.Button("Edit tilemap", GUILayout.MinHeight(40)))
        {
            TilemapEditor e = EditorWindow.GetWindow <TilemapEditor>();
            e.editedTilemap = target as Tilemap;
            e.ShowPopup();
        }
        GUILayout.EndHorizontal();

        if (GUILayout.Button("Save Tilemap"))
        {
            SaveTilemap();
        }

        if (GUILayout.Button("Load Tilemap"))
        {
            ReadTilemap();
        }


        if (difference)
        {
            GUI.color = Color.red;
            GUILayout.Label("internal size different from editor size, rebuild tilemap!");
        }

        if (tl.spriteSheet == null)
        {
            GUI.contentColor = Color.red;
            GUILayout.Label("Spritesheet null, can't build map!");
        }
    }