| 1 | =============================================================================== | 
|---|
| 2 | Classes | 
|---|
| 3 | =============================================================================== | 
|---|
| 4 |  | 
|---|
| 5 | TowerDefense: | 
|---|
| 6 | GameType class | 
|---|
| 7 |  | 
|---|
| 8 | TowerDefenseCenterpoint | 
|---|
| 9 | Centerpoint class. Store tower template | 
|---|
| 10 |  | 
|---|
| 11 | Tower | 
|---|
| 12 | Represents a Tower | 
|---|
| 13 | I'm not actually sure if you have to code C++ in order to have your result. I would suggest to simply create a new spaceship template or maybe better a | 
|---|
| 14 | new template for a pawn. (The tower don't need to be spaceships; pawn is just fine.) | 
|---|
| 15 | Example for a template: /data/levels/templates/assff.oxt && /data/levels/include/weaponSettingsAssff.oxi | 
|---|
| 16 | @ assff.oxt: you don't need an engine (or your towers could fly away :-) and probably no Cameras. (just try what happens if you leave them out.)  | 
|---|
| 17 | @ weaponSettingsAssff.oxi: | 
|---|
| 18 | <weaponslots>: location where you want to have your tower to be equiped with weapons | 
|---|
| 19 | <weaponsets> : if you press fire, you actually always fire a whole set of weapons. The amount of weaponsets is defined here. (I'm not 100% sure whether this explanation is right.) | 
|---|
| 20 |  | 
|---|
| 21 | There are three <Weapon> tags - one for each weaponslot. Each weapon can contain several objects which you would probably | 
|---|
| 22 | refer to as "weapons": | 
|---|
| 23 |  | 
|---|
| 24 | LightningGun: Shoots a slow, rotation, yellow "ball". | 
|---|
| 25 | HsW01: the default laser weapon | 
|---|
| 26 | SimpleRocketFire: a weak (self steering) rocket | 
|---|
| 27 | RocketFire: a strong rocket | 
|---|
| 28 |                           | 
|---|
| 29 | About your Tower's Template location - either keep it in the level or do it similarly to the Assff templates. | 
|---|
| 30 | (If your towers behave & look nicely, I'm quite sure others want to include them in other levels, too.) | 
|---|
| 31 |  | 
|---|
| 32 |  | 
|---|
| 33 | =============================================================================== | 
|---|
| 34 | Other files | 
|---|
| 35 | =============================================================================== | 
|---|
| 36 |  | 
|---|
| 37 | /data/levels/towerdefense.oxw | 
|---|
| 38 | Loads the level. In <Level>, we first create a SpawnPoint. It spawns a cylinder using the 'centerpointmark' Template, which uses the 'centerpointmarkcamera' Template to create a static camera. Then, we create an instance of TowerDefenseCenterpoint and pass the 'towertemplate' Template, so that we can later create towers using this template. We also plase the playfield.mesh in a way that maps every field on the playfield.mesh to nice coordinates: the playfield spans as a square from -8,-8 to 8,8. | 
|---|