public static void calculate(HeroData heroData) { if (equipEftHandler == null) { initHashtable (); } heroData.resetEft (); GlobalModifier.reset (); List<Effect> equipEftAry = heroData.getEquipEft (); foreach(Effect eft in equipEftAry) { FunHandler func = equipEftHandler [eft.eName] as FunHandler; if(func == null) { continue; } func (eft, heroData.itemAdd, heroData.itemMult); } List<Effect> skEftAry = heroData.getSkEft (); foreach(Effect eft in skEftAry) { // Debug.Log(eftD.eName); // Debug.Log ("eftD.eName=" + eft.eName); // Debug.Log (Utils.dumpHashTable (equipEftHandler)); FunHandler func = equipEftHandler [eft.eName.ToUpper()] as FunHandler; if(func == null) { continue; } func (eft, heroData.skillAdd, heroData.skillMult); } }