public TurnScope(Player player, Supply supply, IEventAggregator eventAggregator = null, TrashPile trash = null) : this(player, supply, 1, eventAggregator, trash) { }
protected AbstractActionScope(Supply supply, IEventAggregator eventAggregator, TrashPile trashPile, int turnNumber) { Supply = supply ?? new Supply(); _eventAggregator = eventAggregator ?? new EventAggregator(); eventAggregator.Register(this); _trashPile = trashPile ?? new TrashPile(); TurnNumber = turnNumber; }
public TurnScope(Player player, Supply supply, int turnNumber, IEventAggregator eventAggregator, IEnumerable <Player> reactingPlayers, TrashPile trash, IContainer container) : this(player, supply, turnNumber, eventAggregator, trash) { container.Configure(cfg => cfg.For <ITurnScope>().Use(this)); _container = container; reactingPlayers.ForEach(p => _reactionScopes.Add(new ReactionScope(eventAggregator, player, p, this, trash, supply))); }
public ReactionScope(IEventAggregator eventAggregator, Player actingPlayer, Player reactingPlayer, ITurnScope originatingTurnScope, TrashPile trashPile, Supply supply) : base(supply, eventAggregator, trashPile, 1) { _player = reactingPlayer; _actingPlayer = actingPlayer; _reactingPlayer = reactingPlayer; _originatingTurnScope = originatingTurnScope; _trashPile = trashPile; _eventPipeline = new EventFilterPipeline(_reactingPlayer); }
public TurnScope(Player player, Supply supply, int turnNumber, IEventAggregator eventAggregator, TrashPile trashPile) : base(supply, eventAggregator, trashPile, turnNumber) { _turnState = TurnState.NewTurn(); if (supply == null) { throw new ArgumentNullException("Supply cannot be null."); } _player = player; Deck = _player.Deck; DiscardPile = _player.DiscardPile; _eventAggregator.Register(this); }
public void TrashCard(Card card, TrashPile trash, TurnScope turnScope) { MoveCardIntoSet(card, trash, turnScope); }
public void SetTrashPile(TrashPile trashPile) { mTrashPile = trashPile; }
public override bool Run() { try { if (!Target.RouteToCan(Actor, true)) { return(false); } StateMachineClient stateMachine = Target.GetStateMachine(Actor, false); stateMachine.AddOneShotScriptEventHandler(0x65, Target.EventCallbackRemoveLid); stateMachine.AddOneShotScriptEventHandler(0x66, Target.EventCallbackAddLid); Trashcan target = Target as Trashcan; if (target != null) { mLidGuid = target.SetupLidProp(stateMachine); } IFairyBoobyTrap trap = Target as IFairyBoobyTrap; if (((trap != null) && ((trap.BoobyTrapComponent != null) ? trap.BoobyTrapComponent.CanTriggerTrap(Actor.SimDescription) : false)) && trap.TriggerTrap(Actor)) { TrashcanOutside outsideCan = Target as TrashcanOutside; if (outsideCan != null) { TrashPile.CreateFairyTrapTrashPiles(outsideCan); } return(false); } StandardEntry(); BeginCommodityUpdates(); try { if (!Autonomous) { Target.HasBeenRummagedByPlayer = true; } Target.SetRummagingSim(Actor); Target.RummageBroadcasterCreate(); stateMachine.RequestState("x", "LoopRummage"); if ((!Autonomous && (HudController.InfoState != InfoState.Inventory)) && Actor.IsActiveSim) { HudController.SetInfoState(InfoState.Inventory); } mNetWorth = Target.LotCurrent.Household.NetWorth(); DoLoop(~(ExitReason.Replan | ExitReason.MidRoutePushRequested | ExitReason.ObjectStateChanged | ExitReason.PlayIdle | ExitReason.MaxSkillPointsReached), LoopDel, stateMachine); Target.RummageBroadcasterDestroy(); stateMachine.RequestState("x", "Exit"); if (!Autonomous) { HudModel.OpenObjectInventoryForOwner(null); } } finally { EndCommodityUpdates(true); } BuffInstance element = Actor.BuffManager.GetElement(BuffNames.Smelly); if (element != null) { element.mBuffOrigin = Origin.FromDumpsterDiving; } StandardExit(); return(true); } catch (ResetException) { throw; } catch (Exception e) { Common.Exception(Actor, Target, e); return(false); } }