public static TableNPCScriptable Get() { TableNPCScriptable t = ClientDataBaseManager.Instance.GetLoadedTable <TableNPCScriptable>(); if (t == null) { ScriptableObjectBase scriptable = ClientDataBaseManager.Instance.LoadTable(m_gameTableName); ClientDataBaseManager.Instance.Register(typeof(TableNPCScriptable), scriptable); return(ClientDataBaseManager.Instance.GetLoadedTable <TableNPCScriptable>()); } return(t); }
public override void OnInspectorGUI() { TableNPCScriptable script = (TableNPCScriptable)target; if (GUILayout.Button("Update")) { script.LoadGameTable(true); } GUILayout.Space(20); DrawDefaultInspector(); }
//触发对话 public void TriggerNPCDialog() { var data = TableNPCScriptable.Get().GetData(npcID); if (data != null) { if (data.Dialog.Length == 1) { startDialog = endDialog = data.Dialog[0]; } else { startDialog = data.Dialog[0]; curDialog = startDialog; endDialog = data.Dialog[1]; } Node_Dialog.gameObject.SetActive(true); SetDialogInfo(curDialog); TypewriterText.myEvent.AddListener(new UnityAction(this.OnDialogFinished)); } }