public InGameMenu(ClickUI clickUi) { _clickUI = clickUi; var ctx = new Buttons.MenuContext { X = _menuX, Y = _menuY, Width = _menuWidth, FirstButtonYOffset = 50 }; var menu = new UiImage { Transform = new Transform2(new Rectangle(_menuX, _menuY, _menuWidth, _menuHeight)), Image = "UI/menu-wide-panel.png" }; var mainMenuButton = Buttons.Text(ctx, 4, "Return to Main Menu", () => Scene.NavigateTo("MainMenu"), () => true); var characterStatus = Buttons.Text(ctx, 3, "Character Status", () => Event.Publish(new DisplayCharacterStatusRequested(GameWorld.CurrentCharacter)), () => true); _visuals.Add(new ColoredRectangle { Color = UiColors.InGameMenu_FullScreenRectangle, Transform = new Transform2(new Size2(1920, 1080)) }); _visuals.Add(menu); _visuals.Add(mainMenuButton); _visuals.Add(characterStatus); _interceptLayer.Add(new ScreenClickable(HideDisplay)); _branch.Add(mainMenuButton); _branch.Add(characterStatus); Input.On(Control.Menu, ToggleMenu); Event.Subscribe(EventSubscription.Create <MenuRequested>(x => PresentOptions(), this)); Event.Subscribe(EventSubscription.Create <SubviewRequested>(x => HideDisplay(), this)); Event.Subscribe(EventSubscription.Create <SubviewDismissed>(x => PresentOptions(), this)); }
public void Init() { _createCharacterLabel = new Label { BackgroundColor = Color.Transparent, TextColor = Color.White, Text = "Create Your Character", Transform = new Transform2(Sizes.LargeLabel) }; _charName = new Label { BackgroundColor = Color.Black, TextColor = Color.White, Text = "Name", Transform = new Transform2(Sizes.MediumLabel) }; _charSexLabel = new Label { BackgroundColor = Color.Black, TextColor = Color.White, Text = "Make", Transform = new Transform2(Sizes.MediumLabel) }; _startGameButton = new ImageTextButton("Start Game", "Images/Menu/button-default", "Images/Menu/button-hover", "Images/Menu/button-pressed", new Transform2(new Vector2(800 - 100, 750 - 22), new Size2(200, 44)), StartGame); _maleButton = new ImageTextButton("Male", "Images/Menu/button-default", "Images/Menu/button-hover", "Images/Menu/button-pressed", new Transform2(new Vector2(800 - 100, 650 - 22), new Size2(200, 44)), () => _sex = CharacterSex.Male); _femaleButton = new ImageTextButton("Female", "Images/Menu/button-default", "Images/Menu/button-hover", "Images/Menu/button-pressed", new Transform2(new Vector2(800 - 100, 600 - 22), new Size2(200, 44)), () => _sex = CharacterSex.Female); _ui = new ClickUI(); _ui.Add(_startGameButton); _ui.Add(_maleButton); _ui.Add(_femaleButton); }
public ActionOptionsMenu(ClickUI clickUI) { _clickUI = clickUI; var ctx = new Buttons.MenuContext { X = _menuX, Y = _menuY, Width = _menuWidth, FirstButtonYOffset = 30 }; var menu = new UiImage { Transform = new Transform2(new Rectangle(_menuX, _menuY, _menuWidth, _menuHeight)), Image = "UI/menu-tall-panel.png" }; _buttons = new List <TextButton> { Buttons.Text(ctx, 0, "Hide", () => Select(ActionType.Hide), () => _options.ContainsKey(ActionType.Hide)), Buttons.Text(ctx, 1, "Shoot", () => Select(ActionType.Shoot), () => _options.ContainsKey(ActionType.Shoot)), Buttons.Text(ctx, 2, "Overwatch", () => Select(ActionType.Overwatch), () => _options.ContainsKey(ActionType.Overwatch)), Buttons.Text(ctx, 3, "Pass", () => Select(ActionType.Pass), () => _options.ContainsKey(ActionType.Pass)) }; _visuals.Add(menu); _buttons.ForEach(x => { _visuals.Add(x); _branch.Add(x); }); Event.Subscribe <ActionOptionsAvailable>(UpdateOptions, this); Event.Subscribe <ActionSelected>(e => HideDisplay(), this); Event.Subscribe <ActionCancelled>(x => PresentOptions(), this); Event.Subscribe <ActionConfirmed>(x => _options.Clear(), this); Event.Subscribe <GameOver>(e => HideDisplay(), this); }
protected GameOverScene(string image, string gameOverReason) { _image = image; _gameOverReason = gameOverReason; _clickUI = new ClickUI(); _clickUI.Add(new ScreenClickable(() => { World.NavigateToScene("MainMenu"); })); }
public GameOverMenu(ClickUI clickUi) { _clickUI = clickUi; var ctx = new Buttons.MenuContext { X = _menuX, Y = _menuY, Width = _menuWidth, FirstButtonYOffset = 50 }; var mainMenuButton = Buttons.Text(ctx, 7, "Return to Main Menu", () => { AudioPlayer.Instance.StopAll(); Scene.NavigateTo("MainMenu"); }, () => true); _visuals.Add(_black); _fade = new ScreenFade { ToAlpha = 255, FromAlpha = 0, Duration = TimeSpan.FromSeconds(2) }; _visuals.Add(_fade); _visuals.Add(new UiImage { Image = "UI/game-over.png", Transform = new Transform2(new Vector2(0.5.VW() - 329, 0.3.VH()), new Size2(639, 150)) }); _visuals.Add(mainMenuButton); _interceptLayer.Add(new ScreenClickable(() => { })); _branch.Add(mainMenuButton); Event.Subscribe(EventSubscription.Create <GameOver>(e => Enable(), this)); }
public void Init() { _clickUI = new ClickUI(); _clickUI.Add(new ScreenClickable(NavigateToMainMenu)); _untilTransition = new Timer(NavigateToMainMenu, 8000); Input.ClearTransientBindings(); Input.On(Control.Start, NavigateToMainMenu); Input.On(Control.A, NavigateToMainMenu); Audio.PlayMusicOnce("Logo", 1); }
private void InitUiElements() { _subview = new NoSubView(); _objectives = new ObjectivesView(); _objectives.Init(); _investigateRoomBranch = new ClickUIBranch("Location Investigation", 1); _locationNameLabel = UiLabels.HeaderLabel(_location.Name, Color.White); _clickUi = new ClickUI(); _tutorialBranch = new ClickUIBranch("Tutorial", 25); _tutorialBranch.Add(_objectives.TutorialButton); _clickUi.Add(_tutorialBranch); }
public void Init() { #if DEBUG GameObjects.InitIfNeeded(); #endif Input.ClearTransientBindings(); _clickUi = new ClickUI(); _tutorialBranch = new ClickUIBranch("Tutorial", 10); _clickUi.Add(_tutorialBranch); _automata.Add(_clickUi); OnInit(); }
public void Init() { _btn = new ImageTextButton("New Game", "Images/Menu/button-default", "Images/Menu/button-hover", "Images/Menu/button-pressed", new Transform2(new Vector2(800 - 100, 750 - 22), new Size2(200, 44)), () => World.NavigateToScene("CharacterCreation")); _ui = new ClickUI(); _ui.Add(_btn); Audio.PlayMusic("Music/maintheme"); }
public void Init() { _clickUI = new ClickUI(); _credits = UiButtons.Menu("Credits", new Vector2(UI.OfScreenWidth(0.5f) - 180, 900), () => Scene.NavigateTo(GameResources.CreditsSceneName)); _chatBox = new ChatBox("", 1670, DefaultFont.Value, CurrentOptions.MillisPerTextCharacter, 32) { SoundsEnabled = false }; _clickUI.Add(_credits); _clickUI.Add(new ScreenClickable(_chatBox.CompletelyDisplayMessage)); CalculateLinchPins(); GenerateWallOfText(); }
public void Init() { base.GetOffset = () => new Transform2(-_camera.Position.ToVector2()); // TODO: Make Mouse Management a separate component Event.Subscribe(EventSubscription.Create <MovementOptionsAvailable>(e => _mouseAction = MouseAction.Move, this)); Event.Subscribe(EventSubscription.Create <MovementConfirmed>(e => _mouseAction = MouseAction.None, this)); Event.Subscribe(EventSubscription.Create <ShootSelected>(e => _mouseAction = MouseAction.Shoot, this)); Event.Subscribe(EventSubscription.Create <MenuRequested>(e => _shouldIgnoreClicks = true, this)); Event.Subscribe(EventSubscription.Create <MenuDismissed>(e => _shouldIgnoreClicks = false, this)); var clickUI = new ClickUI(); var visibilityCalculator = new VisibilityCalculator(); var perceptionCalculator = new PerceptionCalculator(); var perceptionUpdater = new FrinedlyPerceptionUpdater(); Add(clickUI); Add(new EnemyAI()); Add(new ActionOptionsCalculator()); Add(new HideUI()); Add(new MovementOptionsCalculator()); Add(new ShootOptionsCalculator()); Add(new ProposedShotCalculator()); Add(new AvailableTargetsUI()); Add(visibilityCalculator); Add(perceptionCalculator); Add(perceptionUpdater); Add(new FriendlyVisionCalculator()); Add(new NewEnemySpotter()); Add(new DialogWatcher()); //TODO: trash class here Add(new TargetKilledSceneTransition()); Add(EventQueue.Instance); Add(_drawMaster); Add(_combat); Add(_camera); #if DEBUG Add(new RecentEventDebugLogView { Position = new Vector2(0, 150), MaxLines = 30, HideTextPart = "ZeroFootPrintSociety." }); #endif Add(new HudView(clickUI)); GameWorld.Highlights = new Highlights(); GameWorld.HighHighlights = new HighHighlights(); Add((IAutomaton)GameWorld.Highlights); Add((IAutomaton)GameWorld.HighHighlights); CalculateInitVision(visibilityCalculator, perceptionCalculator, perceptionUpdater); _combat.Init(); _camera.Init(_startingCameraTile); }
public ICharacterController(string which_character) { if (which_character == "priest") { character = Object.Instantiate(Resources.Load("Perfabs/Priest", typeof(GameObject)), Vector3.zero, Quaternion.identity, null) as GameObject; characterType = 0; } else { character = Object.Instantiate(Resources.Load("Perfabs/Devil", typeof(GameObject)), Vector3.zero, Quaternion.identity, null) as GameObject; characterType = 1; } moveableScript = character.AddComponent(typeof(Move)) as Move; clickUI = character.AddComponent(typeof(ClickUI)) as ClickUI; clickUI.SetController(this); }
public HudView(ClickUI clickUi) : base(true) { Add(new InGameMenu(clickUi)); Add(new ActionConfirmMenu(clickUi)); Add(new EquippedWeaponView(new Point(UI.OfScreenWidth(0.834f), UI.OfScreenHeight(0.86f)))); Add(new CurrentCharacterView(new Point(UI.OfScreenWidth(0.01f), UI.OfScreenHeight(0.86f)))); Add(new AttackPreview()); Add(new TeamTurnHudDecor()); Add(new ActionOptionsMenu(clickUi)); Add(new GameOverMenu(clickUi)); Add(new SwitchWeaponsMenu(clickUi)); Add(new CharacterStatusView(new Point(UI.OfScreenWidth(0.33f), UI.OfScreenHeight(0.17f)))); var dialogs = new InGameDialogueLayout(); clickUi.Add(dialogs.Branch); Add(dialogs); }
public SwitchWeaponsMenu(ClickUI clickUI) { _clickUI = clickUI; var ctx = new Buttons.MenuContext { X = _menuX, Y = _menuY, Width = _menuWidth, FirstButtonYOffset = 40 }; var menu = new UiImage { Transform = new Transform2(new Rectangle(_menuX, _menuY, _menuWidth, _menuHeight)), Image = "UI/menu-tall-panel.png" }; _switchWeaponsButton = Buttons.Text(ctx, 0, "Switch Weapons", () => GameWorld.CurrentCharacter.Gear.SwitchWeapons(), () => _show); _branch.Add(_switchWeaponsButton); _visuals.Add(menu); _visuals.Add(_switchWeaponsButton); Event.Subscribe <TurnBegun>(_ => Show(), this); Event.Subscribe <MovementConfirmed>(_ => Hide(), this); }
public ActionConfirmMenu(ClickUI clickUI) { _clickUI = clickUI; var ctx = new Buttons.MenuContext { X = _menuX, Y = _menuY, Width = _menuWidth, FirstButtonYOffset = 30 }; _visuals.Add(new UiImage { Transform = new Transform2(new Rectangle(_menuX, _menuY, _menuWidth, _menuHeight)), Image = "UI/menu-tall-panel.png" }); _confirmButton = new ImageButton("UI/confirm.png", "UI/confirm-hover.png", "UI/confirm-press.png", new Transform2(new Vector2(UI.OfScreenWidth(0.5f) + 30, _menuY + 64), new Size2(52, 52)), () => {; Hide(); Event.Publish(new ActionConfirmed()); }, () => _isReady); var cancelButton = new ImageButton("UI/cancel.png", "UI/cancel-hover.png", "UI/cancel-press.png", new Transform2(new Vector2(UI.OfScreenWidth(0.5f) - 52 - 30, _menuY + 64), new Size2(52, 52)), () => { Hide(); Event.Publish(new ActionCancelled()); }); _actionLabel = new Label { Transform = new Transform2(new Rectangle(_menuX, _menuY + 20, _menuWidth, 52)), BackgroundColor = Color.Transparent, TextColor = UiColors.InGame_Text, Font = GuiFonts.Body, }; _visuals.Add(_actionLabel); _visuals.Add(_confirmButton); _branch.Add(_confirmButton); _visuals.Add(cancelButton); _branch.Add(cancelButton); Event.Subscribe <ActionSelected>(Show, this); Event.Subscribe <ActionReadied>(Show, this); }
public void Init() { _player = new PlayerCharacterView(() => !_isInTheMiddleOfDialog); _dialogueAdvancer = new ScreenClickable(AdvanceChatVisuals); _clickUI = new ClickUI(); _clickUI.Add(GameObjects.Hud.HudBranch); _personMemoriesBranch = new ClickUIBranch("People", 1); _clickUI.Add(_personMemoriesBranch); _dialogMemoriesBranch = new ClickUIBranch("Dialogs", 1); _clickUI.Add(_dialogMemoriesBranch); _characterOptions = new List <IVisual>(); var people = GameObjects.Characters.People.Where(p => p.GetOldDialogs().Count != 0); people.ForEachIndex((p, i) => { var button = p.CreateButton(RememberDialogsWithPerson, i, people.Count()); _characterOptions.Add(button); _personMemoriesBranch.Add(button); }); }
public void Init() { _clickUi = new ClickUI(); Add(CreateButton(new Vector2(50, 50), () => _sound1.Play(), "Play Sound 1")); Add(CreateButton(new Vector2(50, 150), () => _sound1.Pause(), "Pause Sound 1")); Add(CreateButton(new Vector2(50, 250), () => Sound.SoundEffect("Content/VolumeDemo/Scanning.mp3").Play(), "Create Sound 2")); Add(CreateButton(new Vector2(50, 350), () => MasterVolume.Instance.SoundEffectVolume -= 0.1f, "Lower Volume")); Add(CreateButton(new Vector2(50, 450), () => MasterVolume.Instance.SoundEffectVolume += 0.1f, "Raise Volume")); Add(CreateButton(new Vector2(450, 50), () => _ambience.Play(), "Play Ambience")); Add(CreateButton(new Vector2(450, 150), () => _ambience.Pause(), "Pause Ambience")); Add(CreateButton(new Vector2(450, 250), () => _ambience.Volume -= 0.1f, "Lower Ambience Volume")); Add(CreateButton(new Vector2(450, 350), () => _ambience.Volume += 0.1f, "Raise Ambience Volume")); Add(CreateButton(new Vector2(450, 450), () => MasterVolume.Instance.AmbienceVolume -= 0.1f, "Lower Volume")); Add(CreateButton(new Vector2(450, 550), () => MasterVolume.Instance.AmbienceVolume += 0.1f, "Raise Volume")); Add(CreateButton(new Vector2(850, 50), () => _music1.Play(), "Play Music 1")); Add(CreateButton(new Vector2(850, 150), () => _music1.Pause(), "Pause Music 1")); Add(CreateButton(new Vector2(850, 250), () => _music1.Reset(), "Reset Music 1")); Add(CreateButton(new Vector2(850, 350), () => _music2.Play(), "Play Music 2")); Add(CreateButton(new Vector2(850, 450), () => MasterVolume.Instance.MusicVolume -= 0.1f, "Lower Volume")); Add(CreateButton(new Vector2(850, 550), () => MasterVolume.Instance.MusicVolume += 0.1f, "Raise Volume")); }
public void Init() { _clickUi = new ClickUI(); _automata.Add(_clickUi); OnInit(); }