Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
 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()));
 }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
 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)));
 }
Ejemplo n.º 6
0
 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>();
 }
Ejemplo n.º 7
0
 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());
     }
 }
Ejemplo n.º 8
0
 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());
     }
 }
Ejemplo n.º 9
0
 public ParallelAnimation(params IAnimator[] animations)
 {
     this.animations = new PendableSet <IAnimator>(animations);
 }