public void DoesLoadGameStateThrowExceptionWhenDuplicateActionIdIsAdded() { var gameStateLoader = new GameStateLoader(); var elements = new List <Element>() { new Element() { Actions = new[] { new AwesomeRpg.Contracts.Models.RawXml.Action() { Id = "abc" } } }, new Element() { Actions = new[] { new AwesomeRpg.Contracts.Models.RawXml.Action() { Id = "abc" } } } }; //Act Assert.Throws <Exception>(() => gameStateLoader.LoadGameState(elements)); //Assert - expected exception }
// Cross-initialize. void Start() { // If this hasn't run yet. if (instance == null) { instance = this; // Load the main (required) scene if it is not loaded. if (!GameStateLoader.IsLoaded("main")) { GameStateLoader.LoadSceneAsync("main"); } // Else if it is loaded and it's the only scene loaded. else if (SceneManager.sceneCount == 1) { // Load the title scene. GameStateLoader.LoadSceneAsync("title"); } } else { // Destroy this game object. Destroy(gameObject); } }
public void OnClickPlay() { // Unload the title scene. GameStateLoader.UnloadSceneAsync("title"); // Load the game scene. GameStateLoader.LoadSceneAsync("game"); }
public void OnClickResume() { // Resume. Resume(); // Unload the pause scene. GameStateLoader.UnloadSceneAsync("pause-menu"); }
public void OnClickMenu() { // Resume. Resume(); // Quit to the main menu. GameStateLoader.UnloadSceneAsync("pause-menu"); GameStateLoader.UnloadSceneAsync("game"); GameStateLoader.LoadSceneAsync("title"); }
public void HandleData(byte[] data) { string datastr = System.Text.Encoding.ASCII.GetString(data).Trim('\0'); serializedGameState += datastr; if (gameState == null) { if (serializedGameState.EndsWith(MultiplayerDataSettings.endChar.ToString())) { gameState = GameStateLoader.Deserialize(serializedGameState.Replace("$", "")); } } else { overheardData += datastr; } }
private void LoadGameStateButton_Click(object sender, RoutedEventArgs e) { try { var loader = new XmlLoader(); var gameStateLoader = new GameStateLoader(); var rawGameState = loader.LoadXml(XmlTextBox.Text); var gameState = gameStateLoader.LoadGameState(rawGameState); App.GameContext.BuildGameContext(gameState); this.OnGameStateLoaded(); } catch (Exception ex) { MessageBox.Show(string.Format("An exception occurred loading the Game State. Exception: {0}", ex), "Exception", MessageBoxButton.OK, MessageBoxImage.Error); } }
private IEnumerator MoveToEndGameMenu() { _isLevelStarted = false; yield return(ShowCountdownMsg(COUNTDOWN_END, 2, true)); yield return(StartFadingOut()); CleanUp(); if (_currentMoney < Level.MoneyGoal) { GameStateLoader.SwitchState(GameStateLoader.GAME_STATES.LOSE_MENU); } else { GameStateLoader.SwitchState(GameStateLoader.GAME_STATES.WIN_MENU); } }
// void start() // original name void Start() { // finds the collision manager in the scene. if (colManager == null) { colManager = FindObjectOfType <CollisionManager>(); } // if the game state loader has not been set, it searches for one. if (gsLoader == null) { gsLoader = FindObjectOfType <GameStateLoader>(); } if (levelGenerator == null) { levelGenerator = FindObjectOfType <LevelGenerator>(); } }
public void DoesLoadGameStateThrowExceptionWhenDuplicateElementIdIsAddedInSameLevel() { var gameStateLoader = new GameStateLoader(); var elements = new List <Element>() { new Element() { Id = "abc" }, new Element() { Id = "abc" } }; //Act Assert.Throws <Exception>(() => gameStateLoader.LoadGameState(elements)); //Assert - expected exception }
public void HandleConnection(int id, ClientHandle clientHandle) { string serializedGameState = GameStateLoader.Serialize(gameState); clientHandle.Send(serializedGameState); }
protected void ChangeState(GameStateLoader.GAME_STATES state) { GameStateLoader.SwitchState(state); }
private void GoToMainMenu() { GameStateLoader.SwitchState(GameStateLoader.GAME_STATES.MAIN_MENU); }
public void RequestStateChange(GameStateLoader.GAME_STATES newState) { GameStateLoader.SwitchState(newState); }
// Update is called once per frame void Update() { GameStateLoader.CheckGameState(); }
public void DoesLoadGameStateWorkWithHappyPath() { //Arrange var gameStateLoader = new GameStateLoader(); var elements = new List <Element>() { new Element() { Id = "CoolGame", Elements = new[] { new Element() { Id = "Player", Elements = new[] { new Element() { Id = "Level", Value = "1" }, new Element() { Id = "XP", Value = "0" }, new Element() { Id = "HP", Value = "50" }, new Element() { Id = "Name", Value = "Bob" }, new Element() { Id = "Mode", Value = "" } }, Actions = new[] { new AwesomeRpg.Contracts.Models.RawXml.Action() { Id = "GainXP", Setters = new[] { new Setter() { Target = "XP", Operation = "+", Value = "10" } } }, new AwesomeRpg.Contracts.Models.RawXml.Action() { Id = "ClearHP", Setters = new[] { new Setter() { Target = "HP", Operation = "=", Value = "0" }, new Setter() { Target = "XP", Operation = "-", Value = "5" } } } }, Triggers = new[] { new Trigger() { Target = "XP", Comparison = ">=", Value = "10", Setters = new[] { new Setter() { Target = "Level", Operation = "=", Value = "2" }, new Setter() { Target = "Name", Operation = "=", Value = "Super Bob" } } }, new Trigger() { Target = "Name", Comparison = "==", Value = "Super Bob", Setters = new[] { new Setter() { Target = "Mode", Operation = "=", Value = "Superman Mode!" } } }, new Trigger() { Target = "Mode", Comparison = "==", Value = "Superman Mode!", Setters = new[] { new Setter() { Target = "Level", Operation = "=", Value = "3" } } } } } } } }; //Act var gameState = gameStateLoader.LoadGameState(elements); //Assert var coolGameElement = gameState[0]; Assert.AreEqual("CoolGame", coolGameElement.Id); Assert.AreEqual(1, coolGameElement.Elements.Count); var playerElement = coolGameElement.Elements[0]; Assert.AreEqual("Player", playerElement.Id); Assert.AreEqual(5, playerElement.Elements.Count); //GameConfig/Elements/CoolGame/Player/Action(GainXP) Assert.IsNotNull(playerElement.Actions); Assert.AreEqual("GainXP", playerElement.Actions[0].Id); Assert.IsNotNull(playerElement.Actions[0].Setters); //GameConfig/Elements/CoolGame/Player/Action/GainXP/Setters var gainXpActionSetters = playerElement.Actions[0].Setters; Assert.AreEqual(1, gainXpActionSetters.Count); Assert.AreEqual("XP", gainXpActionSetters[0].TargetId); Assert.AreEqual("+", gainXpActionSetters[0].Operation); Assert.AreEqual("10", gainXpActionSetters[0].Value); //GameConfig/Elements/CoolGame/Player/Action(ClearHP) Assert.IsNotNull(playerElement.Actions); Assert.AreEqual("ClearHP", playerElement.Actions[1].Id); Assert.IsNotNull(playerElement.Actions[1].Setters); //GameConfig/Elements/CoolGame/Player/Action/ClearHP/Setters var clearHpActionSetters = playerElement.Actions[1].Setters; Assert.AreEqual(2, clearHpActionSetters.Count); Assert.AreEqual("HP", clearHpActionSetters[0].TargetId); Assert.AreEqual("=", clearHpActionSetters[0].Operation); Assert.AreEqual("0", clearHpActionSetters[0].Value); Assert.AreEqual("XP", clearHpActionSetters[1].TargetId); Assert.AreEqual("-", clearHpActionSetters[1].Operation); Assert.AreEqual("5", clearHpActionSetters[1].Value); //GameConfig/Elements/CoolGame/Player/Trigger(XP) Assert.IsNotNull(playerElement.Triggers[0]); Assert.AreEqual("XP", playerElement.Triggers[0].TargetId); Assert.AreEqual(">=", playerElement.Triggers[0].Comparison); Assert.AreEqual("10", playerElement.Triggers[0].Value); Assert.IsNotNull(playerElement.Triggers[0].Setters); //GameConfig/Elements/CoolGame/Player/Trigger/XP/Setters var triggerXpSetters = playerElement.Triggers[0].Setters; Assert.AreEqual(2, triggerXpSetters.Count); Assert.AreEqual("Level", triggerXpSetters[0].TargetId); Assert.AreEqual("=", triggerXpSetters[0].Operation); Assert.AreEqual("2", triggerXpSetters[0].Value); Assert.AreEqual("Name", triggerXpSetters[1].TargetId); Assert.AreEqual("=", triggerXpSetters[1].Operation); Assert.AreEqual("Super Bob", triggerXpSetters[1].Value); //GameConfig/Elements/CoolGame/Player/Trigger(Name) Assert.IsNotNull(playerElement.Triggers[1]); Assert.AreEqual("Name", playerElement.Triggers[1].TargetId); Assert.AreEqual("==", playerElement.Triggers[1].Comparison); Assert.AreEqual("Super Bob", playerElement.Triggers[1].Value); Assert.IsNotNull(playerElement.Triggers[1].Setters); //GameConfig/Elements/CoolGame/Player/Trigger/Name/Setters var triggerNameSetters = playerElement.Triggers[1].Setters; Assert.AreEqual(1, triggerNameSetters.Count); Assert.AreEqual("Mode", triggerNameSetters[0].TargetId); Assert.AreEqual("=", triggerNameSetters[0].Operation); Assert.AreEqual("Superman Mode!", triggerNameSetters[0].Value); //GameConfig/Elements/CoolGame/Player/Trigger(Mode) Assert.IsNotNull(playerElement.Triggers[2]); Assert.AreEqual("Mode", playerElement.Triggers[2].TargetId); Assert.AreEqual("==", playerElement.Triggers[2].Comparison); Assert.AreEqual("Superman Mode!", playerElement.Triggers[2].Value); Assert.IsNotNull(playerElement.Triggers[2].Setters); //GameConfig/Elements/CoolGame/Player/Trigger/Mode/Setters var triggerModeSetters = playerElement.Triggers[2].Setters; Assert.AreEqual(1, triggerModeSetters.Count); Assert.AreEqual("Level", triggerModeSetters[0].TargetId); Assert.AreEqual("=", triggerModeSetters[0].Operation); Assert.AreEqual("3", triggerModeSetters[0].Value); //GameConfig/Elements/CoolGame/Player/Level Assert.IsNotNull(playerElement.Elements[0]); var levelElement = playerElement.Elements[0]; Assert.AreEqual("Level", levelElement.Id); Assert.AreEqual("1", levelElement.Value); //GameConfig/Elements/CoolGame/Player/XP Assert.IsNotNull(playerElement.Elements.Skip(1).First()); var xpElement = playerElement.Elements.Skip(1).First(); Assert.AreEqual("XP", xpElement.Id); Assert.AreEqual("0", xpElement.Value); //GameConfig/Elements/CoolGame/Player/HP Assert.IsNotNull(playerElement.Elements.Skip(2).First()); var hpElement = playerElement.Elements.Skip(2).First(); Assert.AreEqual("HP", hpElement.Id); Assert.AreEqual("50", hpElement.Value); }
public bool Execute(GameState gameState) { GameStateLoader.AppendStringToSerialize(data); return(true); }
public bool Execute(GameState gameState) { GameStateLoader.Deserialize(); return(true); }
public void OnClickMenu() { // Open the menu and pause the game. GameStateLoader.LoadSceneAsync("pause-menu"); }