/// <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); }
/// @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(); } } } }