Exemple #1
0
        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));
    }
Exemple #3
0
        // 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);
        }
Exemple #4
0
 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));
    }
Exemple #8
0
        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)));
 }
Exemple #10
0
    // 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));
        }
    }
Exemple #11
0
    // 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));
 }