/// <summary> /// 设置激活的种类 /// </summary> /// <param name="ie"></param> private void SetActivateType(IEventParam ie) { if (ie is ActivateTypeParam) { type = (ie as ActivateTypeParam).value; } }
private void Start() { npcActivateType = "npc" + charID + "ActivateType"; activateType = (ActivateType)ReadWriteSaveManager.Instance.GetData(npcActivateType, (int)activateType); ReadWriteSaveManager.Instance.Write(); levelControl = LevelController.levelController; player = levelControl.GetPlayerController(); dialogueUI = UIController.UIControl.GetDialogueUI(); dialogueTri = UIController.UIControl.GetDialogueTri(); dialogueParent = dialogueTri.transform.parent.gameObject; activationUI = UIController.UIControl.GetActivationUI(); activationAnim = activationUI.GetComponent <Animation>(); dialogueAnim = dialogueParent.GetComponent <Animation>(); dialogueBox = dialogueUI.transform.parent.gameObject; dialogueBox.SetActive(false); dialogueTri.SetActive(false); initEyeSizeY = eyes.localScale.y; StartCoroutine(EyeBlink()); activationUI.transform.position = new Vector2(transform.position.x, transform.position.y + 2f); posL = distanceCheckL.position.x; posR = distanceCheckR.position.x; posU = distanceCheckU.position.y; posD = distanceCheckD.position.y; }
// Token: 0x060004CA RID: 1226 RVA: 0x0001BA44 File Offset: 0x00019C44 public int _wmYfEcnzJZHUMf6TmaRnx4oPoiG(int objectId) { AutoNexus._NgEaTpjfBI3veqdBfggv7SjSaRU ngEaTpjfBI3veqdBfggv7SjSaRU; ngEaTpjfBI3veqdBfggv7SjSaRU._EfubdzaIe4z6qxSHa3TuY5MkdaZ = this; bool flag = objectId == this._W6Ov6AArxzTTDnCyBtZPqkqNaKf._7w6u8taiwfZruB2OdFEa2AmzJaA; int num; _66CXgP76qcRM5NMLzlNSbhfhXbG 66CXgP76qcRM5NMLzlNSbhfhXbG; if (flag) { ngEaTpjfBI3veqdBfggv7SjSaRU._OWPal6UeunpGQX6SceuuADJxQ4k = this._W6Ov6AArxzTTDnCyBtZPqkqNaKf._50Ms1zsqax9Ua48PaWMPQfIENYb; num = ngEaTpjfBI3veqdBfggv7SjSaRU._OWPal6UeunpGQX6SceuuADJxQ4k._myJxXFJcH1zIBkZMmXfDOvAh0vcA[1]; 66CXgP76qcRM5NMLzlNSbhfhXbG = this._KgvAv7C8BPHRhNGaBUY9WAoRFFU; } else { ngEaTpjfBI3veqdBfggv7SjSaRU._OWPal6UeunpGQX6SceuuADJxQ4k = this._W6Ov6AArxzTTDnCyBtZPqkqNaKf._aJjNVtwA8oe4lWrzJfpazHqj9A2[objectId]; num = ngEaTpjfBI3veqdBfggv7SjSaRU._OWPal6UeunpGQX6SceuuADJxQ4k._myJxXFJcH1zIBkZMmXfDOvAh0vcA[1]; if (num == -1) { return(0); } 66CXgP76qcRM5NMLzlNSbhfhXbG = _JzyrOApzC09RC3fmb10FDURmyCl.Items.ByID((ushort)num); } if (66CXgP76qcRM5NMLzlNSbhfhXbG == null) { string format = "Warning, player {0}'s seal is null! itemType is {1}"; GameObject owpal6UeunpGQX6SceuuADJxQ4k = ngEaTpjfBI3veqdBfggv7SjSaRU._OWPal6UeunpGQX6SceuuADJxQ4k; Console.WriteLine(string.Format(format, (owpal6UeunpGQX6SceuuADJxQ4k != null) ? owpal6UeunpGQX6SceuuADJxQ4k.Name : null, num)); return(0); } ngEaTpjfBI3veqdBfggv7SjSaRU._a8AkCF855MfIlZCpL3R4tVhzRug = ((ngEaTpjfBI3veqdBfggv7SjSaRU._OWPal6UeunpGQX6SceuuADJxQ4k._WHCAkdeYqXMbNsGZ6LrBhVGy9y4 < 30) ? 4.5 : (0.135 * (double)ngEaTpjfBI3veqdBfggv7SjSaRU._OWPal6UeunpGQX6SceuuADJxQ4k._WHCAkdeYqXMbNsGZ6LrBhVGy9y4)); if (66CXgP76qcRM5NMLzlNSbhfhXbG._dHPNoGlmrfb0cl4aaEGpRxXcgRw.Count == 0) { return(0); } foreach (Activate kEekgEziy3MAWF43C6Y4bLsMB7E in 66CXgP76qcRM5NMLzlNSbhfhXbG._dHPNoGlmrfb0cl4aaEGpRxXcgRw) { if (kEekgEziy3MAWF43C6Y4bLsMB7E._tgk0PcUCADsdky6nxKvRJqbCugJA == StatsTypeEnum.MaximumHP) { ActivateType jp3DtIV4aAYZY26sVsXpPQjBRGO = kEekgEziy3MAWF43C6Y4bLsMB7E._Jp3DtIV4aAYZY26sVsXpPQjBRGO; if (jp3DtIV4aAYZY26sVsXpPQjBRGO == ActivateType.StatBoostAura) { return(this._Uds8LACABRKlO8SErTdqBEBcjyA(kEekgEziy3MAWF43C6Y4bLsMB7E, ref ngEaTpjfBI3veqdBfggv7SjSaRU)); } if (jp3DtIV4aAYZY26sVsXpPQjBRGO == ActivateType.StatBoostSelf && flag) { return(this._Uds8LACABRKlO8SErTdqBEBcjyA(kEekgEziy3MAWF43C6Y4bLsMB7E, ref ngEaTpjfBI3veqdBfggv7SjSaRU)); } } } return(0); }
private string AsynchronousMethod(ActivateType source) { string result = String.Empty; switch (source) { case ActivateType.Callback: result = "Callback"; break; case ActivateType.End: result = "End"; break; case ActivateType.IsComplete: result = "Is Complete"; break; } return(result); }
public ActivateTypeParam(ActivateType value) { this.value = value; }
// Start is called before the first frame update public IEnumerator WriteText() { DialogueSet[] dialogueSets; if (isCutscene && !hasDoneCutscene) { dialogueSets = dialogueSetsCutscene; } else { if (levelControl.GetIsColorized()) { dialogueSets = dialogueSetsColor; } else { dialogueSets = dialogueSetsNoColor; } } // Place text over player or NPC if (dialogueSets[setCount].isPlayer) { dialogueParent.transform.position = new Vector2(player.transform.position.x, player.transform.position.y + 3f); } else { dialogueParent.transform.position = new Vector2(transform.position.x, transform.position.y + 3f); } m_textMeshPro = dialogueUI.GetComponent <TextMeshProUGUI>(); m_textMeshPro.ForceMeshUpdate(); forcedEyeDirection = dialogueSets[setCount].eyePosX; // Dialogue if (dialogueSets[setCount].setType == (DialogueSet.SetType) 0) { dialogueBox.SetActive(true); dialogueTri.SetActive(true); dialogueUI.SetActive(true); if (dialogueSets[setCount].delayTypeTime != 0) { dialogueBox.SetActive(false); dialogueTri.SetActive(false); dialogueUI.SetActive(false); yield return(new WaitForSeconds(dialogueSets[setCount].delayTypeTime)); dialogueBox.SetActive(true); dialogueTri.SetActive(true); dialogueUI.SetActive(true); } dialogueUI.GetComponent <TextMeshProUGUI>().text = ""; dialogueAnim.Play("DialogueEnter"); yield return(new WaitForSeconds(1 / 5f)); dialogueAnim.Stop("DialogueEnter"); dialogueUI.GetComponent <TextMeshProUGUI>().text = dialogueSets[setCount].text; isTyping = true; StartCoroutine(TypeAudio(dialogueSets, textSpeed, setCount)); int totalVisibleCharacters = dialogueSets[setCount].text.Length; // Get number of visible characters in the text object int counter = 0; while (true) { int visibleCount = counter % (totalVisibleCharacters + 1); m_textMeshPro.maxVisibleCharacters = visibleCount; // How many characters should be displayed right now? // When last character is revealed, wait for an input and then start next dialogue set or exit dialogue if (visibleCount >= totalVisibleCharacters) { isTyping = false; yield return(new WaitUntil(() => Input.GetButtonDown("Interact") || Input.GetButtonDown("Jump"))); // If not end of dialogue sets if (setCount < (dialogueSets.Length - 1)) { // Move on to next dialogue set and write text again setCount++; //vertAnim.Stop(); dialogueUI.GetComponent <TextMeshProUGUI>().text = ""; dialogueAnim.Play("DialogueExit"); yield return(new WaitForSeconds(1 / 6f)); dialogueAnim.Stop("DialogueExit"); dialogueBox.SetActive(false); dialogueTri.SetActive(false); StartCoroutine(WriteText()); yield break; } else { // End the dialogue dialogueAnim.Play("DialogueExit"); yield return(new WaitForSeconds(1 / 6f)); dialogueAnim.Stop("DialogueExit"); forcedEyeDirection = 0f; if (isCutscene && !hasDoneCutscene) { hasDoneCutscene = true; activateType = 0; } StartCoroutine(EndDialogue()); yield break; } } counter += 1; if (Input.GetButton("Interact") || Input.GetButton("Jump")) { yield return(new WaitForSeconds(textSpeed / 4)); } else { yield return(new WaitForSeconds(textSpeed)); } } } // Move else if (dialogueSets[setCount].setType == (DialogueSet.SetType) 1) { moveDir = dialogueSets[setCount].moveDir; initPosX = transform.position.x; targetPosX = moveDir + initPosX; isMovingChar = true; yield return(new WaitUntil(() => !isMovingChar)); // Continue to next dialogue set if (setCount < (dialogueSets.Length - 1)) { setCount++; StartCoroutine(WriteText()); } // End dialogue else { forcedEyeDirection = 0f; if (isCutscene && !hasDoneCutscene) { hasDoneCutscene = true; activateType = 0; ReadWriteSaveManager.Instance.SetData(npcActivateType, (int)activateType); ReadWriteSaveManager.Instance.Write(); } StartCoroutine(EndDialogue()); } } }
/// <summary> /// 选择激活的类型 /// </summary> private void SelectActivateType(ActivateType m_type) { type = m_type; EventManager.Instance.DispatchEvent(EventEnum.ClickWhatWhenInActivateChoosePanel, new ActivateTypeParam(m_type)); }