Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 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);
        }
Exemplo n.º 4
0
 protected GameOverScene(string image, string gameOverReason)
 {
     _image          = image;
     _gameOverReason = gameOverReason;
     _clickUI        = new ClickUI();
     _clickUI.Add(new ScreenClickable(() => { World.NavigateToScene("MainMenu"); }));
 }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
 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);
 }
Exemplo n.º 8
0
        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();
        }
Exemplo n.º 9
0
        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");
        }
Exemplo n.º 10
0
 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();
 }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
    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);
    }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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);
            });
        }
Exemplo n.º 17
0
        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"));
        }
Exemplo n.º 18
0
 public void Init()
 {
     _clickUi = new ClickUI();
     _automata.Add(_clickUi);
     OnInit();
 }