예제 #1
0
        public void OnClick(object sender, EventArgs e)
        {
            currentEditorMode = EditorMode.Default;

            if(sender is Button)
            {
                Button b = (Button)sender;
                if (b.command == "layer-") ChangeLayer(currentLayerID - 1);
                if (b.command == "layer+") ChangeLayer(currentLayerID + 1);
                
                if (b.command == "removelayer") RemoveLayer();
                if (b.command == "addlayer") AddLayer();
                if (b.command == "addLayerForeGround") AddLayer(true);
                if (b.command == "addLayerBackGround") AddLayer(false);
                if (b.command == "tileset-") ChangeTileset(currentTilesetID - 1);
                if (b.command == "tileset+") ChangeTileset(currentTilesetID + 1);
                if (b.command == "newTileset") AddTileset();
                if (b.command == "addCollision")
                {
                    currentEditorMode = EditorMode.ObjectAdd;
                    currentObjectAddmode = ObjectAddMode.Collision;
                }
                if (b.command == "removeobjects") currentEditorMode = EditorMode.ObjectEdit;
                //if (b.command == "add") objectadd = true;
                if (b.command == "bfground")
                {
                    if (b.text.StartsWith("B")) editorBackground = false;                    
                    else editorBackground = true;                   
                    ChangeLayer(0);
                }
                if (b.command == "refreshtileset")
                {
                    TilesetView.Position = new Vector2(0, 0);
                    TilesetView.Zoom = 1f;
                }
                if (b.command == "addentity")
                {
                    currentEditorMode = EditorMode.EntityAdd;
                }

            }

            if (sender is Textfield)
            {
                Textfield t = (Textfield)sender;
                if (t.command == "addTileset") AddTileset(t.text);
            }  
        }
예제 #2
0
 public void cmd(string[] param)
 {
     if (param[0] == "!map") updateMap();
     if (param[0] == "!loadmap")
     {
         Map map = SaveGame.DeserializeMap<Map>(param[1]);
         level.LoadMap(map);
         ChangeLayer(0);
         ChangeTileset(0);
     }
     if (param[0] == "!addtileset")
     {
         AddTileset("maps/tilesets/" + param[1]);
     }
     if (param[0] == "!addlayer")
     {
         AddLayer(bool.Parse(param[1]));
     }
     if (param[0] == "!newmap")
     {
         NewMap(new Map(param[1], int.Parse(param[2]), int.Parse(param[3]), int.Parse(param[4]), int.Parse(param[5])));
     }
     if (param[0] == "!setlayer")
     {
         ChangeLayer(Int32.Parse(param[1]));
     }
     if (param[0] == "!savemap")
     {
         SaveGame.SerializeMap<object>(param[1], (object)level.CurrentMap);
     }
     if (param[0] == "!fill")
     {
         FillLayer(0);
     }
     if (param[0] == "!addtp")
     {
         teleporterparams = new Teleporter(new Rectangle(), int.Parse(param[1]), new Vector2(float.Parse(param[2]), float.Parse(param[3])));
         currentEditorMode = EditorMode.ObjectAdd;
         currentObjectAddmode = ObjectAddMode.Teleporter;
     }
 }