コード例 #1
0
        public LeadersWindow(LeadersWindowViewModel p_VM)
        {
            this.DataContext = p_VM;
            _VM = p_VM;

            InitializeComponent();

            // LeadersList.Items.Clear();
        }
コード例 #2
0
        private void _Game_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "Stage")
            {
                if (_Game.Stage == GameStage.Playing)
                {
                    // 1.Check if the User arranged his Boats correctly

                    _Game.UserBattleField.ParseArrangement();
                    bool   _isArrangedCorrectly = false;
                    string _errorMessage;

                    _isArrangedCorrectly = _Game.UserBattleField.CheckArrangement(out _errorMessage);
                    if (_isArrangedCorrectly)
                    {
                        MessageBox.Show(_errorMessage); //successfully arranged

                        // 2. Fill Enemy's BattleField automatically
                        _Game.EnemyBattleField.ArrangeAutomatically();
                    }
                    else
                    {
                        _Game.Stage = GameStage.BoatsArrange;

                        MessageBox.Show(_errorMessage);
                    }
                }
                else if (_Game.Stage == GameStage.Finished)
                {
                    LeadersWindowViewModel LeadersWindowVM = new LeadersWindowViewModel(MyGame.UserScores, MyGame.EnemyScores, (MyGame.Result == GameResult.Victory));

                    LeadersWindow MyLeadersWindow = new LeadersWindow(LeadersWindowVM);

                    MyLeadersWindow.Show();
                }
            }
        }