| | |
| | | Dictionary<int, int> exteriorPowerDict = new Dictionary<int, int>();
|
| | | Dictionary<int, int> godWeaponSkillEffect = new Dictionary<int, int>();
|
| | | Dictionary<int, int> singleHarmmerExp = new Dictionary<int, int>();
|
| | | Dictionary<int, List<GodWeaponEffectProperty>> effectPropertyDict =
|
| | | new Dictionary<int, List<GodWeaponEffectProperty>>();
|
| | | Dictionary<int, Dictionary<int, int>> effectFightPower = new Dictionary<int, Dictionary<int, int>>();
|
| | | int[] autoHammerExpArea { get; set; }
|
| | | int[] autoHammerCount { get; set; }
|
| | |
|
| | |
| | | godWeaponStageDict.Add(config.type, stages);
|
| | | }
|
| | | stages.Add(config.level);
|
| | | List<GodWeaponEffectProperty> list;
|
| | | if (!effectPropertyDict.TryGetValue(config.type, out list))
|
| | | {
|
| | | list = new List<GodWeaponEffectProperty>();
|
| | | effectPropertyDict.Add(config.type, list);
|
| | | }
|
| | | list.Add(new GodWeaponEffectProperty()
|
| | | {
|
| | | level = config.level,
|
| | | propertyDict = ConfigParse.GetDic<int, int>(config.attr),
|
| | | });
|
| | | Dictionary<int, int> dict;
|
| | | if (!effectFightPower.TryGetValue(config.type, out dict))
|
| | | {
|
| | | dict = new Dictionary<int, int>();
|
| | | effectFightPower.Add(config.type, dict);
|
| | | }
|
| | | dict.Add(config.level, config.fightPower);
|
| | | }
|
| | |
|
| | | funcConfig = Config.Instance.Get<FuncConfigConfig>("MagicExterior");
|
| | |
| | | {
|
| | | WindowCenter.Instance.CloseImmediately<HowToPlayWin>();
|
| | | }
|
| | | ActivateShow.GodWeaponStage(_type, _nowLv, _beforeLv);
|
| | | ActivateShow.GodWeaponStage(_type, _nowLv, _beforeLv, stage);
|
| | | }
|
| | | return;
|
| | | }
|
| | |
| | | return godWeaponSkillEffect.TryGetValue(skillId, out effect);
|
| | | }
|
| | |
|
| | | public bool TryGetEffectProperty(int type, int level, out Dictionary<int, int> dict)
|
| | | {
|
| | | dict = null;
|
| | | if (effectPropertyDict.ContainsKey(type))
|
| | | {
|
| | | var effectProperty = effectPropertyDict[type].Find((x) =>
|
| | | {
|
| | | return x.level == level;
|
| | | });
|
| | | if (!effectProperty.Equals(default(GodWeaponEffectProperty)))
|
| | | {
|
| | | dict = effectProperty.propertyDict;
|
| | | return true;
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public int TryGetEffectFightPower(int type, int level)
|
| | | {
|
| | | if (effectFightPower.ContainsKey(type))
|
| | | {
|
| | | if (effectFightPower[type].ContainsKey(level))
|
| | | {
|
| | | return effectFightPower[type][level];
|
| | | }
|
| | | }
|
| | | return 0;
|
| | | }
|
| | |
|
| | | Dictionary<int, int> propertyCacheDict = new Dictionary<int, int>();
|
| | | public Dictionary<int, int> GetEffectPropertyUpper(int type, int stage)
|
| | | {
|
| | | propertyCacheDict.Clear();
|
| | | Dictionary<int, int> previousPropertyDict = null;
|
| | | if (stage - 1 > 0)
|
| | | {
|
| | | var level = GetGodWeaponStageRequireLevel(type, stage - 1);
|
| | | TryGetEffectProperty(type, level, out previousPropertyDict);
|
| | | }
|
| | | var requireLevel = GetGodWeaponStageRequireLevel(type, stage);
|
| | | Dictionary<int, int> dict;
|
| | | if (TryGetEffectProperty(type, requireLevel, out dict))
|
| | | {
|
| | | foreach (var key in dict.Keys)
|
| | | {
|
| | | if (previousPropertyDict != null && previousPropertyDict.ContainsKey(key))
|
| | | {
|
| | | propertyCacheDict.Add(key, dict[key] - previousPropertyDict[key]);
|
| | | }
|
| | | else
|
| | | {
|
| | | propertyCacheDict.Add(key, dict[key]);
|
| | | }
|
| | | }
|
| | | }
|
| | | return propertyCacheDict;
|
| | | }
|
| | | }
|
| | |
|
| | | public class GodWeaponInfo
|
| | |
| | | public int cost;
|
| | | public int exp;
|
| | | }
|
| | |
|
| | | public struct GodWeaponEffectProperty
|
| | | {
|
| | | public int level;
|
| | | public Dictionary<int, int> propertyDict;
|
| | | }
|
| | | }
|
| | |
|