| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 | 
							- using UI.Main;
 
- using System.Text.RegularExpressions;
 
- using System.Collections.Generic;
 
- namespace GFGGame
 
- {
 
-     public class StoryLookBackView : BaseWindow
 
-     {
 
-         private UI_StoryLookBackUI _ui;
 
-         private List<StoryDialogCfg> _stepListToRead;
 
-         private List<string> _dialogListLookBack;
 
-         private StoryDialogCfg _currentStepCfg;
 
-         private string _nextStepId;
 
-         private string[] _wordList;
 
-         private int _wordIndex = 0;
 
-         private bool _isShowLetters;
 
-         private string _currentWords;
 
-         private string _currentData;
 
-         public override void Dispose()
 
-         {
 
-             if (_ui != null)
 
-             {
 
-                 _ui.Dispose();
 
-                 _ui = null;
 
-             }
 
-             base.Dispose();
 
-         }
 
-         protected override void OnInit()
 
-         {
 
-             base.OnInit();
 
-             _ui = UI_StoryLookBackUI.Create();
 
-             this.viewCom = _ui.target;
 
-             this.isfullScreen = true;
 
-             this.modal = true;
 
-             this.clickBlankToClose = false;
 
-             _ui.m_btnBack.onClick.Add(this.Hide);
 
-         }
 
-         protected override void OnShown()
 
-         {
 
-             base.OnShown();
 
-             
 
-             _ui.m_content.m_txtContent.text = "";
 
-             bool needScrollBottom = false;
 
-             if (this.viewData is string)
 
-             {
 
-                 string storyStartID = (string)this.viewData;
 
-                 _dialogListLookBack = new List<string>();
 
-                 ShowNextStep(storyStartID);
 
-             }
 
-             else
 
-             {
 
-                 _dialogListLookBack = (List<string>)this.viewData;
 
-                 needScrollBottom = true;
 
-             }
 
-             if (_dialogListLookBack != null)
 
-             {
 
-                 string content = "";
 
-                 foreach (string words in _dialogListLookBack)
 
-                 {
 
-                     content += words + "\n";
 
-                 }
 
-                 _ui.m_content.m_txtContent.text = content;
 
-                 _ui.m_content.m_txtContent.height = _ui.m_content.m_txtContent.textHeight;
 
-             }
 
-             if (needScrollBottom)
 
-             {
 
-                 _ui.m_content.target.scrollPane.ScrollBottom();
 
-             }
 
-             else
 
-             {
 
-                 _ui.m_content.target.scrollPane.ScrollTop();
 
-             }
 
-         }
 
-         protected override void OnHide()
 
-         {
 
-             base.OnHide();
 
-         }
 
-         private void InitStepListById(string dialogID)
 
-         {
 
-             var temp = StoryDialogCfgArray.Instance.GetCfgsByid(dialogID);
 
-             _stepListToRead = new List<StoryDialogCfg>(temp);
 
-         }
 
-         private void ShowNextStep(string nextStepId)
 
-         {
 
-             if (nextStepId != null)
 
-             {
 
-                 InitStepListById(nextStepId);
 
-             }
 
-             if (_stepListToRead != null && _stepListToRead.Count > 0)
 
-             {
 
-                 StoryDialogCfg storyDialogCfg = (StoryDialogCfg)_stepListToRead[0];
 
-                 _stepListToRead.RemoveAt(0);
 
-                 InitStepContent(storyDialogCfg);
 
-             }
 
-             else
 
-             {
 
-             }
 
-         }
 
-         private void InitStepContent(StoryDialogCfg storyDialogCfg)
 
-         {
 
-             string content = storyDialogCfg.content;
 
-             content = storyDialogCfg.content.Replace("self", RoleDataManager.roleName);
 
-             if (content.IndexOf("//") >= 0)
 
-             {
 
-                 showList(content);
 
-             }
 
-             else
 
-             {
 
-                 ShowDialog(storyDialogCfg);
 
-             }
 
-         }
 
-         private void showList(string content)
 
-         {
 
-             _currentData = null;
 
-             string[] list = Regex.Split(content, "//");
 
-             string itemInfo = list[0];
 
-             string[] itemInfoList = Regex.Split(itemInfo, "=");
 
-             _dialogListLookBack.Add(itemInfoList[0]);
 
-             string stepID = itemInfoList.Length > 1 ? itemInfoList[1] : null;
 
-             if (stepID == null)
 
-             {
 
-                 stepID = "0";
 
-             }
 
-             OnStepComplete(stepID);
 
-         }
 
-         private void OnStepComplete(string nextStepId = null)
 
-         {
 
-             _nextStepId = nextStepId;
 
-             OnScreenEffectComplete();
 
-         }
 
-         private void OnScreenEffectComplete(object param = null)
 
-         {
 
-             if (_nextStepId == "0")
 
-             {
 
-                 Over();
 
-             }
 
-             else
 
-             {
 
-                 ShowNextStep(_nextStepId);
 
-             }
 
-         }
 
-         private void ShowDialog(StoryDialogCfg storyDialogCfg)
 
-         {
 
-             var content = storyDialogCfg.content.Replace("self", RoleDataManager.roleName);
 
-             string words = content;
 
-             string roleName = storyDialogCfg.name;
 
-             if (roleName == "self")
 
-             {
 
-                 roleName = RoleDataManager.roleName;
 
-             }
 
-             //回顾
 
-             if (!string.IsNullOrEmpty(roleName))
 
-             {
 
-                 _dialogListLookBack.Add("[color=#FDA2B1]" + roleName + "[/color]");
 
-             }
 
-             _wordList = Regex.Split(words, "&&");
 
-             _wordIndex = 0;
 
-             ShowNextDialog();
 
-         }
 
-         private void ShowNextDialog()
 
-         {
 
-             if (_wordList != null && _wordList.Length > _wordIndex)
 
-             {
 
-                 string itemInfo = _wordList[_wordIndex];
 
-                 string[] itemInfoList = Regex.Split(itemInfo, "=");
 
-                 _currentWords = itemInfoList[0];
 
-                 if (itemInfoList.Length > 1)
 
-                 {
 
-                     _currentData = itemInfoList[1];
 
-                 }
 
-                 else
 
-                 {
 
-                     _currentData = null;
 
-                 }
 
-                 ShowCurrentWords();
 
-             }
 
-             else
 
-             {
 
-                 OnStepComplete();
 
-             }
 
-         }
 
-         private void ShowCurrentWords()
 
-         {
 
-             _dialogListLookBack.Add(_currentWords);
 
-             _wordIndex++;
 
-             ShowNextWords(null);
 
-         }
 
-         private void ShowNextWords(object param = null)
 
-         {
 
-             string stepID = _currentData;
 
-             if (stepID != null)
 
-             {
 
-                 OnStepComplete(stepID);
 
-             }
 
-             else
 
-             {
 
-                 ShowNextDialog();
 
-             }
 
-         }
 
-         private void UpdateBg(string value)
 
-         {
 
-             if (value.Length > 0)
 
-             {
 
-             }
 
-         }
 
-         private void UpdatePic(string value)
 
-         {
 
-             if (value.Length > 0)
 
-             {
 
-             }
 
-         }
 
-         private void UpdateMusic(string value)
 
-         {
 
-             if (value.Length > 0)
 
-             {
 
-                 if (value == "0")
 
-                 {
 
-                     MusicManager.Instance.Stop();
 
-                 }
 
-                 else
 
-                 {
 
-                     MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(value, "mp3"));
 
-                 }
 
-             }
 
-         }
 
-         private void PlayEffect(string[] infos)
 
-         {
 
-         }
 
-         private void PlayShake(int[] shakeInfoArr)
 
-         {
 
-             if (shakeInfoArr != null && shakeInfoArr.Length > 0)
 
-             {
 
-             }
 
-         }
 
-         private void Over(bool isSkip = false)
 
-         {
 
-         }
 
-     }
 
- }
 
 
  |