public void RemoveObject(MapObject @object) { Objects.Remove(@object); }
public void _AddObject(MapObject @object) { Objects.Add(@object); }
private void GameTest() { Config config = new Config(); //... set up character rules (eg. action points) config.CharacterConfig.ActionPoints = 10; config.CharacterConfig.MovementActionPoints = 1; //... create string consts config.AddStringConst("LEVER_DESC", new Text("This is a lever")); config.AddStringConst("LEVER_DESC_2", new Text("Someone used this lever")); //... create map, spawners and squares Map map = new Map(); map.Width = 5; map.Height = 5; map.AddSpawner(new Position(2, 4)); map.AddSpawner(new Position(0, 3)); //... create objects (with known IDs) MapObject lever = new MapObject(); lever.Id = "lever"; lever.Position = new Position(2, 1); lever.Description = config.GetStringConstByName("LEVER_DESC"); MapObject box = new MapObject(); box.Id = "box"; box.Position = new Position(4, 3); box.Variables.Add(new ObjectVariable("logical", "ready", false)); //ready of box = false config.AddObject(lever); config.AddObject(box); //... create schemes for objects lever.Scheme = GetLeverScheme(); box.Scheme = GetBoxScheme(); //... add everything to config config.Map = map; //Create game based on config Game game = new Game(config); //Set up game with some players (eg. 2) game.SetupPlayers(2); //Start game game.Start(); //do some example actions Console.WriteLine($"Lever desc: {lever.Description.Content}"); //move player1 2 squares north game.DoAction(Game.BasicActions.Movement, Game.MovementParameters.Norht); game.DoAction(Game.BasicActions.Movement, Game.MovementParameters.Norht); //'use' the lever with id 'lever' # this makes it possible to pick up the box game.SelectObject("lever"); game.DoAction("use"); Console.WriteLine($"Lever desc: {lever.Description.Content}"); //next player game.DoAction(Game.BasicActions.EndTurn); //move player2 2 squares east game.SelectObject("_none"); game.DoAction(Game.BasicActions.Movement, Game.MovementParameters.East); game.DoAction(Game.BasicActions.Movement, Game.MovementParameters.East); game.DoAction(Game.BasicActions.Movement, Game.MovementParameters.East); //'pickup' the box with id 'box' game.SelectObject("box"); for (int i = 0; i < 3; ++i) { game.DoAction("pickup"); } //... check outcomes }