Пример #1
0
        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());
        }
Пример #2
0
 /// <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;
 }