Click here to load reader

상속 관련 이것저것

  • Upload
    eg-lim

  • View
    381

  • Download
    2

Embed Size (px)

Citation preview

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++