Пример #1
0
    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();
    }
Пример #3
0
    //触发对话
    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));
        }
    }