Esempio n. 1
0
 /// <summary>
 /// Initializes a new CharacterInfo.
 /// </summary>
 /// <param name='actorID'>
 /// Actor ID.
 /// </param>
 /// <param name='actorName'>
 /// Name of the actor as defined in the dialogue database.
 /// </param>
 /// <param name='transform'>
 /// Transform.
 /// </param>
 /// <param name='characterType'>
 /// Character type.
 /// </param>
 /// <param name='portrait'>
 /// Portrait.
 /// </param>
 public CharacterInfo(int id, string nameInDatabase, Transform transform, CharacterType characterType, Texture2D portrait)
 {
     this.id             = id;
     this.nameInDatabase = nameInDatabase;
     this.characterType  = characterType;
     this.portrait       = portrait;
     this.transform      = transform;
     if ((transform == null) && !string.IsNullOrEmpty(nameInDatabase))
     {
         GameObject go = SequencerTools.FindSpecifier(nameInDatabase);
         if (go != null)
         {
             this.transform = go.transform;
         }
     }
     Name = (transform == null) ? nameInDatabase : OverrideActorName.GetActorName(transform);
 }
Esempio n. 2
0
        /// @endcond

        /// <summary>
        /// Initializes a new CharacterInfo.
        /// </summary>
        /// <param name='actorID'>
        /// Actor ID.
        /// </param>
        /// <param name='actorName'>
        /// Name of the actor as defined in the dialogue database.
        /// </param>
        /// <param name='transform'>
        /// Transform.
        /// </param>
        /// <param name='characterType'>
        /// Character type.
        /// </param>
        /// <param name='portrait'>
        /// Portrait.
        /// </param>
        public CharacterInfo(int id, string nameInDatabase, Transform transform, CharacterType characterType, Sprite portrait)
        {
            this.id             = id;
            this.nameInDatabase = nameInDatabase;
            this.characterType  = characterType;
            this.portrait       = portrait;
            this.transform      = transform;
            if ((transform == null) && !string.IsNullOrEmpty(nameInDatabase))
            {
                GameObject go = SequencerTools.FindSpecifier(nameInDatabase, true);
                if (go != null)
                {
                    this.transform = go.transform;
                }
            }
            var dialogueActor = DialogueActor.GetDialogueActorComponent(transform);

            if (dialogueActor == null)
            {
                Name = GetLocalizedDisplayNameInDatabase(nameInDatabase);
            }
            else
            {
                Name = dialogueActor.GetActorName();
                var actor = DialogueManager.masterDatabase.GetActor(dialogueActor.actor);
                var dialogueActorPortrait = dialogueActor.GetPortraitSprite();
                if (dialogueActorPortrait != null)
                {
                    this.portrait = dialogueActorPortrait;
                }
                else if (actor != null)
                {
                    if (portrait == null)
                    {
                        this.portrait = actor.GetPortraitSprite();
                    }
                }
            }
        }