Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }