RPG小游戏创建游戏中的交互  创建可交互的物体的公共的父类(Interactable) InteractableObject 类 NPCObject 类 PickableObject 类   
 
 
using  System. Collections ; 
using  System. Collections. Generic ; 
using  UnityEngine ; 
using  UnityEngine. AI ; 
public  class  InteractableObject  :  MonoBehaviour { private  NavMeshAgent  playerAgent; private  bool ; public  void OnClick ( NavMeshAgent  playerAgent) { this . playerAgent =  playerAgent; playerAgent. stoppingDistance =  2 ; playerAgent. SetDestination ( transform. position) ; haveInteeacted =  false ; } private  void Update ( ) { if ( playerAgent !=  null  &&  haveInteeacted ==  false  &&  playerAgent . pathPending== false ) { if ( playerAgent. remainingDistance<= 2 ) { Interact ( ) ; haveInteeacted =  true ; } } } protected  virtual  void Interact ( ) { print ( "Interacting with Interactable Object." ) ; } 
} using  System. Collections ; 
using  System. Collections. Generic ; 
using  UnityEngine ; 
public  class  NPCObject  :  InteractableObject { public  new  string ; public  string [ ] ; protected  override  void Interact ( ) { DialogueUI. Instance. Show ( name,  contentList) ; } 
} using  System. Collections ; 
using  System. Collections. Generic ; 
using  UnityEngine ; 
public  class  PickableObject  :  InteractableObject { public  ItemScriptObject  itemSO; protected  override  void Interact ( ) { Destroy ( this . gameObject) ; InventoryManager. Instance. AddItem ( itemSO) ;  } 
}