private IEnumerable <PolygonData> planetSpriteData(CombatPlanetInfo planet) { var planetTransform = Matrix4.CreateTranslation(hexX(planet.Position), hexY(planet.Position), 0); var sprite = new TextureInfo(); switch (planet.Type) { case PlanetType.Asteriod: sprite = GalaxyTextures.Get.Asteroids; break; case PlanetType.GasGiant: sprite = GalaxyTextures.Get.GasGiant; break; case PlanetType.Rock: sprite = GalaxyTextures.Get.RockPlanet; break; } yield return(new PolygonData( PlanetColorZ, new SpriteData(planetTransform, sprite.Id, Color.White), SpriteHelpers.UnitRectVertexData(sprite) )); if (planet.Population > 0) { yield return(new PolygonData( MoreCombatantsZ, new SpriteData(PopulationTransform * planetTransform, TextRenderUtil.Get.TextureId, planet.Owner != null ? planet.Owner.Color : Color.Gray), TextRenderUtil.Get.BufferText(new ThousandsFormatter().Format(planet.Population), -1, Matrix4.Identity).ToList() )); } }
private PolygonData planetSpriteData(CombatPlanetInfo planet) { var sprite = new TextureInfo(); switch (planet.Type) { case PlanetType.Asteriod: sprite = GalaxyTextures.Get.Asteroids; break; case PlanetType.GasGiant: sprite = GalaxyTextures.Get.GasGiant; break; case PlanetType.Rock: sprite = GalaxyTextures.Get.RockPlanet; break; } return(new PolygonData( PlanetZ, new SpriteData(planetTransform(planet.OrdinalPosition), sprite.Id, Color.White, null, true), SpriteHelpers.UnitRect(sprite).ToList() )); }
private IEnumerable <PolygonData> planetSpriteData(CombatPlanetInfo planet) { var planetTransform = Matrix4.CreateTranslation(hexX(planet.Position), hexY(planet.Position), 0); var sprite = new TextureInfo(); switch (planet.Type) { case PlanetType.Asteriod: sprite = GalaxyTextures.Get.Asteroids; break; case PlanetType.GasGiant: sprite = GalaxyTextures.Get.GasGiant; break; case PlanetType.Rock: sprite = GalaxyTextures.Get.RockPlanet; break; } yield return(new PolygonData( PlanetColorZ, new SpriteData(planetTransform, sprite.Id, Color.White, null), SpriteHelpers.UnitRect(sprite).ToList() )); var formatter = new ThousandsFormatter(); if (planet.Population > 0) { foreach (var layer in TextRenderUtil.Get.BufferText(formatter.Format(planet.Population), -1, 0, MoreCombatantsZ, 1 / Layers)) { //TODO(v0.9) text as sprite data? should be SDF yield return(new PolygonData( layer.Key, new SpriteData(PopulationTransform * planetTransform, TextRenderUtil.Get.TextureId, planet.Owner != null ? planet.Owner.Color : Color.Gray, null), layer.Value.ToList() )); } } }
public void UseAbility(AbilityInfo ability, CombatPlanetInfo planet) { this.messageQueue.Add(() => this.processor.UseAbility(ability.Index, ability.Quantity, planet.Data)); }
public void UseAbility(AbilityInfo ability, CombatPlanetInfo planet) { this.battleGame.Processor.UseAbility(ability.Index, ability.Quantity, planet.Data); this.checkNextUnit(); }