public void execute(bool toFastForward) { Action setCharacterPresentFalse = () => { myDialogueManager.getCharacterForName(characterToRemove).isPresent = false; myDialogueManager.getCharacterForName(characterToRemove).returnTime = myTimeLord.getCurrentTimestep() + 1; }; List <Character> charList = GameObject.FindObjectOfType <DialogueManager>().getAllCurrentLocalPresentConversationPartners(); for (int i = 0; i < charList.Count; i++) { if (charList[i].givenName.ToLower() == characterToRemove.ToLower()) { if (!toFastForward) { myAnimationMaestro.fadeOutCharacterImage(i + 1, fadeDuration); myAnimationMaestro.StartCoroutine(myAnimationMaestro.delayGameCoroutine(fadeDuration, setCharacterPresentFalse)); } else { myAnimationMaestro.setImageColor(GameObject.Find("Character " + (i + 1) + " Portrait").GetComponent <Image>(), new Color(255, 255, 255, 0)); myDialogueManager.getCharacterForName(characterToRemove).isPresent = false; myDialogueManager.getCharacterForName(characterToRemove).returnTime = myTimeLord.getCurrentTimestep() + 1; } } } myAnimationMaestro.writeDescriptionText(textToWrite, GameObject.Find("TextPanel").GetComponentInChildren <Text>()); }
public void execute(bool toFastForward) { List <Character> charList = GameObject.FindObjectOfType <CommandBuilder>().dateCutSceneCharList; int charListIndexToRemove = 0; Action removeCharFromCharList = () => { GameObject.FindObjectOfType <CommandBuilder>().dateCutSceneCharList.RemoveAt(charListIndexToRemove); //If three char's in date cut scene and 2nd character leaves, 3rd character re-sorts to 2nd position, but doesn't have alpha for (int i = 0; i < GameObject.FindObjectOfType <CommandBuilder>().dateCutSceneCharList.Count; i++) { myAnimationMaestro.setImageColor(GameObject.Find("Character " + (i + 1) + " Portrait").GetComponent <Image>(), new Color(255, 255, 255, 1)); } }; // For each character in present characters, if character is currently being summoned, fade in, otherwise snap in. //TODO: Maybe get rid of this for DateCutScene because charList doesn't rearrange like dialogueManager.getAllLocalCurrentEtc... for (int i = 0; i < charList.Count; i++) { if (charList[i].givenName.ToLower() == characterToRemove.ToLower()) { charListIndexToRemove = i; if (!toFastForward) { myAnimationMaestro.fadeOutCharacterImage(i + 1, fadeDuration); myAnimationMaestro.StartCoroutine(myAnimationMaestro.delayGameCoroutine(fadeDuration, removeCharFromCharList)); } else { myAnimationMaestro.setImageColor(GameObject.Find("Character " + (i + 1) + " Portrait").GetComponent <Image>(), new Color(255, 255, 255, 0)); GameObject.FindObjectOfType <CommandBuilder>().dateCutSceneCharList.RemoveAt(charListIndexToRemove); } } } myAnimationMaestro.writeDescriptionText(textToWrite, GameObject.Find("TextPanel").GetComponentInChildren <Text>()); }