private VisualizerTurn GetTurn(string playerBoard) { var state = new GameState(); var board = new IO.Models.Board() { Width = 1, Height = 1 }; var item = new Tile(); item.Items.Add(new Item()); board.Grid.Add(item); state.BoardNames[playerBoard] = board; var change = new GameChange(); change.TileItemChanges.Add(new Position() { X = 0, Y = 0, BoardId = playerBoard }); var turn = new VisualizerTurn() { State = state, Change = change }; return(turn); }
/// <summary> /// Create a task batch from a turn /// </summary> /// <param name="turn">the turn</param> /// <param name="sceneConfiguration"> /// configuration of this scene /// </param> /// <param name="boardPositionLookUp">lookup service</param> /// <returns></returns> internal static TasksBatch ToTasksBatch( this VisualizerTurn turn, SceneConfiguration sceneConfiguration, BoardPositionLookUp boardPositionLookUp) { GameChange gameChange = turn.Change; GameState gameState = turn.State; TasksBatch batch = new TasksBatch(); var ignoreForHubUpdate = new HashSet <string>(); ProcessCharacterChanges( sceneConfiguration, boardPositionLookUp, gameChange, gameState, batch, ignoreForHubUpdate); ProcessTileChanges(sceneConfiguration, gameState, gameChange, batch); ProcessGameState(batch, sceneConfiguration, gameState, ignoreForHubUpdate); return(batch); }
public VisualizerTurn GetTurn(string playerBoard) { GameState gameState = new GameState(); GameChange gameChange = new GameChange(); gameState.PlayerNames["player"] = new Player() { Character = new Character() { Name = "player", IsDead = true, Position = new Position() { BoardId = playerBoard, X = 0, Y = 0 } } }; gameChange.CharacterChanges["player"] = new CharacterChange() { Died = true, Respawned = false, Decision = new CharacterDecision() }; VisualizerTurn turn = new VisualizerTurn() { Change = gameChange, State = gameState, }; return(turn); }
public void Test(VisualizerTurn turn, HashSet <Task> expectedTasks) { TasksBatch batch = turn.ToTasksBatch(_sceneConfiguration, _mockPositionLookup); var actualTasks = new HashSet <Task>(batch.Tasks); CollectionAssert.AreEquivalent(expectedTasks, actualTasks); }
public VisualizerTurn GetTurn(string playerBoard) { GameState gameState = new GameState(); GameChange gameChange = new GameChange(); gameState.PlayerNames["player"] = new Player() { Character = new Character() { Name = "player", IsDead = false, CurrentHealth = 100, Level = 100, Experience = 100, Position = new Position() { BoardId = playerBoard, X = 0, Y = 0 } } }; var playerChange = new CharacterChange() { Died = false, Respawned = false, Decision = new CharacterDecision() { DecisionType = DecisionType.Attack, }, }; playerChange.AttackLocations.Add(new Position() { X = 0, Y = 0, BoardId = playerBoard }); playerChange.AttackLocations.Add(new Position() { X = 0, Y = 1, BoardId = playerBoard }); gameChange.CharacterChanges["player"] = playerChange; VisualizerTurn turn = new VisualizerTurn() { Change = gameChange, State = gameState, }; return(turn); }
/// <summary> /// Event handler for fetching data /// </summary> private void OnFetchData() { _data.Initial = new VisualizerInitial(); _data.Initial.State = this.GetState(_testData.InitialState); for (int i = 0; i < _testData.Turns.Length; i++) { TestGameTurn testTurn = _testData.Turns[i]; VisualizerTurn turn = new VisualizerTurn(); turn.State = this.GetState(testTurn.State); turn.Change = this.GetChange(testTurn.Change); _data.Turns.Enqueue(turn); } _sceneLifeCycle.DataFetched.Invoke(); }
private VisualizerTurn GetTurn(string playerBoard) { var state = new GameState(); state.PlayerNames["player"] = new Player() { Character = new Character() { CurrentHealth = 10, Level = 22, Experience = 0, Position = new Position() { BoardId = playerBoard, X = 0, Y = 0 } } }; state.MonsterNames["monster"] = new Monster() { Character = new Character() { CurrentHealth = 10, Level = 22, Experience = 0, Position = new Position() { BoardId = playerBoard, X = 1, Y = 1 } } }; var turn = new VisualizerTurn() { State = state, Change = new GameChange() }; return(turn); }
private VisualizerTurn GetTurn(string playerBoard) { GameState gameState = new GameState(); GameChange gameChange = new GameChange(); gameState.PlayerNames["player"] = new Player() { Character = new Character() { CurrentHealth = 10, Level = 22, Experience = 0, Position = new Position() { BoardId = playerBoard, X = 0, Y = 0 }, Weapon = new Weapon() { Sprite = "mm26_wearables/weapons/wands/4.png" } }, Hat = new Hat() { Sprite = "mm26_wearables/clothes/alchemist_head.png" }, Clothes = new Clothes() { Sprite = "mm26_wearables/clothes/alchemist_head.png" }, Shoes = new Shoes() { Sprite = "mm26_wearables/clothes/alchemist_head.png" }, Accessory = new Accessory() { Sprite = "mm26_wearables/clothes/alchemist_head.png" } }; gameChange.CharacterChanges["player"] = new CharacterChange() { Respawned = false, Died = false, Decision = new CharacterDecision() { DecisionType = DecisionType.Equip }, HatChanged = true, }; var turn = new VisualizerTurn() { State = gameState, Change = gameChange }; return(turn); }
private VisualizerTurn GetTurn(string playerBoard) { GameState gameState = new GameState(); GameChange gameChange = new GameChange(); gameState.PlayerNames["player"] = new Player() { Character = new Character() { CurrentHealth = 17, Level = 17, Experience = 17, Position = new Position() { BoardId = playerBoard, X = 1, Y = 1 } } }; gameState.MonsterNames["monster"] = new Monster() { Character = new Character() { CurrentHealth = 17, Level = 17, Experience = 17, Sprite = "monster.png", Position = new Position() { BoardId = playerBoard, X = 0, Y = 1 } } }; gameChange.CharacterChanges["player"] = new CharacterChange() { Respawned = true, Died = false, Decision = new CharacterDecision() { DecisionType = DecisionType.None } }; gameChange.CharacterChanges["monster"] = new CharacterChange() { Respawned = true, Died = false, Decision = new CharacterDecision() { DecisionType = DecisionType.None } }; VisualizerTurn turn = new VisualizerTurn() { Change = gameChange, State = gameState, }; return(turn); }
/// <summary> /// Generate a turn for a given board /// </summary> /// <param name="boardName">the board name</param> /// <returns></returns> private VisualizerTurn GetTurn(string boardName) { // prepare data VisualizerTurn turn = new VisualizerTurn(); // setup game state GameState gameState = new GameState(); gameState.BoardNames[boardName] = new IO.Models.Board() { Width = 1, Height = 2, }; gameState.PlayerNames["player"] = new Player() { Character = new Character() { Name = "player", CurrentHealth = 17, Position = new Position() { X = 0, Y = 1, BoardId = boardName } } }; GameChange gameChange = new GameChange(); CharacterChange characterChange = new CharacterChange() { Died = false, Respawned = false, Decision = new CharacterDecision() { DecisionType = DecisionType.Move } }; characterChange.Path.Add(new Position() { X = 0, Y = 0, BoardId = boardName }); characterChange.Path.Add(new Position() { X = 1, Y = 0, BoardId = boardName }); gameChange.CharacterChanges["player"] = characterChange; turn.State = gameState; turn.Change = gameChange; return(turn); }
/// <summary> /// Make turn for a given board /// </summary> /// <param name="playerBoard">the board to make for</param> /// <returns></returns> private VisualizerTurn GetBoard(string playerBoard) { GameState gameState = new GameState(); GameChange gameChange = new GameChange(); gameState.BoardNames[playerBoard] = new IO.Models.Board() { Width = 2, Height = 2 }; gameState.PlayerNames["player"] = new Player() { Character = new Character() { CurrentHealth = 17, Level = 17, Experience = 17, Position = new Position() { BoardId = playerBoard, X = 1, Y = 1 } } }; gameState.MonsterNames["monster"] = new Monster() { Character = new Character() { CurrentHealth = 17, Level = 17, Experience = 17, Sprite = "monster.png", Position = new Position() { BoardId = playerBoard, X = 0, Y = 1 } } }; gameChange.CharacterChanges["player"] = new CharacterChange() { Died = false, Respawned = false, Decision = new CharacterDecision() { DecisionType = DecisionType.Portal } }; gameChange.CharacterChanges["monster"] = new CharacterChange() { Died = false, Respawned = false, Decision = new CharacterDecision() { DecisionType = DecisionType.Portal } }; VisualizerTurn turn = new VisualizerTurn() { State = gameState, Change = gameChange, }; return(turn); }