Newer
Older
- Game Target: Kill Auto Hero
- Auto Hero
- Automatically runs to next enemy and bashes away
- Stats increase with every lost battle
- Mana
- Player has limited mana available
- Used to spawn enemies
- Used to upgrade enemies
- Gain mana by dealing Damage to Auto Hero or defeating him
- Can be spent on permanent upgrades
- Persists after battle rounds
- Enemies
- Multiple Types
- Close combat, weak
- Tank
- Far Archer / Mage
- Drag-n-drop enemies into game
- Enemies stay at their spawned position
- Upgrades
- HP
- Deal more damage
- Take less damage
- Reduced Mana Costs
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
- One-time use extreme buffs to put on a specific enemy
----------------------------------------------
- Weitere Sprites für bestimmte Klassen suchen
- Oberklasse Enemy mit HP, Stats etc
- Enemies haben (permanente) Upgrades
- Unterklassen für spezifische Behaviors, z.B. für movement, attacks etc
- Enemies bleiben tot sobald tot
- AntiPlayer
-> StatsManager singleton mit dontDestroyOnLoad
- hat Methoden, um spezifische Upgrades zu exposen
- speichert Mana und wie viele Upgrades wovon man schon hat
- Mana wird immer generiert, sobald man etwas damage dealt
- Mana bleibt immer erhalten und wird nie resetted
- Upgrades kann man erst kaufen, sobald mindestens ein Enemy auf dem Feld ist
- public EnemyStats GetEnemyStats()
- AntiPlayer stats bleiben auch im StatsManager, stats sind aber fixed pro Szene
- public AntiPlayerStats GetAntiPlayerStats(int stage)
- Enemy Stats bleiben über Szenen erhalten
-> Enemy Basisklasse
- zieht sich Upgrades aus StatsManager
- macht jeden Frame StatsManager.GetEnemyStats() oder so
- ruft darauf basierend abstrakte Methoden in Unterklasse auf
- abstract void Attack(), called on Timer
- managed selber HP
- TakeDamage(int dmg)
- aufgerufen vom AntiPlayer
- Dessen Schwert hat OnTriggerEnter2D() und berechnet dann seinen Damage und damaged den Enemy
- anders herum, wenn Enemy den AntiPlayer damaged:
- Enemy hat OnTriggerEnter2D(), berechnet eigenes Damage, damaged Player
- Oder ein Projektil macht das
-> Enemy-spezifische Unterklassen
- Implementeren abstrakte Methoden wie Attack()
- Schießen Pfeile, Schwertattacke etc