public virtual TDBaseTalkFragment Start(string id, int index = 0) { CurData = TDLuaMgr.Get <TData>(id); if (CurData == null) { CLog.Error("没有找到对话:{0}", id); return(null); } CurTalkIndex = index; CurSelectOption = Const.STR_Inv; CurSelectOptionIndex = -1; if (IsHave()) { var ret = CurData.Fragments[CurTalkIndex]; Callback_OnStart?.Invoke(CurData, ret); Callback_OnTalk?.Invoke(CurData, ret, CurTalkIndex); OnTalk(CurData, ret, CurTalkIndex); OnStartTalk(CurData, ret); IsStartTalk = true; if (!PauseFlag) { PlotMgr.SetPlotPause(true); } PauseFlag = true; return(ret); } return(null); }
public void Start(string group) { Index = 0; Group = TDLuaMgr.GetRawGroup(group) as List <TData>; if (Index >= Group.Count) { return; } Callback_OnStart?.Invoke(Group[Index]); }