public StartScreenState(Game game) : base(game, "levels/startscreen.level", LevelOptions.Menu) { // Create camera m_animatedCamera = new AnimatedCameraController(Level.TimeMachine); // Create GUI var texture = Texture.Get("gui/logo.png", true); m_logo = new Image(texture, Quad.UnitSquare, game.Screen.Width, game.Screen.Width * ((float)texture.Height / (float)texture.Width)); m_logo.Anchor = Anchor.CentreMiddle; m_logo.LocalPosition = new Vector2(-0.5f * m_logo.Width, -0.5f * m_logo.Height - 8.0f); m_instruction = new Text(UIFonts.Smaller, GetInstructionText(), UIColours.Text, TextAlignment.Center); m_instruction.Anchor = Anchor.BottomMiddle; m_instruction.LocalPosition = new Vector2(0.0f, -36.0f - m_instruction.Height); var copyrightText = (char)169 + "2016 Daniel Ratcliffe"; // Copyright symbol m_copyright = new Text(UIFonts.Smallest, copyrightText, UIColours.Grey, TextAlignment.Center); m_copyright.Anchor = Anchor.BottomMiddle; m_copyright.Scale = 0.75f; m_copyright.LocalPosition = new Vector2(0.0f, -8.0f - m_copyright.Height); m_logoSize = 0.0f; UpdateLogoSize(); }
public CutsceneState(Game game, Mod mod, string path, CutsceneContext context, Playthrough playthrough = null) : base(game, path, LevelOptions.Cutscene) { m_mod = mod; m_context = context; m_playthrough = playthrough; m_initialShotPath = path; m_border = new CutsceneBorder(true); m_animatedCamera = new AnimatedCameraController(Level.TimeMachine); m_skipPrompt = new InputPrompt(UIFonts.Smaller, game.Language.Translate("menus.skip"), TextAlignment.Right); m_skipPrompt.Anchor = Anchor.BottomRight; m_skipPrompt.LocalPosition = new Vector2(-16.0f, -16.0f - m_skipPrompt.Font.Height); m_skipPrompt.GamepadButton = GamepadButton.A; m_skipPrompt.SteamControllerButton = SteamControllerButton.MenuSelect; m_skipPrompt.MouseButton = MouseButton.Left; m_skipPrompt.Key = Key.Return; m_skipPrompt.OnClick += delegate(object sender, EventArgs e) { Continue(); }; m_loopingSounds = new Dictionary <string, IStoppable>(); var termFont = UIFonts.Smaller; var screenHeight = game.Screen.Height - 2.0f * m_border.BarHeight; var numLines = (int)(screenHeight / termFont.Height); var screenWidth = game.Screen.Width - (game.Screen.Height - numLines * termFont.Height); m_terminal = new Terminal(termFont, UIColours.White, screenWidth, numLines); m_terminal.Anchor = Anchor.CentreMiddle; m_terminal.LocalPosition = new Vector2(-0.5f * m_terminal.Width, -0.5f * m_terminal.Height); }
protected MenuState(Game game, string title, string level, MenuArrangement arrangement) : base(game, level, LevelOptions.Menu) { m_unlocalisedTitle = title; m_unlocalisedBack = "menus.back"; m_unlocalisedAltSelect = "menus.select"; // Create camera m_animatedCamera = new AnimatedCameraController(Level.TimeMachine); // Create title menu { m_titleMenu = new TextMenu(UIFonts.Default, new string[] { Game.Language.Translate(title), }, TextAlignment.Center, MenuDirection.Vertical); if (arrangement == MenuArrangement.RobotScreen) { m_titleMenu.Anchor = Anchor.TopMiddle; m_titleMenu.LocalPosition = new Vector2(0.0f, 40.0f); } else { m_titleMenu.Anchor = Anchor.TopMiddle; m_titleMenu.LocalPosition = new Vector2(0.0f, 32.0f); } m_titleMenu.TextColour = UIColours.Title; m_titleMenu.Enabled = false; m_titleMenu.MouseOnly = true; m_titleMenu.OnClicked += delegate(object sender, TextMenuClickedEventArgs e) { if (Dialog == null) { OnTitleClicked(); } }; } // Create prompts { m_backPrompt = new InputPrompt(UIFonts.Smaller, Game.Language.Translate(m_unlocalisedBack), TextAlignment.Right); m_backPrompt.Key = Key.Escape; m_backPrompt.MouseButton = MouseButton.Left; m_backPrompt.GamepadButton = GamepadButton.B; m_backPrompt.SteamControllerButton = SteamControllerButton.MenuBack; if (arrangement == MenuArrangement.RobotScreen) { m_backPrompt.Anchor = Anchor.BottomMiddle; m_backPrompt.LocalPosition = new Vector2(225.0f, -40.0f - m_backPrompt.Font.Height); } else { m_backPrompt.Anchor = Anchor.BottomRight; m_backPrompt.LocalPosition = new Vector2(-16.0f, -16.0f - m_backPrompt.Font.Height); } m_backPrompt.OnClick += delegate(object sender, EventArgs e) { GoBack(); }; } { m_selectPrompt = new InputPrompt(UIFonts.Smaller, Game.Language.Translate("menus.select"), TextAlignment.Left); m_selectPrompt.Key = Key.Return; m_selectPrompt.GamepadButton = GamepadButton.A; m_selectPrompt.SteamControllerButton = SteamControllerButton.MenuSelect; if (arrangement == MenuArrangement.RobotScreen) { m_selectPrompt.Anchor = Anchor.BottomMiddle; m_selectPrompt.LocalPosition = new Vector2(-224.0f, -40.0f - m_selectPrompt.Font.Height); } else { m_selectPrompt.Anchor = Anchor.BottomLeft; m_selectPrompt.LocalPosition = new Vector2(16.0f, -16.0f - m_selectPrompt.Font.Height); } m_selectPrompt.Visible = false; } { m_altSelectPrompt = new InputPrompt(UIFonts.Smaller, Game.Language.Translate(m_unlocalisedAltSelect), TextAlignment.Left); m_altSelectPrompt.Key = Key.Tab; m_altSelectPrompt.GamepadButton = GamepadButton.Y; m_altSelectPrompt.SteamControllerButton = SteamControllerButton.MenuAltSelect; m_altSelectPrompt.Anchor = m_selectPrompt.Anchor; m_altSelectPrompt.LocalPosition = m_selectPrompt.LocalPosition + new Vector2(0.0f, -m_altSelectPrompt.Font.Height); m_altSelectPrompt.Visible = false; } }
public MainMenuState(Game game) : base(game, "levels/startscreen.level", LevelOptions.Menu) { // Create camera m_animatedCamera = new AnimatedCameraController(Level.TimeMachine); }