Beispiel #1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="table">The table upon which the players for this scenario are seated</param>
 /// <param name="round">The current round of betting</param>
 /// <param name="policy">Policy information dictating what the player can and can't do</param>
 public DefaultNodeDataModel(PlayerModel player, HoldemHandRound round, BetTypeModel betType)
     : base(betType)
 {
     Player = player;
     Round = round;
     Icon = Utilities.LoadBitmap(Properties.Resources.DefaultNodeIcon);
     InfoDisplayType = typeof(BetTreeNodeInfo);
 }
Beispiel #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="table">The table upon which the players for this scenario are seated</param>
 /// <param name="round">The current round of betting</param>
 /// <param name="policy">Policy information dictating what the player can and can't do</param>
 public RandomBetModel(PlayerModel player, HoldemHandRound round, BetTypeModel betType)
     : base(betType)
 {
     Player = player;
     Round = round;
     Random = 100;
     Icon = Utilities.LoadBitmap(Properties.Resources.RandomBetIcon);
     InfoDisplayType = typeof(BetTreeNodeInfo);
 }
Beispiel #3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="table">The table upon which the players for this scenario are seated</param>
 /// <param name="round">The current round of betting</param>
 /// <param name="policy">Policy information dictating what the player can and can't do</param>
 public PreflopBetModel(PlayerModel player, HoldemHandRound round, BetTypeModel betType)
     : base(betType)
 {
     Player = player;
     Round = round;
     Icon = Utilities.LoadBitmap(Properties.Resources.PreflopBetIcon);
     Range = new HandRangeModel();
     InfoDisplayType = typeof(BetTreeNodeInfo);
 }
Beispiel #4
0
        public void OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (_model != null)
                _model.BetTypeEdited -= OnBetTypeChanged;

            _model = DataContext as BetTypeModel;
            if (_model == null) return;

            _model.BetTypeEdited += OnBetTypeChanged;
            Initialise();
        }
Beispiel #5
0
 public BetTreeNodeDataModel(BetTypeModel betModel)
 {
     BetModel = betModel;
 }
Beispiel #6
0
        protected BetTreeNodeModel AddShowdownStandard(BetTreeNodeModel parent)
        {
            BetTypeModel betModel = new BetTypeModel(parent.Policy);
            BetTreeNodeStyle style = _roundStyles[parent.Snapshot.Round];
            BetTreeNodeModel model = new BetTreeNodeModel(parent.Tree, _nodeStyles[typeof(PreflopBetModel)], style, parent.Snapshot, parent);

            ObservableCollection<BetTreeDataNodeMeta> metaList = new ObservableCollection<BetTreeDataNodeMeta>();
            metaList.Add(new BetTreeDataNodeMeta(SHOWDOWN_NODE_META, new ShowdownModel(parent.Snapshot)));
            model.AllowedNodeTypes = metaList;
            model.Meta = SHOWDOWN_NODE_META;

            betModel.AssociatePolicy(model);

            return model;
        }
Beispiel #7
0
        protected BetTreeNodeModel AddPostflopStandard(BetTreeNodeModel parent, HoldemHandRound round, int player)
        {
            BetTypeModel betModel = new BetTypeModel(parent.Policy);
            BetTreeNodeStyle style = _roundStyles[round];
            BetTreeNodeModel model = new BetTreeNodeModel(parent.Tree, _nodeStyles[typeof(PreflopBetModel)], style, parent.Snapshot, parent);
            betModel.AssociatePolicy(model);

            ObservableCollection<BetTreeDataNodeMeta> metaList = new ObservableCollection<BetTreeDataNodeMeta>();
            metaList.Add(new BetTreeDataNodeMeta(POSTFLOP_NODE_META, new PostFlopBetModel(_players[player], round, betModel)));
            metaList.Add(new BetTreeDataNodeMeta(RESULT_NODE_META, new ManualResultsModel(model)));
            metaList.Add(new BetTreeDataNodeMeta(SHOWDOWN_NODE_META, new ShowdownModel(parent.Snapshot)));

            model.AllowedNodeTypes = metaList;
            model.Meta = POSTFLOP_NODE_META;

            return model;
        }