public Presenter(IModelProvider model, IMenuHandler menuHandler, QuickButtonModule quickButtonModule) { this.model = model; this.menuHandler = menuHandler; quickButtonModule.RegisterDefaultButton(new QuickButton( "ghdDocument", 6, true, "Documents", "Interface\\Icons\\INV_Misc_Book_08", ShowDocumentMenu, AddOnReference.GHD)); }
public Presenter(IModelProvider model, SupportedFields supportedFields, QuickButtonModule buttonModule) { this.model = model; this.supportedFields = supportedFields; buttonModule.RegisterDefaultButton(new QuickButton( "ghfProfile", 5, true, "GHF - My Profile", "Interface\\Icons\\Spell_Misc_EmotionHappy", ShowCharacterMenu, AddOnReference.GHF)); var targetDetailsUi = ModuleFactory.GetM <TargetDetails>(); new TargetProfileMenu(this.model, targetDetailsUi); }
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); }