public DBEFFECT GetNew(params object[] args) { DBEFFECT dbe = (DBEFFECT)this.GetType().InvokeMember(null, BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.CreateInstance, null, null, args); return(dbe); }
public static void CollectDbEffects() { Module m = Assembly.GetExecutingAssembly().GetModules(false)[0]; Type[] types = m.FindTypes(new TypeFilter(SearchCriteria), "DotaHIT.DatabaseModel.Upgrades"); NameEffectPairs = new Dictionary <string, DBEFFECT>(types.Length, (IEqualityComparer <string>)StringComparer.OrdinalIgnoreCase); foreach (Type type in types) { DBEFFECT e = (DBEFFECT)type.InvokeMember(null, BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null); if (!string.IsNullOrEmpty(e.codeID)) { NameEffectPairs.Add(e.codeID, e); } } }
internal DBUPGRADE(HabProperties hps) { hpsInitialData = hps.GetCopy(); //////////////////////// // get alias //////////////////////// this.name = hps.name; //////////////////////// // get max level //////////////////////// this.max_level = hpsInitialData.GetIntValue("maxlevel"); //////////////////////// // get effects //////////////////////// effects = new List <DBEFFECT>(4); string effectID; for (int i = 1; i <= 4; i++) { if ((effectID = hps.GetStringValue("effect" + i)) != "_") { DBEFFECT e = DBEFFECT.InitProperEffect(effectID, hps.GetDoubleValue("base" + i), hps.GetDoubleValue("mod" + i)); if (e != null) { effects.Add(e); } } } }