private void ChangeScene(int i) { var sceneCount = Enum.GetNames(typeof(DebugScenes)).Length; currentScene = (DebugScenes)((i + (int)currentScene + sceneCount) % sceneCount); currentText.Text = currentScene.ToString(); spriteComponent.Enabled = false; modelComponent.Enabled = false; modelComponent2.Enabled = false; modelComponent3.Enabled = false; entity.Transform.Scale = new Vector3(1); entity.Transform.Position = new Vector3(0); entity.Transform.Rotation = Quaternion.Identity; entity.Transform.LocalMatrix = Matrix.Identity; entity.Transform.UseTRS = true; entity2.Transform.UseTRS = false; switch (currentScene) { case DebugScenes.Orientation: entity.Transform.Position = new Vector3(0, 0, -0.6f); entity3.Transform.Position = new Vector3(0, 0, 0.6f); entity.Transform.Scale = new Vector3(0.5f); entity3.Transform.Scale = new Vector3(0.5f); modelComponent.Enabled = true; modelComponent2.Enabled = true; modelComponent3.Enabled = true; modelComponent.Model = teapot; break; case DebugScenes.UserAccel: case DebugScenes.Gravity: case DebugScenes.RawAccel: entity.Transform.UseTRS = false; spriteComponent.Enabled = true; spriteComponent.Color = sceneToColor[currentScene]; spriteComponent.CurrentFrame = 0; break; case DebugScenes.Gyroscope: entity.Transform.Scale = new Vector3(0.5f); modelComponent.Enabled = true; modelComponent.Model = teapot; break; case DebugScenes.Compass: spriteComponent.Enabled = true; spriteComponent.Color = Color.Red; spriteComponent.CurrentFrame = 0; break; default: throw new ArgumentOutOfRangeException(); } }
private void ChangeScene(int i) { var sceneCount = Enum.GetNames(typeof(DebugScenes)).Length; currentScene = (DebugScenes)((i + (int)currentScene + sceneCount) % sceneCount); currentText.Text = currentScene.ToString(); spriteComponent.Enabled = false; modelComponent.Enabled = false; modelComponent2.Enabled = false; modelComponent3.Enabled = false; entity.Transform.Scale = new Vector3(1); entity.Transform.Position = new Vector3(0); entity.Transform.Rotation = Quaternion.Identity; entity.Transform.LocalMatrix = Matrix.Identity; entity.Transform.UseTRS = true; entity2.Transform.UseTRS = false; var provider = spriteComponent.SpriteProvider as SpriteFromSheet; switch (currentScene) { case DebugScenes.Orientation: entity.Transform.Position = new Vector3(0, 0, -0.6f); entity3.Transform.Position = new Vector3(0, 0, 0.6f); entity.Transform.Scale = new Vector3(0.5f); entity3.Transform.Scale = new Vector3(0.5f); modelComponent.Enabled = true; modelComponent2.Enabled = true; modelComponent3.Enabled = true; modelComponent.Model = teapot; break; case DebugScenes.UserAccel: case DebugScenes.Gravity: case DebugScenes.RawAccel: entity.Transform.UseTRS = false; spriteComponent.Enabled = true; spriteComponent.Color = sceneToColor[currentScene]; if (provider != null) provider.CurrentFrame = 0; break; case DebugScenes.Gyroscope: entity.Transform.Scale = new Vector3(0.5f); modelComponent.Enabled = true; modelComponent.Model = teapot; break; case DebugScenes.Compass: spriteComponent.Enabled = true; spriteComponent.Color = Color.Red; if (provider != null) provider.CurrentFrame = 0; break; default: throw new ArgumentOutOfRangeException(); } }