Beispiel #1
0
 private void SetupTargetChangedScan(GameEventListener eventListener)
 {
     eventListener.RegisterEvent(UnitInfoEvent.PLAYER_TARGET_CHANGED, (e, o) =>
     {
         if (Global.Api.UnitIsPlayer(UnitId.target) && Global.Api.UnitIsFriend(UnitId.player, UnitId.target))
         {
             this.onActivity(Global.Api.UnitName(UnitId.target), PlayerActivity.PlayerTargeted);
         }
     });
 }
Beispiel #2
0
        public TargetDetails()
        {
            this.pages  = new List <TargetDetailPageInfo>();
            this.button = new RoundButton(ButtonSize);
            this.button.SetIcon(@"GH\Texture\GhRoundIcon");
            this.button.ClickCallback = this.OnClick;
            this.button.Button.Hide();
            var eventListener = new GameEventListener();

            eventListener.RegisterEvent(UnitInfoEvent.PLAYER_TARGET_CHANGED, this.OnTargetChange);
        }
Beispiel #3
0
        public ModelProvider(ISerializer serializer, IWrapper wrapper, GameEventListener eventListener, IAddOnRegistry addOnRegistry, QuickButtonModule buttonModule)
        {
            var subscriptionCenter = new EntityUpdateSubscriptionCenter <Profile, string>();

            this.AccountProfiles = new EntityStore <Profile, string>(serializer, new SavedDataHandler(SavedAccountProfiles, Global.Api.GetRealmName()), subscriptionCenter);

            eventListener.RegisterEvent(SystemEvent.VARIABLES_LOADED, this.OnVariablesLoaded);
            addOnRegistry.RegisterAddOn(AddOnReference.GHF);

            var playerName      = Global.Api.UnitName(UnitId.player);
            var version         = Global.Api.GetAddOnMetadata(Strings.tostring(AddOnReference.GH), "Version");
            var supportedFields = new SupportedFields();

            this.Msp = new MSPProxy(new ProfileFormatter(), version, supportedFields, wrapper);

            subscriptionCenter.SubscribeForUpdates(this.Msp.Set, profile => profile.Id.Equals(playerName));

            var requestStrategy = new MspRequestStrategy();
            var activityScanner = new PlayerActivityScanner((name, activity) => { this.Msp.Request(name, requestStrategy.GetFieldsToRequest(activity)); }, eventListener);

            new Presenter(this, supportedFields, buttonModule);
        }