RTTIType: Difference between revisions
Appearance
en>Crimsonum Information provided by CCHyper. |
en>Crimsonum mNo edit summary |
||
| Line 1: | Line 1: | ||
An RTTIType is what identifies every "top-level" class (i.e. non-abstract classes) deriving from the AbstractClass uniquely. | An RTTIType ('''R'''un-'''T'''ime '''T'''ype '''I'''nformation) is what identifies every "top-level" class (i.e. non-abstract classes) deriving from the [[AbstractClass]] uniquely. | ||
In the game, it is often useful - for commonality's sake - to have a function or similar pass a [[FootClass]], which is the base class of the [[UnitClass], the [[InfantryClass]] and the [[AircraftClass]]. This way, operations for moving units can be handled using one part of code. | |||
In the game, it is often useful - for commonality's sake - to have a function or similar pass a [[FootClass]], which is the base class of the [[UnitClass]], the [[InfantryClass]] and the [[AircraftClass]]. This way, operations for moving units can be handled using one part of code. | |||
However, sometimes one needs to know what exactly this FootClass is (one of the three possibilities named above). For this, you use the RTTIType. | However, sometimes one needs to know what exactly this FootClass is (one of the three possibilities named above). For this, you use the RTTIType. | ||
Revision as of 09:46, 26 July 2022
An RTTIType (Run-Time Type Information) is what identifies every "top-level" class (i.e. non-abstract classes) deriving from the AbstractClass uniquely.
In the game, it is often useful - for commonality's sake - to have a function or similar pass a FootClass, which is the base class of the UnitClass, the InfantryClass and the AircraftClass. This way, operations for moving units can be handled using one part of code.
However, sometimes one needs to know what exactly this FootClass is (one of the three possibilities named above). For this, you use the RTTIType.
RTTIType List
| ID | RTTIType | Class | Comment |
|---|---|---|---|
| TS, RA2 and YR: | |||
| 0 | RTTI_NONE | is considered an error value | |
| 1 | RTTI_UNIT | UnitClass | |
| 2 | RTTI_AIRCRAFT | AircraftClass | |
| 3 | RTTI_AIRCRAFTTYPE | AircraftTypeClass | |
| 4 | RTTI_ANIM | AnimationClass | |
| 5 | RTTI_ANIMTYPE | AnimationTypeClass | |
| 6 | RTTI_BUILDING | Building | |
| 7 | RTTI_BUILDINGTYPE | BuildingType | |
| 8 | RTTI_BULLET | BulletClass | |
| 9 | RTTI_BULLETTYPE | BulletTypeClass | |
| 10 | RTTI_CAMPAIGN | CampaignClass | |
| 11 | RTTI_CELL | CellClass | |
| 12 | RTTI_FACTORY | FactoryClass | |
| 13 | RTTI_HOUSE | HouseClass | |
| 14 | RTTI_HOUSETYPE | HouseTypeClass | |
| 15 | RTTI_INFANTRY | InfantryClass | |
| 16 | RTTI_INFANTRYTYPE | InfantryTypeClass | |
| 17 | RTTI_ISOTILE | IsometricTileClass | |
| 18 | RTTI_ISOTILETYPE | IsometricTileTypeCla | |
| 19 | RTTI_LIGHT | BuildingLightClass | |
| 20 | RTTI_OVERLAY | OverlayClass | |
| 21 | RTTI_OVERLAYTYPE | OverlayTypeClass | |
| 22 | RTTI_PARTICLE | ParticleClass | |
| 23 | RTTI_PARTICLETYPE | ParticleTypeClass | |
| 24 | RTTI_PARTICLESYSTEM | ParticleSystemClass | |
| 25 | RTTI_PARTICLESYSTEMTYPE | ParticleSystemTypeCl | |
| 26 | RTTI_SCRIPT | ScriptClass | |
| 27 | RTTI_SCRIPTTYPE | ScriptTypeClass | |
| 28 | RTTI_SIDE | SideClass | |
| 29 | RTTI_SMUDGE | SmudgeClass | |
| 30 | RTTI_SMUDGETYPE | SmudgeTypeClass | |
| 31 | RTTI_SPECIAL | Special | used for cameos (SW icons) |
| 32 | RTTI_SUPERWEAPONTYPE | SuperWeaponTypeClass | |
| 33 | RTTI_TASKFORCE | TaskForceClass | |
| 34 | RTTI_TEAM | TeamClass | |
| 35 | RTTI_TEAMTYPE | TeamTypeClass | |
| 36 | RTTI_TERRAIN | TerrainClass | |
| 37 | RTTI_TERRAINTYPE | TerrainTypeClass | |
| 38 | RTTI_TRIGGER | TriggerClass | |
| 39 | RTTI_TRIGGERTYPE | TriggerTypeClass | |
| 40 | RTTI_UNITTYPE | UnitTypeClass | |
| 41 | RTTI_VOXELANIM | VoxelAnimClass | |
| 42 | RTTI_VOXELANIMTYPE | VoxelAnimTypeClass | |
| 43 | RTTI_WAVE | WaveClass | |
| 44 | RTTI_TAG | TagClass | |
| 45 | RTTI_TAGTYPE | TagTypeClass | |
| 46 | RTTI_TIBERIUM | TiberiumClass | |
| 47 | RTTI_ACTION | TActionClass | |
| 48 | RTTI_EVENT | TEventClass | |
| 49 | RTTI_WEAPONTYPE | WeaponTypeClass | |
| 50 | RTTI_WARHEADTYPE | WarheadTypeClass | |
| 51 | RTTI_WAYPOINT | WaypointClass | |
| 52 | RTTI_ABSTRACT | AbstractClass | |
| 53 | RTTI_TUBE | TubeClass | |
| 54 | RTTI_LIGHTSOURCE | LightSourceClass | |
| 55 | RTTI_EMPULSE | EMPulseClass | |
| 56 | RTTI_TACTICALMAP | TacticalClass | |
| 57 | RTTI_SUPERWEAPON | SuperClass | |
| 58 | RTTI_AITRIGGER | AITriggerClass | |
| 59 | RTTI_AITRIGGERTYPE | AITriggerTypeClass | |
| 60 | RTTI_NEURON | NeuronClass | |
| 61 | RTTI_FOGGEDOBJECT | FoggedObjectClass | |
| 62 | RTTI_ALPHASHAPE | AlphaShapeClass | |
| 63 | RTTI_VEINHOLEMONSTER | VeinholeMonsterClass | |
| RA2 only: | |||
| 64 | RTTI_NAVYTYPE | NavyType | |
| 65 | RTTI_SPAWNMANAGER | SpawnManagerClass | |
| 66 | RTTI_CAPTUREMANAGER | CaptureManagerClass | |
| 67 | RTTI_PARASITE | ParasiteClass | |
| 68 | RTTI_BOMB | BombClass | |
| 69 | RTTI_RADSITE | RadSiteClass | |
| 70 | RTTI_TEMPORAL | TemporalClass | |
| YR only: | |||
| 71 | RTTI_AIRSTRIKE | AirstrikeClass | |
| 72 | RTTI_SLAVEMANAGER | SlaveManagerClass | |
| 73 | RTTI_DISKLASER | DiskLaser | |