private static GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus[] GetEventPointBonuses(string worldDungeonId) { List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus> list = new List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus>(); GameWebAPI.RespDataMA_EventPointBonusM respDataMA_EventPointBonusMaster = MasterDataMng.Instance().RespDataMA_EventPointBonusMaster; foreach (GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus eventPointBonus in respDataMA_EventPointBonusMaster.eventPointBonusM) { if (eventPointBonus.worldDungeonId == worldDungeonId && eventPointBonus.effectType != "0") { list.Add(eventPointBonus); } } return(list.ToArray()); }
public static List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus> GetTargetEventPoiontBonus(string dungeonId) { List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus> list = new List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus>(); GameWebAPI.RespDataMA_EventPointBonusM respDataMA_EventPointBonusMaster = MasterDataMng.Instance().RespDataMA_EventPointBonusMaster; for (int i = 0; i < respDataMA_EventPointBonusMaster.eventPointBonusM.Length; i++) { if (respDataMA_EventPointBonusMaster.eventPointBonusM[i].worldDungeonId == dungeonId && !string.IsNullOrEmpty(respDataMA_EventPointBonusMaster.eventPointBonusM[i].effectType) && respDataMA_EventPointBonusMaster.eventPointBonusM[i].effectType != "0") { list.Add(respDataMA_EventPointBonusMaster.eventPointBonusM[i]); } } return(list); }
public void CheckEffectiveBonus() { BattleStateManager current = BattleStateManager.current; if (!current.onServerConnect) { return; } string b = string.Empty; if (current.battleMode == BattleMode.Multi) { b = DataMng.Instance().RespData_WorldMultiStartInfo.worldDungeonId; } else if (current.battleMode == BattleMode.PvP) { b = ClassSingleton <MultiBattleData> .Instance.PvPField.worldDungeonId; } else { b = ClassSingleton <QuestData> .Instance.RespDataWD_DungeonStart.worldDungeonId; } List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus> list = new List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus>(); GameWebAPI.RespDataMA_EventPointBonusM respDataMA_EventPointBonusMaster = MasterDataMng.Instance().RespDataMA_EventPointBonusMaster; foreach (GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus eventPointBonus2 in respDataMA_EventPointBonusMaster.eventPointBonusM) { if (eventPointBonus2.worldDungeonId == b && eventPointBonus2.effectType != "0") { list.Add(eventPointBonus2); } } using (List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus> .Enumerator enumerator = list.GetEnumerator()) { while (enumerator.MoveNext()) { GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus eventPointBonus = enumerator.Current; ExtraEffectUtil.EventPointBonusTargetSubType eventPointBonusTargetSubType = (ExtraEffectUtil.EventPointBonusTargetSubType) int.Parse(eventPointBonus.targetSubType); switch (eventPointBonusTargetSubType) { case ExtraEffectUtil.EventPointBonusTargetSubType.MonsterTribe: if (this.characterDatas.tribe.Equals(eventPointBonus.targetValue)) { this._effectiveBonus = true; return; } break; case ExtraEffectUtil.EventPointBonusTargetSubType.MonsterGroup: if (this.characterStatus.groupId.Equals(eventPointBonus.targetValue)) { this._effectiveBonus = true; return; } break; case ExtraEffectUtil.EventPointBonusTargetSubType.GrowStep: { string text = MonsterGrowStepData.ToGrowStepString(this.characterDatas.growStep); if (text.Equals(eventPointBonus.targetValue)) { this._effectiveBonus = true; return; } break; } case ExtraEffectUtil.EventPointBonusTargetSubType.SkillId: if (this.skillStatus.Length > 2 && this.skillStatus[2].skillId.Equals(eventPointBonus.targetValue)) { this._effectiveBonus = true; return; } if (this.leaderSkillStatus.leaderSkillId.Equals(eventPointBonus.targetValue)) { this._effectiveBonus = true; return; } break; case ExtraEffectUtil.EventPointBonusTargetSubType.ChipId: if (this.chipIds.Where((int item) => item == eventPointBonus.targetValue.ToInt32()).Any <int>()) { this._effectiveBonus = true; return; } break; default: if (eventPointBonusTargetSubType == ExtraEffectUtil.EventPointBonusTargetSubType.MonsterIntegrationGroup) { foreach (string value in this.characterStatus.monsterIntegrationIds) { if (eventPointBonus.targetValue.Equals(value)) { this._effectiveBonus = true; return; } } } break; } } } if (this.IsBonusQuest(this.characterStatus.groupId)) { this._effectiveBonus = true; return; } this._effectiveBonus = false; }