using System.Collections; using System.Collections.Generic; using UnityEngine; public class NPCController : PermanentTriggerBase { public List npcSpeack; public int speackIndex = 0; public SpriteRenderer spriteRenderer; protected override void OnMDown() { base.OnMDown(); if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, false ) == 0) { GameManager.UIMgr.ShowPanel(E_UI_Layer.Mid, (panel) => { panel.Init(triggerName, npcSpeack[speackIndex], NextSpeack); }); _highlight.SetHighlighted(false); spriteRenderer.gameObject.SetActive(false); } } private void NextSpeack(string id) { speackIndex++; if (speackIndex <= npcSpeack.Count - 1) { if (GameManager.UIMgr.GetPanel()) { GameManager.UIMgr.GetPanel().Init("", npcSpeack[speackIndex], NextSpeack); } } else { GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, true); //谈话回调 ScoreManager.instance.Check(triggerName, null); if (GameManager.UIMgr.GetPanel()) GameManager.UIMgr.HidePanel(); speackIndex = 0; } } /// /// 断线重连保存 /// /// /// public override void LoadCurrentTriggerStat(string triggerInfo) { if (triggerInfo != "") { speackIndex = int.Parse(triggerInfo); } } public override string SaveCurrentTriggerStat() { return speackIndex.ToString() ; } }