void Start() { m_dialogUI = GetComponent <DialogueUI>(); Debug.Assert(m_dialogUI != null, "No DialogUI detected"); Yarn.Unity.DialogueRunner runner = GetComponent <Yarn.Unity.DialogueRunner>(); Debug.Assert(runner != null, "No DialogueRunner detected"); runner.dialogue.library.RegisterFunction("has_item", 1, delegate(Yarn.Value[] parameters) { return(GameManager.Instance.Inventory.HasItem(parameters[0].AsString)); }); runner.dialogue.library.RegisterFunction("random", 1, delegate(Yarn.Value[] parameters) { return((int)Random.Range(0, parameters[0].AsNumber)); }); runner.dialogue.library.RegisterFunction("offered_item", 0, delegate(Yarn.Value[] parameters) { if (m_dialogUI.itemOffer == null) { return(""); } return(m_dialogUI.itemOffer.Id); }); }
// Start is called before the first frame update void Start() { Debug.Log("Init GameManager"); Load(); if (m_gameState.NewGame) { // New game Debug.Log("New game"); } else { Debug.Log("Loaded game"); } m_dialogRunner = FindObjectOfType <Yarn.Unity.DialogueRunner>(); TradingUIManager.Instance.gameObject.SetActive(false); }