public void LoadSceneAsync(string sceneName, Action onLoadComplete = null) { CoroutineRunner coroutineRunner = DummyGameObject.AddComponent <CoroutineRunner>(); AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName); coroutineRunner.StartCoroutine(LoadSceneCoroutine(asyncLoad, onLoadComplete)); }
public IEnumerator Should_ThrowArgumentException_When_GameObjectArrayRemainsEmpty() { TargetScript = DummyGameObject.AddComponent <ToggleGameObjects>(); FieldInfo = TargetScript.GetType().BaseType.GetField("_objects", BindingFlags.NonPublic | BindingFlags.Instance); FieldInfo.SetValue(TargetScript, new GameObject[] {}); TestSettings.ExpectException("ArgumentException:"); yield return(null); }
private void canvas_CreateResources(ICanvasAnimatedControl sender, CanvasCreateResourcesEventArgs args) { //Initialize image loader with canvas //TODO: The image manager may fail for multiple frames ImageManager.Initialize(sender); //Initialize game systems drawIndex = new DrawableIndex(); collisions = new CollisionManager(); gameObjects = new GameObjectIndex(drawIndex, collisions); inputManager = new InputManager(); players = new PlayerRegistry(); //Load the required images ImageManager.LoadImages(PacmanImagePaths.Images); //Register key event listeners Window.Current.CoreWindow.KeyDown += canvas_KeyDown; Window.Current.CoreWindow.KeyUp += canvas_KeyUp; //Create a player player = new PlayerGameObject(new Vector2(200, 300), gameObjects, players, inputManager, KeyboardFormat.WASD); gameObjects.registerGameObject(player); //Create a dummy game object DummyGameObject testingObject = new DummyGameObject(new Vector2(100, 100), new Vector2(45, 45), gameObjects); //Register the new object in the game object index gameObjects.registerGameObject(testingObject); //Register the new object as an input listener inputManager.registerInputSource(new PlayerKeyboardInputSource(testingObject, KeyboardFormat.ARROWS)); //Enable debug drawing drawIndex.SetDebugDrawing(true); //Add a wall WallGameObject wall = new WallGameObject(new Vector2(100, 100), new Vector2(150, 200)); gameObjects.registerGameObject(wall); WallGameObject wall2 = new WallGameObject(new Vector2(150, 200), new Vector2(350, 250)); gameObjects.registerGameObject(wall2); WallGameObject wall3 = new WallGameObject(new Vector2(300, 100), new Vector2(350, 200)); gameObjects.registerGameObject(wall3); //Add an enemy object EnemyGameObject enemy = new EnemyGameObject(new Vector2(300, 300), gameObjects, new Random()); enemy.Target = player; gameObjects.registerGameObject(enemy); }
private void AttachTextComponentToDummyGameObject() { TextComponent = DummyGameObject.AddComponent <Text>(); // When working in the editor, this serialized field would be initialized with an empty string TextComponent.text = ""; var type = typeof(TextAdapter); var fieldInfo = type.GetField("_text", BindingFlags.NonPublic | BindingFlags.Instance); fieldInfo?.SetValue(TargetScript, TextComponent); }
public void CanRegisterGameObject() { var gm = new GameManager(); var go = new DummyGameObject(); Assert.That(gm.GameObjects.Count, Is.EqualTo(0)); gm.Register(go); Assert.That(gm.GameObjects.Count, Is.EqualTo(1)); Assert.That(gm.GameObjects.Contains(go), Is.EqualTo(true)); gm.Unregister(go); gm.RunTurn(); }
public void ActionIsCalledOnGameObjectInRunTurn() { var gm = new GameManager(); var go = new DummyGameObject(); gm.Register(go); Assert.That(go.ActionCalled, Is.False); gm.RunTurn(); Assert.That(go.ActionCalled, Is.True); gm.Unregister(go); gm.RunTurn(); }
public IEnumerator Should_ThrowNullReferenceException_When_AtLeastOneGameObjectArrayElementIsNull() { TargetScript = DummyGameObject.AddComponent <ToggleGameObjects>(); FieldInfo = TargetScript.GetType().BaseType.GetField("_objects", BindingFlags.NonPublic | BindingFlags.Instance); var gameobjects = new GameObject[] { null }; FieldInfo.SetValue(TargetScript, gameobjects); TestSettings.ExpectException("NullReferenceException:"); yield return(null); }
public IEnumerator Should_ContainOnlyActiveGameObjects_When_ScriptFullyInitialized() { TargetScript = DummyGameObject.AddComponent <ToggleGameObjects>(); FieldInfo = TargetScript.GetType().BaseType.GetField("_objects", BindingFlags.NonPublic | BindingFlags.Instance); var gameobjects = new[] { new GameObject(TypeName), new GameObject(TypeName) }; FieldInfo.SetValue(TargetScript, gameobjects); var actual = gameobjects[0].activeSelf && gameobjects[1].activeSelf; Assert.IsTrue(actual); yield return(null); }
public IEnumerator Should_DisableAllGameObjects_When_ToggleMethodWasCalled() { TargetScript = DummyGameObject.AddComponent <ToggleGameObjects>(); FieldInfo = TargetScript.GetType().BaseType.GetField("_objects", BindingFlags.NonPublic | BindingFlags.Instance); var gameobjects = new[] { new GameObject(TypeName), new GameObject(TypeName) }; FieldInfo.SetValue(TargetScript, gameobjects); TargetScript.Toggle(); var actual = gameobjects[0].activeSelf || gameobjects[1].activeSelf; Assert.IsFalse(actual); yield return(null); }
public IEnumerator Should_ContainOnlyActiveComponents_When_ScriptFullyInitialized() { TargetScript = DummyGameObject.AddComponent <ToggleComponents>(); FieldInfo = TargetScript.GetType().BaseType.GetField("_objects", BindingFlags.NonPublic | BindingFlags.Instance); var monoBehaviour1 = new GameObject(TypeName).AddComponent <DefaultBehaviour>(); var monoBehaviour2 = new GameObject(TypeName).AddComponent <DefaultBehaviour>(); var components = new[] { monoBehaviour1, monoBehaviour2 }; FieldInfo.SetValue(TargetScript, components); var propertyInfo = typeof(MonoBehaviour).GetProperty("enabled"); var monobehaviour1Status = (bool)propertyInfo.GetValue(monoBehaviour1, null);; var monobehaviour2Status = (bool)propertyInfo.GetValue(monoBehaviour2, null);; var actual = monobehaviour1Status && monobehaviour2Status; Assert.IsTrue(actual); yield return(null); }
private void AttachTargetScriptToDummyGameObject() { TargetScript = DummyGameObject.AddComponent <TextAdapter>(); // When working in the editor, this serialized field would be initialized with an empty string TargetScript.Id = ""; }
public IEnumerator Should_ThrowNullReferenceException_When_ScriptableObjectWasNotSet() { TestSettings.ExpectNullReferenceException(); DummyGameObject.AddComponent <MainTextureOffsetAnimation>(); yield return(null); }