12-29-2013, 03:28 AM
So you think the inheritance tree should look something like this, right?
And just so you know, I figure we need the visual component now because we won't be doing just mobs anymore. Each visual component would know how to display itself on the client-side, and contain anything related to collisions.
- cComponent
- cAIComponent
- cAIPassive
- cAIAgressive
- cAIVillager
- cAITame
- etc.
- cAIPassive
- cMovementComponent
- cMoveSlime
- cMoveWalk
- cMovePlayer
- cMoveClimber
- cMoveHorse
- cMoveMinecart
- cMoveBoat
- cMoveXp
- etc.
- cMoveSlime
- cEnvironmentComponent
- cEnvironmentNether
- cEnvironmentOverworld
- cEnvironmentEnd
- etc.
- cEnvironmentNether
- cInteractionComponent
- cInteractionVillager
- cInteractionXp
- cInteractionMinecart
- cInteractionBoat
- etc.
- cInteractionVillager
- cAttackComponent
- cArrowAttack
- cThrownAttack
- cPunchAttack
- cBiteAttack
- cJumpAttack
- etc.
- cArrowAttack
- cVisualComponent
- cVisualMob
- cVisualXp
- cVisualBlock
- cVisualPlayer
- etc.
- cVisualMob
- cLuaComponent
- cAIComponent
And just so you know, I figure we need the visual component now because we won't be doing just mobs anymore. Each visual component would know how to display itself on the client-side, and contain anything related to collisions.