diff options
Diffstat (limited to 'Penguloon/Objects/CannonObject.cs')
| -rw-r--r-- | Penguloon/Objects/CannonObject.cs | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/Penguloon/Objects/CannonObject.cs b/Penguloon/Objects/CannonObject.cs index 41ed9bf..01afab8 100644 --- a/Penguloon/Objects/CannonObject.cs +++ b/Penguloon/Objects/CannonObject.cs @@ -7,6 +7,8 @@ namespace Penguloon.Objects { class CannonObject : ObjectBase { + int extraPops = 0; + public CannonObject(Vector2 position, Map map) : base(position, map) { this.Texture = ContentManager.GetTexture("Objects/cannon"); @@ -27,6 +29,28 @@ namespace Penguloon.Objects this.infoText = map.Level.ParentScene.Main.Resources.GetString(Resource.String.ObjectCannon); } + public override void CreateUpgrades() + { + ObjectUpgrade pop3 = new ObjectUpgrade(650, UpgradeType.PopCount, "+1 pop", null, Map.Level); + ObjectUpgrade pop2 = new ObjectUpgrade(500, UpgradeType.PopCount, "+1 pop", pop3, Map.Level); + ObjectUpgrade pop1 = new ObjectUpgrade(350, UpgradeType.PopCount, "+1 pop", pop2, Map.Level); + pop1.OnClick += delegate { extraPops++; }; pop2.OnClick += delegate { extraPops++; }; pop3.OnClick += delegate { extraPops++; }; + + ObjectUpgrade rng3 = new ObjectUpgrade(650, UpgradeType.Range, "+1 range", null, Map.Level); + ObjectUpgrade rng2 = new ObjectUpgrade(500, UpgradeType.Range, "+1 range", rng3, Map.Level); + ObjectUpgrade rng1 = new ObjectUpgrade(350, UpgradeType.Range, "+1 range", rng2, Map.Level); + rng1.OnClick += delegate { Range += Map.TileWidth; }; rng2.OnClick += delegate { Range += Map.TileWidth; }; rng3.OnClick += delegate { Range += Map.TileWidth; }; + + ObjectUpgrade spd3 = new ObjectUpgrade(650, UpgradeType.Speed, "+0.1 speed", null, Map.Level); + ObjectUpgrade spd2 = new ObjectUpgrade(500, UpgradeType.Speed, "+0.1 speed", spd3, Map.Level); + ObjectUpgrade spd1 = new ObjectUpgrade(350, UpgradeType.Speed, "+0.1 speed", spd2, Map.Level); + spd1.OnClick += delegate { AttackSpeedMS -= 100; }; spd2.OnClick += delegate { AttackSpeedMS -= 100; }; spd3.OnClick += delegate { AttackSpeedMS -= 100; }; + + UpgradeList.Add(pop1); + UpgradeList.Add(rng1); + UpgradeList.Add(spd1); + } + public override void DrawUnique(float deltaTime) { @@ -39,7 +63,7 @@ namespace Penguloon.Objects public override void SpawnUnique() { - Projectiles.Add(new CannonballProjectile(this, this.Rotation)); + Projectiles.Add(new SnowballProjectile(this, this.Rotation, extraPops)); } } }
\ No newline at end of file |
