示例#1
0
 public void AddShellPart(IPart shellPart)
 {
     if (shellPart is ShellPart)
     {
         IDefenseModifyingPart defenseModifyingPart = (IDefenseModifyingPart)shellPart;
         this.shellParts.Add(defenseModifyingPart);
     }
 }
示例#2
0
        public IPart CreatePart(string partType, string model, double weight, decimal price, int additionalParameter)
        {
            var partTypeReflaction = Assembly.GetCallingAssembly().GetTypes().FirstOrDefault(x => x.Name == partType);

            switch (partType)
            {
            case "Arsenal":
                IAttackModifyingPart vehicleInstace = (IAttackModifyingPart)Activator.CreateInstance(partTypeReflaction, new object[] { model, weight, price, additionalParameter });    // if parameters use new Object

                return(vehicleInstace);

            case "Shell":
                IDefenseModifyingPart vehicleInstacee = (IDefenseModifyingPart)Activator.CreateInstance(partTypeReflaction, new object[] { model, weight, price, additionalParameter });    // if parameters use new Object
                return(vehicleInstacee);

            case "Endurance":
                IHitPointsModifyingPart vehicleInstaceee = (IHitPointsModifyingPart)Activator.CreateInstance(partTypeReflaction, new object[] { model, weight, price, additionalParameter });    // if parameters use new Object
                return(vehicleInstaceee);

            default:
                return(null);
            }
        }