private Planet(IkonComposite rawData, ObjectDeindexer deindexer) { var starSave = rawData[StarKey]; this.Star = deindexer.Get <StarData>(starSave.To <int>()); var positionSave = rawData[PositionKey]; this.Position = positionSave.To <int>(); var typeSave = rawData[TypeKey]; this.Type = (PlanetType)Enum.Parse(typeof(PlanetType), (string)typeSave.Tag); var sizeSave = rawData[SizeKey]; this.Size = sizeSave.To <double>(); var traitsSave = rawData[TraitsKey]; this.Traits = new PendableSet <BodyTrait>(); foreach (var item in traitsSave.To <IkonArray>()) { this.Traits.Add(deindexer.Get <BodyTraitType>(item.Tag as string).Load(this, item)); } }
private StarData(IkonComposite rawData, ObjectDeindexer deindexer) { var colorSave = rawData[ColorKey]; var colorArray = colorSave.To <IkonArray>(); int colorR = colorArray[0].To <int>(); int colorG = colorArray[1].To <int>(); int colorB = colorArray[2].To <int>(); this.Color = Color.FromArgb(colorR, colorG, colorB); var imageSizeScaleSave = rawData[SizeKey]; this.ImageSizeScale = imageSizeScaleSave.To <float>(); var nameSave = rawData[NameKey]; this.Name = loadName(nameSave); var positionSave = rawData[PositionKey]; var positionArray = positionSave.To <IkonArray>(); double positionX = positionArray[0].To <double>(); double positionY = positionArray[1].To <double>(); this.Position = new Vector2D(positionX, positionY); var traitsSave = rawData[TraitsKey]; this.Traits = new PendableSet <BodyTrait>(); foreach (var item in traitsSave.To <IkonArray>()) { this.Traits.Add(deindexer.Get <BodyTraitType>(item.Tag as string).Load(this, item)); } }
public StarData(Color color, float imageSizeScale, IStarName name, Vector2D position, List <StarTraitType> traits) { this.Color = color; this.ImageSizeScale = imageSizeScale; this.Name = name; this.Position = position; this.Traits = new PendableSet <IStarTrait>(traits.Select(x => x.Make())); }
public Planet(StarData star, int position, PlanetType type, double size, IEnumerable <PlanetTraitType> traits) { this.Star = star; this.Position = position; this.Type = type; this.Size = size; this.Traits = new PendableSet <PlanetTraitType>(traits); }
public Planet(StarData star, int position, PlanetType type, double size, List <BodyTraitType> traits) { this.Star = star; this.Position = position; this.Type = type; this.Size = size; this.Traits = new PendableSet <BodyTrait>(traits.Select(x => x.Instantiate(this))); }
public SpaceBattleGame(Vector2D location, int turnLimit, MainGame mainGame) : base( new Random(), location, turnLimit, new List <Combatant>(), new CombatPlanet[mainGame.States.Planets.At[mainGame.States.Stars.At[location]].Count], new List <Combatant>(), 0 ) { this.PlayOrder = new Queue <Combatant>(); this.Projectiles = new PendableSet <Projectile>(); }
private Planet(Planet original, StarData star) { this.Star = star; this.Position = original.Position; this.Type = original.Type; this.Size = original.Size; this.Traits = new PendableSet <BodyTrait>(); foreach (var item in original.Traits) { this.Traits.Add(item.Copy()); } }
private StarData(StarData original) { this.Color = original.Color; this.ImageSizeScale = original.ImageSizeScale; this.Name = original.Name; this.Position = original.Position; this.Traits = new PendableSet <BodyTrait>(); foreach (var item in original.Traits) { this.Traits.Add(item.Copy()); } }
public ParallelAnimation(params IAnimator[] animations) { this.animations = new PendableSet <IAnimator>(animations); }