Beispiel #1
0
        public ForfeitButtonController(ChessScene scene)
        {
            button                    = scene.Components.GetOrRegister <Button>((int)ComponentKeys.PlayForfeitButton, Button.Create);
            button.Text.Value         = "Forfeit";
            button.Interactable.Value = true;
            button.Visibility.Value   = false;
            button.PressMessage.Subscribe(new SimpleListener(OnPress));

            chooserState = scene.Components.GetOrRegister <StateMachine>((int)ComponentKeys.TurnChooserState, StateMachine.Create);
            chooserState.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => OnChooserStateChange()));
            OnChooserStateChange();

            forfeitMessage = scene.Components.GetOrRegister <Command>((int)ComponentKeys.ForfeitGame, Command.Create);
        }
        public CameraController(ChessScene scene)
        {
            scene.ActivatableList.Add(new TickingJanitor(scene.Game, this));

            scene.Components.GetOrRegister <Message <Board> >((int)ComponentKeys.BoardCreatedMessage, Message <Board> .Create)
            .Subscribe(new SimpleListener <Board>(ReceivedNewBoard));

            rotation       = scene.Components.GetOrRegister <SubscribableQuaternion>((int)ComponentKeys.GameCameraRotation, SubscribableQuaternion.Create);
            rotation.Value = Quaternion.identity;
            zoom           = scene.Components.GetOrRegister <SubscribableFloat>((int)ComponentKeys.GameCameraZoom, SubscribableFloat.Create);
            zoom.Value     = ZOOM_DEFAULT;

            trackMouseBtn = scene.Components.GetOrRegister <SubscribableBool>((int)ComponentKeys.CameraTrackMouseBtn, SubscribableBool.Create);
            mouseChange   = scene.Components.GetOrRegister <SubscribableVector2>((int)ComponentKeys.MouseChange, SubscribableVector2.Create);
            mouseWheel    = scene.Components.GetOrRegister <SubscribableInt>((int)ComponentKeys.ScrollWheel, SubscribableInt.Create);
            scene.Components.GetOrRegister <SubscribableBool>((int)ComponentKeys.CameraRecenterBtn, SubscribableBool.Create)
            .Subscribe(new ReleaseListener(RecenterCamera));
        }
Beispiel #3
0
        public ActiveTurnDisplay(ChessScene scene)
        {
            text                  = scene.Components.GetOrRegister <TextDisplay>((int)ComponentKeys.ActiveTurnText, TextDisplay.Create);
            text.Text.Value       = "";
            text.Visibility.Value = false;

            scene.Components.GetOrRegister <Message <Board> >((int)ComponentKeys.BoardCreatedMessage, Message <Board> .Create)
            .Subscribe(new SimpleListener <Board>((b) => {
                board = b;
                RefreshText();
            }));

            scene.Components.GetOrRegister <Message>((int)ComponentKeys.TurnChange, Message.Create)
            .Subscribe(new SimpleListener(RefreshText));

            matchState = scene.Components.GetOrRegister <StateMachine>((int)ComponentKeys.MatchState, StateMachine.Create);
            matchState.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => OnMatchStateChange()));
            OnMatchStateChange();
        }
Beispiel #4
0
        public GameOverScreen(ChessScene scene)
        {
            exitButton                  = scene.Components.GetOrRegister <Button>((int)ComponentKeys.EndScreenExitBtn, Button.Create);
            exitButton.Text.Value       = "Exit";
            exitButton.Visibility.Value = false;
            exitButton.PressMessage.Subscribe(new SimpleListener(OnExitPressed));

            headerText                  = scene.Components.GetOrRegister <TextDisplay>((int)ComponentKeys.EndScreenHeaderText, TextDisplay.Create);
            headerText.Text.Value       = "Match End";
            headerText.Visibility.Value = false;

            resultText                  = scene.Components.GetOrRegister <TextDisplay>((int)ComponentKeys.EndScreenResultText, TextDisplay.Create);
            resultText.Text.Value       = "";
            resultText.Visibility.Value = false;

            matchState = scene.Components.GetOrRegister <StateMachine>((int)ComponentKeys.MatchState, StateMachine.Create);
            matchState.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => OnMatchStateChange()));

            exitToLobby = scene.Components.GetOrRegister <Command>((int)ComponentKeys.EndScreenExitPressed, Command.Create);

            scene.Components.GetOrRegister <Message <GameEndType> >((int)ComponentKeys.GameEnd, Message <GameEndType> .Create)
            .Subscribe(new SimpleListener <GameEndType>(OnGameEndMessage));
        }