상속 관련 이것저것
TRANSCRIPT
150621
PlayerMove()OpenInventory()
MonsterMove()DropReward()
NPCMove()OpenShop()
PlayerOpenInventory()
MonsterDropReward()
NPCOpenShop()
CharacterMove()
. Character
-: or -> or ->
or or -> or ->
!
- Overriding .Player Move override Move PlayerMove()OpenInventory()
MonsterDropReward()
NPCOpenShop()
CharacterMove()
Overridingclass Character{ func Move() { if ( ) else if ( ) }}class Player{ func override Move() { if ( ) else if ( ) else base.Move() }}
? .Player override Move .. !PlayerMove()OpenInventory()
MonsterMove() ???DropReward()
NPCOpenShop()
CharacterMove()
Character Move Character Move, Skill, Stat .. ! (2)class Character{ func Move() { if ( & (P or M)) else if ( & (P or M)) else if ( ) else if ( ) }}
. AdvMoveComponentWalk()ClimbLadder()
MoveComponentWalk()
MoveComponent Player, Monster Walk, Ladder, Jump ?MoveComponent
PlayerAdvMoveComponentOpenInventory()
MonsterAdvMoveComponentDropReward()
NPCOpenShop()
CharacterMoveComponent
? ? .
CharacterPositionName
MapObjectPositionName
GUI.DrawNameTag(Character c)GUI.DrawNameTag(MapObject o)
->
INameTagDrawble.Position INameTagDrawble.Name INameTagDrawable .Character: INameTagDrawablePositionName
MapObject: INameTagDrawablePositionName
INameTagDrawablePositionName
GUI.DrawNameTag(INameTagDrawable o){ o.Position o.Name }
vs : .: .
Character.Move() Player Monster
C# C++ C++