public RPGTalkCharacter[] GetAllCharactersInGame() { if (characters != null && characters.Length > 0) { return(characters); } string[] assetPath = AssetDatabase.FindAssets("t:RPGTalkCharacter"); if (assetPath.Length == 0) { return(null); } List <RPGTalkCharacter> list = new List <RPGTalkCharacter>(); List <string> names = new List <string>(); names.Add("None"); foreach (string path in assetPath) { RPGTalkCharacter character = AssetDatabase.LoadAssetAtPath <RPGTalkCharacter>(AssetDatabase.GUIDToAssetPath(path)); list.Add(character); names.Add(character.dialoger); } charactersNames = names.ToArray(); characters = list.ToArray(); return(list.ToArray()); }
/// <summary> /// 创建临时NPC(一般在该角色仅出现一次时使用) /// </summary> /// <param name="rpgTalkCharacter">RPG Talker组件</param> /// <param name="name">角色名</param> /// <param name="photo">角色图片</param> void CreateTemporaryNPC(RPGTalkCharacter rpgTalkCharacter, string name, Sprite photo) { rpgTalkCharacter.dialoger = name; rpgTalkCharacter.photo = photo; }