/// <summary> /// Получает для героя его урон и остальные параметры /// </summary> /// <param name="name"></param> /// <returns></returns> public static void GetUnitParams(HeroPrototype unit) { if (!GameUnits.ContainsKey(unit.Name)) { Error.WrongHeroName(); } Copy(GameUnits[unit.Name], unit); }
/// <summary> /// Копирует свойства из родительского объекта в наследуемый /// </summary> /// <param name="parent"></param> /// <param name="child"></param> private static void Copy(HeroPrototype parent, HeroPrototype child) { var parentProperties = parent.GetType().GetProperties(); foreach (var parentProperty in parentProperties) { var val = parentProperty.GetValue(parent); if (val == null) { continue; } parentProperty.SetValue(child, val); } }