private void FollowerChangedQualityHandler(LegionCompanionWrapper.FollowerChangedQualityEvent eventArgs) { PersistentFollowerData.AddOrUpdateFollower(eventArgs.Follower); if (this.UseEquipmentResultAction != null) { this.UseEquipmentResultAction(eventArgs.OldFollower, eventArgs.Follower); } LegionCompanionWrapper.RequestFollowerEquipment((int)GarrisonStatus.GarrisonFollowerType); }
private void GarrisonDataResultHandler(LegionCompanionWrapper.GarrisonDataRequestResultEvent eventArgs) { PersistentFollowerData.ClearData(); PersistentMissionData.ClearData(); PersistentTalentData.ClearData(); if (this.GarrisonDataResetStartedAction != null) { this.GarrisonDataResetStartedAction(); } GarrisonStatus.SetFaction(eventArgs.Data.PvpFaction); GarrisonStatus.SetGarrisonServerConnectTime(eventArgs.Data.ServerTime); GarrisonStatus.SetCurrencies(eventArgs.Data.GoldCurrency, eventArgs.Data.OrderhallResourcesCurrency, eventArgs.Data.WarResourcesCurrency); GarrisonStatus.SetCharacterName(eventArgs.Data.CharacterName); GarrisonStatus.SetCharacterLevel(eventArgs.Data.CharacterLevel); GarrisonStatus.SetCharacterClass(eventArgs.Data.CharacterClassID); for (int i = 0; i < eventArgs.Data.Followers.Count; i++) { WrapperGarrisonFollower wrapperGarrisonFollower = eventArgs.Data.Followers[i]; if (StaticDB.garrFollowerDB.GetRecord(wrapperGarrisonFollower.GarrFollowerID) != null) { PersistentFollowerData.AddOrUpdateFollower(wrapperGarrisonFollower); bool flag = (wrapperGarrisonFollower.Flags & 8) != 0; if (flag && wrapperGarrisonFollower.Durability <= 0 && this.TroopExpiredAction != null) { this.TroopExpiredAction(wrapperGarrisonFollower); } } } for (int j = 0; j < eventArgs.Data.Missions.Count; j++) { PersistentMissionData.AddMission(eventArgs.Data.Missions[j]); } for (int k = 0; k < eventArgs.Data.Talents.Count; k++) { PersistentTalentData.AddOrUpdateTalent(eventArgs.Data.Talents[k]); } if (!GarrisonStatus.Initialized) { this.GarrisonDataResetFinishedAction += this.HandleEnterWorld; GarrisonStatus.Initialized = true; } if (this.GarrisonDataResetFinishedAction != null) { this.GarrisonDataResetFinishedAction(); } if (this.FollowerDataChangedAction != null) { this.FollowerDataChangedAction(); } Singleton <Login> .Instance.MobileLoginDataRequestComplete(); }
private void UseFollowerArmamentResultHandler(LegionCompanionWrapper.UseFollowerArmamentResultEvent eventArgs) { if (eventArgs.Result == 0) { PersistentFollowerData.AddOrUpdateFollower(eventArgs.Follower); LegionCompanionWrapper.RequestFollowerArmamentsExtended((int)GarrisonStatus.GarrisonFollowerType); } else { AllPopups.instance.ShowGenericPopupFull(StaticDB.GetString("USE_ARMAMENT_FAILED", null)); } if (this.UseArmamentResultAction != null) { this.UseArmamentResultAction(eventArgs.Result, eventArgs.OldFollower, eventArgs.Follower); } }
private void ChangeFollowerActiveResultHandler(LegionCompanionWrapper.ChangeFollowerActiveResultEvent eventArgs) { if (eventArgs.Result == 0) { PersistentFollowerData.AddOrUpdateFollower(eventArgs.Follower); FollowerStatus followerStatus = GeneralHelpers.GetFollowerStatus(eventArgs.Follower); if (followerStatus == FollowerStatus.inactive) { Debug.Log("Follower is now inactive. " + eventArgs.ActivationsRemaining + " activations remain for the day."); } else { Debug.Log("Follower is now active. " + eventArgs.ActivationsRemaining + " activations remain for the day."); } if (this.FollowerDataChangedAction != null) { this.FollowerDataChangedAction(); } LegionCompanionWrapper.RequestFollowerActivationData((int)GarrisonStatus.GarrisonType); } }