예제 #1
0
        public static ShipTemplate AddShip(string name)
        {
            ShipTemplate ship = new ShipTemplate();

            ship.Name = name;
            return(AddTemplate(ship) as ShipTemplate);
        }
예제 #2
0
        protected override void CopyTo(BaseTemplate newTemplate)
        {
            base.CopyTo(newTemplate);
            ShipTemplate newShip = newTemplate as ShipTemplate;

            if (newShip == null)
            {
                return;
            }

            newShip.ImpulseSpeed        = ImpulseSpeed;
            newShip.ImpulseAcceleration = ImpulseAcceleration;
            newShip.TurnSpeed           = TurnSpeed;
            newShip.WarpSpeed           = WarpSpeed;
            newShip.IsPlayable          = IsPlayable;
            newShip.FuelCapacity        = FuelCapacity;
            newShip.MaxRepairCrew       = MaxRepairCrew;

            foreach (var i in DockingPorts)
            {
                newShip.DockingPorts.Add(i.Clone());
            }

            foreach (var w in Weapons)
            {
                newShip.Weapons.Add(new HardpointID(w.Key), w.Value.Clone());
            }
        }
예제 #3
0
        public static ShipTemplate AddStation(string name)
        {
            ShipTemplate station = new ShipTemplate();

            station.Type = BaseTemplate.TemplateTypes.Station;
            station.Name = name;
            return(AddTemplate(station) as ShipTemplate);
        }
예제 #4
0
            public ShipScienceInfo(ShipTemplate ship)
            {
                Ship        = ship;
                Name        = Ship.Name;
                Description = Ship.Description;

                if (Ship.RadarTrace != string.Empty)
                {
                    Images.Add(Ship.RadarTrace);
                }

                ModelName = ship.ModelName;
            }
예제 #5
0
        public override bool Filter(ShipTemplate template)
        {
            if (ShipClass != string.Empty && template.ClassName.ToLowerInvariant() != ShipClass)
            {
                return(ShipClass == string.Empty || template.SubClassName.ToLowerInvariant() == SubClass);
            }

            if (Faction != string.Empty && template.FactionName != string.Empty && template.FactionName.ToLowerInvariant() != Faction)
            {
                return(false);
            }

            return(true);
        }
예제 #6
0
        public static ShipTemplate CloneShip(ShipTemplate template, string name)
        {
            ShipTemplate ship = template.CloneShip(name);

            return(AddTemplate(ship) as ShipTemplate);
        }
예제 #7
0
 public abstract bool Filter(ShipTemplate template);