-
Notifications
You must be signed in to change notification settings - Fork 0
Classes
inkoalawetrust edited this page Sep 18, 2024
·
10 revisions
This is an inheritance tree diagram of all (Or most of) the classes that exist in the KAI library. Most of the nodes contain clickable links to their respective articles, which can be accessed by right clicking and opening the link in a new tab.
- Classes with square borders inherit from or are inherited by another class.
- Classes with rounded brackets are standalone, meaning they don't inherit from or get inherited by any other classes.
- Dotted connections are between mixins and the classes that use them, as opposed to inheritance.
%% Legend
%% Nodes in [] have some sort of inheritance to another class.
%% Nodes in () are standalone, and do not inherit from anything else or vice versa.
%% -.-> connections are between mixins and the classes that use them.
flowchart LR
%% Other classes
subgraph Other Actors
PlayerTurret[KAI_EmplacementPlayer]
click PlayerTurret "https://github.com/inkoalawetrust/KAI/wiki/KAI_EmplacementPlayer" "The base player morph for when a player uses an emplacement"
Turret[KAI_Emplacement]
click Turret "https://github.com/inkoalawetrust/KAI/wiki/KAI_Emplacement" "The base emplacement class"
MixAct(KAI_MixinActor)
click MixAct "https://github.com/inkoalawetrust/KAI/wiki/KAI_MixinActor" "Mixin actor to make the KAI mixins usable for non-KAI actors"
%% Technically it should be [] because it inherits from FastProjectile, but whatever.
Proj(KAI_BaseProjectile)
click Proj "https://github.com/inkoalawetrust/KAI/wiki/KAI_BaseProjectile" "The base projectile class for the library"
Trail(KAI_Tracer)
click Trail "https://github.com/inkoalawetrust/KAI/wiki/KAI_BaseProjectile#kai_tracer" "Base visual thinker trail class"
TrailActor(KAI_TracerActor)
click TrailActor "https://github.com/inkoalawetrust/KAI/wiki/KAI_BaseProjectile#kai_traceractor" "Base actor trail class"
%% Again, technically inherits from a non-actor class, whatever.
Token(KAI_DataToken)
click Token "https://github.com/inkoalawetrust/KAI/wiki/KAI_DataToken" "Token used for cross-mod compatibility"
end
%% Raycasters
subgraph Raycasters
direction LR
BaseRay[KAI_LOFRaycast]
click BaseRay "https://github.com/inkoalawetrust/KAI/wiki/KAI_LOFRaycast" "The base LineTracer all KAI tracers inherit from"
BaseRay --> SeeRay
BaseRay --> FindRay
BaseRay --> LOFCheck
BaseRay --> HitChanceRay
SeeRay[KAI_BasicSightCheck]
click SeeRay "https://github.com/inkoalawetrust/KAI/wiki/KAI_BasicSightCheck" "A CheckSight() like tracer for sight checks"
FindRay[KAI_LOFActorFinder]
click FindRay "https://github.com/inkoalawetrust/KAI/wiki/KAI_LOFActorFinder" "Raycast that stores every actor it hits in an array"
LOFCheck[KAI_ProjectileLOFCheck]
click LOFCheck "https://github.com/inkoalawetrust/KAI/wiki/KAI_LOFProjectileCheck" "The basic LOF check tracer for projectiles"
HitChanceRay[KAI_HitChanceTracer]
click HitChanceRay "https://github.com/inkoalawetrust/KAI/wiki/KAI_HitChanceTracer" "The tracer fired by DetermineHitChance()'s Smart algorithm"
end
%% The NPC class tree, the star of the show.
subgraph NPC Hierarchy
NPCBase[KAI_Actor]
click NPCBase "https://github.com/inkoalawetrust/KAI/wiki/KAI_Actor" "The base NPC class"
NPCTurret[KAI_EmplacementNPC]
click NPCTurret "https://github.com/inkoalawetrust/KAI/wiki/KAI_EmplacementNPC" "The base NPC morph for when an NPC uses an emplacement"
NPCBase --> NPCTurret[KAI_EmplacementNPC]
NPCBase --> Creature[KAI_Creature]
click Creature "https://github.com/inkoalawetrust/KAI/wiki/KAI_Creature" "The base class for most NPCs"
Creature --> Humanoid[KAI_Humanoid]
click Humanoid "https://github.com/inkoalawetrust/KAI/wiki/KAI_Humanoid" "The base class for smarter NPCs"
NPCBase --> VehicleBase[KAI_BaseVehicle]
click VehicleBase "https://github.com/inkoalawetrust/KAI/wiki/KAI_BaseVehicle" "The base class for NPC vehicles"
VehicleBase --> VehicleProp[KAI_BaseProp]
VehicleBase --> VehicleTurretBase[KAI_BaseTurret]
click VehicleTurretBase "https://github.com/inkoalawetrust/KAI/wiki/KAI_BaseTurret" "The base class for turrets attached to NPC vehicles"
VehicleTurretBase --> VehicleTurretProp[KAI_BaseTurretProp]
end
subgraph Structs/Data classes
MoveParams[KAIMoveParams]
click MoveParams "https://github.com/inkoalawetrust/KAI/wiki/KAIMoveParams"
ProjInfo[LOFProjInfo]
click ProjInfo "https://github.com/inkoalawetrust/KAI/wiki/LOFProjInfo"
Hazard[HazardInfo]
click Hazard "https://github.com/inkoalawetrust/KAI/wiki/HazardInfo"
NPCGroup[KAI_NPCGroup]
click NPCGroup "https://github.com/inkoalawetrust/KAI/wiki/KAI_NPCGroup"
end
%% Code containers
CheckFunctions -.-> Raycasters
subgraph Utility
Meth(KAI_Math)
click Meth "https://github.com/inkoalawetrust/KAI/wiki/KAI_Math" "Container class for generic math functions"
Handler(KAI_EventHandler)
click Handler "https://github.com/inkoalawetrust/KAI/wiki/KAI_EventHandler" "Event handler used by the library"
subgraph Mixins
UFunctions(KAI_UniversalFunctions)
UFunctions -.-> MixAct
UFunctions -.-> Proj
click UFunctions "https://github.com/inkoalawetrust/KAI/wiki/KAI_UniversalFunctions"
CheckFunctions(KAI_CheckFunctions)
CheckFunctions -.-> NPCBase
CheckFunctions -.-> MixAct
CheckFunctions -.-> Proj
click CheckFunctions "https://github.com/inkoalawetrust/KAI/wiki/KAI_CheckFunctions" "Basic checks that can be used by any play or data scope class"
end
end
- Home
- Features
- Classes
- Functions
- Guides