public Tank(Textures.ID idTank, Textures.ID idTurret, ResourceHolder resources, TankColor color) : base(idTank, resources) { // Создаем турель (башню) танка turret = new Turret(idTurret, resources, this); // Определяем цвет танка this.color = color; // Определяем номер танка number = new Text(((int)color + 1).ToString(), resources.GetFont(Fonts.ID.Sansation), 20); number.FillColor = Color.Red; number.OutlineThickness = 0.75f; Utilities.CenterOrigin(number); TankMoved += delegate(object sender, MoveTankEventArgs e) { number.Position = e.newPosition + new Vector2f(Utilities.GetInstance().TILE_SIZE / 3, Utilities.GetInstance().TILE_SIZE / 3); }; // Создаем полоску для указания направления танка direction = new RectangleShape(new Vector2f(6, 16)); direction.FillColor = Color.Yellow; Utilities.CenterOrigin(direction, 0, 16); TankMoved += delegate(object sender, MoveTankEventArgs e) { direction.Position = e.newPosition; }; TankRotated += delegate(object sender, RotateTankEventArgs e) { direction.Rotation = sprite.Rotation; }; // Выставляем Origin в центр картинки Utilities.CenterOrigin(sprite); }
public Turret(Textures.ID id, ResourceHolder resources, Tank tank) : base(id, resources) { // Задаем параметры турели this.tank = tank; waterPressure = minWaterPressure; waterCapacity = maxWaterCapacity - 3; up = false; weaponReady = false; // Создаем полоску для указания направления турели direction = new RectangleShape(new Vector2f(2, 32)); Utilities.CenterOrigin(direction, 0, 32); TurretMoved += delegate(object sender, MoveTurretEventArgs e) { direction.Position = e.newPosition; }; TurretRotated += delegate(object sender, RotateTurretEventArgs e) { direction.Rotation = e.newRotation; }; TurretUp += delegate(object sender, UpTurretEventArgs e) { direction.FillColor = Color.Blue; }; TurretDown += delegate(object sender, DownTurretEventArgs e) { direction.FillColor = Color.Red; }; // Выставляем Origin в центр картинки Utilities.CenterOrigin(sprite); }
public Wind(Textures.ID id, ResourceHolder resources, string parameters) : base(id, resources) { settings = parameters.Split(); currentCycle = 0; cycles = settings.Length / 3; direction = ParseDirection(settings[currentCycle * 3 + 0]); power = int.Parse(settings[currentCycle * 3 + 1]); time = int.Parse(settings[currentCycle * 3 + 2]); // Устанавливаем параметры ветра для отображения на карте Utilities.CenterOrigin(sprite); sprite.Position = new Vector2f(Utilities.GetInstance().TILE_SIZE *Utilities.GetInstance().WIDTH_TILE_COUNT - Utilities.GetInstance().TILE_SIZE * 1.0f, Utilities.GetInstance().TILE_SIZE *Utilities.GetInstance().HEIGHT_TILE_COUNT - Utilities.GetInstance().TILE_SIZE * 0.5f); SetRotation(); powerText = new Text(power.ToString(), resources.GetFont(Fonts.ID.Sansation), 20); powerText.Position = new Vector2f(Utilities.GetInstance().TILE_SIZE *Utilities.GetInstance().WIDTH_TILE_COUNT - Utilities.GetInstance().TILE_SIZE * 1.75f, Utilities.GetInstance().TILE_SIZE *Utilities.GetInstance().HEIGHT_TILE_COUNT - Utilities.GetInstance().TILE_SIZE * 0.5f); powerText.FillColor = Color.Blue; powerText.OutlineThickness = 0.25f; Utilities.CenterOrigin(powerText); timeText = new Text(time.ToString(), resources.GetFont(Fonts.ID.Sansation), 20); timeText.Position = new Vector2f(Utilities.GetInstance().TILE_SIZE *Utilities.GetInstance().WIDTH_TILE_COUNT - Utilities.GetInstance().TILE_SIZE * 0.25f, Utilities.GetInstance().TILE_SIZE *Utilities.GetInstance().HEIGHT_TILE_COUNT - Utilities.GetInstance().TILE_SIZE * 0.5f); timeText.FillColor = Color.Blue; timeText.OutlineThickness = 0.25f; Utilities.CenterOrigin(timeText); }
public void LoadTexture(Textures.ID id, string filename) { if (!textures.ContainsKey(id)) { Texture texture = new Texture(filename); textures.Add(id, texture); } }
public Tree(Textures.ID idTree, ResourceHolder resources) : base(idTree, resources) { state = new NormalTreeState(); flame = new Flame(Textures.ID.Fire, resources); burnedTreeSprite = new Sprite(resources.GetTexture(Textures.ID.BurnedTree)); // Количество жизней дерева hitPoints = new Text(state.hitPoints.ToString(), resources.GetFont(Fonts.ID.Sansation), 12); hitPoints.FillColor = Color.Blue; hitPoints.OutlineThickness = 0.5f; Utilities.CenterOrigin(hitPoints); hitPoints.Position = sprite.Position + new Vector2f(Utilities.GetInstance().TILE_SIZE / 3, Utilities.GetInstance().TILE_SIZE / 3); Utilities.CenterOrigin(burnedTreeSprite); Utilities.CenterOrigin(sprite); }
public Rock(Textures.ID idRock, ResourceHolder resources) : base(idRock, resources) { Utilities.CenterOrigin(sprite); }
public Lake(Textures.ID idLake, ResourceHolder resources) : base(idLake, resources) { Utilities.CenterOrigin(sprite); }
public Entity(Textures.ID id, ResourceHolder resources) { Texture texture = resources.GetTexture(id); sprite = new Sprite(texture); }
public Texture GetTexture(Textures.ID id) { return(textures[id]); }
public Flame(Textures.ID id, ResourceHolder resources) : base(id, resources) { Utilities.CenterOrigin(sprite); }