Exemple #1
0
 protected virtual void AwakeOverride()
 {
     m_gameMachine = GameMachine;
     m_appTheme    = AppTheme;
     m_audio       = Audio;
     m_globalUI    = UI;
 }
Exemple #2
0
 protected void Awake()
 {
     m_gameMachine   = IOC.Resolve <IGameMachine>();
     m_menu          = GetComponent <Menu>();
     m_globalUI      = IOC.Resolve <IGlobalUI>();
     m_menuSelection = IOC.Resolve <IMenuSelection>();
     m_audio         = IOC.Resolve <IAudio>();
     m_player        = IOC.Resolve <IPlayer>();
     AwakeOverride();
 }
Exemple #3
0
        private void OnDestroy()
        {
            if (m_instance == this)
            {
                m_instance = null;
            }

            OnDestroyOverride();

            m_gameMachine = null;
        }
Exemple #4
0
 public void Setup()
 {
     _gameLogicMock = new Mock <IGameLogic>();
     _gameLogicMock.Setup(x => x.ShowIntroduction());
     _gameLogicMock.Setup(x => x.Initialization());
     _gameLogicMock.Setup(x => x.GetCoordinates()).Returns((_exampleX, _exampleY));
     _shootWasAHit = true;
     _gameLogicMock.Setup(x => x.Shoot(It.Is <int>(x => x == _exampleX), It.Is <int>(x => x == _exampleY)))
     .Returns(() => ToggleHit());
     _gameLogicMock.Setup(x => x.Missed());
     _gameLogicMock.Setup(x => x.EnemyTargesPresent()).Returns(() => ToggleEnemy());
     _gameLogicMock.Setup(x => x.ShowSummary());
     _gameLogicMock.Setup(x => x.GetUserRestartGameDecision()).Returns(() => ToggleDecision());
     _gameLogicMock.Setup(x => x.ShowEndCredits());
     _gameMachine = new GameMachine(_gameLogicMock.Object);
 }
Exemple #5
0
        private void DataBind()
        {
            if (m_item != null)
            {
                m_icon.sprite = m_item.Icon;
                if (m_item.Data != null && m_item.Data is Color)
                {
                    m_icon.color = (Color)m_item.Data;
                }
                m_icon.gameObject.SetActive(m_item.Icon != null || (m_item.Data != null && m_item.Data is Color));
                m_text.text = m_item.Text;
            }
            else
            {
                m_icon.sprite = null;
                m_icon.gameObject.SetActive(false);
                m_text.text = string.Empty;
            }

            m_item.Validate = new MenuItemValidationEvent();

            if (m_gameMachine == null)
            {
                m_gameMachine = IOC.Resolve <IGameMachine>();
            }
            if (m_appTheme == null)
            {
                m_appTheme = IOC.Resolve <IAppTheme>();
            }

            m_item.Validate.AddListener(m_gameMachine.CanExecuteMenuCommand);
            m_item.Validate.AddListener((args) => args.IsValid = m_item.IsValid);

            var validationResult = IsValid();

            if (validationResult.IsVisible)
            {
                if (m_item.IsValid)
                {
                    m_text.color = m_appTheme.SelectedTheme.buttonNormalTextColor;
                }
                else
                {
                    m_text.color = m_appTheme.SelectedTheme.buttonDisabledTextColor;
                }

                if (m_item.Action == null)
                {
                    m_item.Action = new MenuItemEvent();
                }

                else
                {
                    m_item.Action.AddListener(m_gameMachine.ExecuteMenuCommand);
                }

                ((Button)m_selectable).onClick.AddListener(() => m_item.Action.Invoke(new MenuClickArgs(m_item.Path, m_item.Text, m_item.Command, m_item.CommandType, m_item.Data)));
            }

            gameObject.SetActive(validationResult.IsVisible);
            m_selectable.interactable = validationResult.IsValid;
        }
 protected void Awake()
 {
     m_gameMachine = IOC.Resolve <IGameMachine>();
     m_player      = IOC.Resolve <IPlayer>();
     AwakeOverride();
 }