void Start() { XmasModel engine = Engine.EngineModel; engine.EventManager.Register(new Trigger <PlayerJoinedEvent>(OnPlayerJoin)); engine.EventManager.Register(new Trigger <GamePreStartEvent>(OnGameStart)); }
// Use this for initialization void Start() { XmasModel eng = Engine.EngineModel; eng.EventManager.Register(new Trigger <EntityAddedEvent>(ent => ent.AddedXmasEntity is UnitEntity, OnUnitEntity)); eng.EventManager.Register(new Trigger <EntityRemovedEvent>(ent => ent.RemovedXmasEntity is UnitEntity, OnUnitRemoved)); }
// Use this for initialization public void Initialize() { this.guiinfo = this.gameObject.GetComponent <GuiInformation>(); this.GuiView = this.gameObject.GetComponent <GuiViewHandler>(); hasPriority = false; if (PlayerCamera == null) { PlayerCamera = Camera.main; } engmodel = Engine.EngineModel; engmodel.EventManager.Register(new Trigger <PlayerGainedPriorityEvent>(evt => hasPriority = evt.Player == guiinfo.Player)); engmodel.EventManager.Register(new Trigger <PlayerAllowedToDeclareMoveAttackEvent>(evt => allowedToDeclare = (evt.Player == guiinfo.Player && evt.Allowed))); //foreach (var player in this.JoinedPlayers) //{ // foreach(Phases phase in (Phases[])Enum.GetValues(typeof(Phases))) // { // var texture = guiinfo.GetSkipPhaseButton(player, phase); // if (texture == null) // continue; // var buttonHandler = texture.GetComponent<GUIButtonHandler>(); // var selectedPlayer = player; // var selectedPhase = phase; // buttonHandler.MouseDownEvent += (sender, evt) => // { // if (this.hasPriority && this.ControllerType == ControllerType.Shared || this.ControllerType == ControllerType.Full) // { // //this.PerformCommand(new ToggleStopPriorityCommand(SkipController, selectedPlayer, selectedPhase)); // } // }; // } //} foreach (Phases ph in (Phases[])Enum.GetValues(typeof(Phases))) { var texture = guiinfo[ph]; var buttonhandler = texture.GetComponent <GUIButtonHandler>(); var selectedPhase = ph; buttonhandler.MouseDownEvent += (sender, evt) => { if (hasPriority) { this.PerformCommand(new SkipToPhaseCommand(SkipController, selectedPhase)); } }; } var buyXp = this.guiinfo.XPButton.GetComponent <GUIButtonHandler>(); buyXp.MouseDownEvent += new EventHandler(buyXp_MouseDownEvent); }
public EngineTest(TileWorldBuilder wb) { this.EventManager = new EventManager(); this.ActionManager = new ActionManager(this.EventManager); this.Factory = new XmasFactory(this.ActionManager); this.Engine = new XmasModel(wb, this.ActionManager, this.EventManager, this.Factory); this.World = this.Engine.World; }
// Use this for initialization void Start() { XmasWorldBuilder builder = retreiveBuilderFromMap(); EventManager evtman = new EventManager(); ActionManager actman = new ActionManager(evtman); XmasFactory factory = new GameFactory(actman); engine = new XmasModel(builder, actman, evtman, factory); }
public void Initialize(UnityFactory factory, GuiInformation info, XmasModel engine, bool reversed) { this.Factory = factory; this.GUIInfo = info; this.Engine = engine; this.reversed = reversed; Engine.EventManager.Register(new Trigger <ManaCrystalAddedEvent>(evt => evt.Owner == this.GUIInfo.Player, OnManaAdded)); Engine.EventManager.Register(new Trigger <ManaCrystalSpentEvent>(evt => evt.Owner == this.GUIInfo.Player, OnManaSpent)); Engine.EventManager.Register(new Trigger <ManaRechargedEvent>(evt => evt.Owner == this.GUIInfo.Player, OnManaRecharged)); }
public VacuumWorldView(XmasModel model,Logger log) : base(model,log) { //Construct an ThreadSafe Event queue which triggers can be registered to while keeping the code thread safe this.evtq = model.EventManager.ConstructEventQueue(); this.ThreadSafeEventManager.AddEventQueue(evtq); //Register the triggers that track the vacuum cleaners actions this.evtq.Register(new Trigger<VacuumMovedEvent>(vacuum_Moved)); this.evtq.Register(new Trigger<VacuumSuckedEvent>(vacuum_Sucked)); }
public void Initialize() { guiinfo = this.gameObject.GetComponent <GuiInformation>(); engmodel = Engine.EngineModel; engmodel.EventManager.Register(new Trigger <PlayerGainedPriorityEvent>(OnPlayerPriority)); engmodel.EventManager.Register(new Trigger <PlayersTurnChangedEvent>(OnTurnChanged)); engmodel.EventManager.Register(new Trigger <PhaseChangedEvent>(OnPhaseChanged)); engmodel.EventManager.Register(new Trigger <PlayerDeclareMoveAttackEvent>(evt => evt.Player == this.guiinfo.Player, OnPlayerDeclare)); engmodel.EventManager.Register(new Trigger <PhaseChangedEvent>(OnPhaseChangedEvt)); engmodel.EventManager.Register(new Trigger <CardDrawnEvent>(evt => evt.Player == this.guiinfo.Player, OnPlayerDrawCard)); setupHpText(); this.initHPWidth = this.guiinfo.HealthBar.GetComponent <GUITextureAutoScaler>().CurPlacement.width; }
// Use this for initialization void Start() { engmodel = Engine.EngineModel; engmodel.EventManager.Register(new Trigger <ActionFailedEvent>(evt => Debug.Log("Engine action(" + evt.FailedAction + ") failed: " + evt.Exception.Message + " at " + evt.Exception.StackTrace))); //engmodel.EventManager.Register(new Trigger<EndMoveEvent>(evt => Debug.Log("Unit has moved to " + evt.To))); engmodel.EventManager.Register(new Trigger <PlayersTurnChangedEvent>(evt => Debug.Log("Player turn changed to: " + evt.PlayersTurn.Name))); engmodel.EventManager.Register(new Trigger <PhaseChangedEvent>(evt => Debug.Log("Phase changed to: " + evt.NewPhase.ToString()))); engmodel.EventManager.Register(new Trigger <PlayerGainedPriorityEvent>(evt => { if (evt.Player != null) { Debug.Log("Player gained priority: " + evt.Player.Name); } })); engmodel.EventManager.Register(new Trigger <PlayerJoinedEvent>(evt => Debug.Log("Player joined: " + evt.Player.Name))); engmodel.EventManager.Register(new Trigger <TriggerFailedEvent>(evt => Debug.Log(evt.FailedTrigger + " failed: " + evt.Exception.Message + " at " + evt.Exception.StackTrace))); engmodel.EventManager.Register(new Trigger <ActionCompletedEvent <AttackUnitAction> >(evt => Debug.Log("Attack dealt " + evt.Action.DamageOnResolve + " to " + evt.Action.Target))); }
// Use this for initialization void Start() { engmodel = Engine.EngineModel; //Start turn manager TurnManager turnManager = new TurnManager(); engmodel.AddActor(turnManager); AbilityManager abilityManager = new AbilityManager(); engmodel.AddActor(abilityManager); engmodel.EventManager.Register(new Trigger <PlayerJoinedEvent>(OnPlayerJoin)); Player[] players = Settings.LocalPlayers; foreach (Player p in players) { engmodel.ActionManager.Queue(new PlayerJoinAction(p)); } }
// Use this for initialization void Start() { XmasModel eng = Engine.EngineModel; eng.EventManager.Register(new Trigger <EntityAddedEvent>(ent => ent.AddedXmasEntity is TerrainEntity, OnTerrainEntity)); }
public void Start() { this.engine = EngineHandler.EngineModel; this.engine.EventManager.Register(new Trigger <ActionCompletedEvent <CastCardCommand> >(OnCastCard)); this.engine.EventManager.Register(new Trigger <DequeueAbilityEvent>(evt => evt.Ability is Spell, OnSpellRemovedFromStack)); }