public void TalkToCharacter(MapTile targetTile) { PlayerMove player = (PlayerMove)selectedCharacter.value; TacticsMove other = targetTile.currentCharacter; currentActionMode.value = ActionMode.NONE; dialogueMode.value = (int)DialogueMode.TALK; FightQuote quote = null; for (int i = 0; i < other.talkQuotes.Count; i++) { FightQuote fq = other.talkQuotes[i]; if (!fq.activated && (fq.triggerer == null || fq.triggerer.uuid == player.stats.charData.uuid)) { quote = fq; break; } } dialogueEntry.value = quote.quote; willJoin = quote.willJoin; villageVisitor1.value = player.stats.charData.portraitSet; startDialogue.Invoke(); if (willJoin) { SpawnData joinData = new SpawnData(other) { joiningSquad = player.squad }; joiningCharacter = mapSpawner.SpawnPlayerCharacter(joinData, false, false, false); joiningCharacter.currentTile = targetTile; other.RemoveFromList(); Destroy(other.gameObject); } }