public void setDialog(IDialogItem item, GameObject player, GameObject npc) { Debug.Assert(currentItem == null); Debug.Assert(player != null && player.GetComponent <Actor>()); this.player = player; this.npc = npc; Debug.Log("setDialog " + item); player.GetComponent <Actor>().SetState(EActorState.InConversation); // can't move startDialog.Invoke(player, npc); currentItem = item; currentItem.enter(this); advanceDialog(); }