public override bool ExecuteAction(GameObject other) { if (!balloonIsActive) { DialogueSystem d = GameObject.FindObjectOfType <DialogueSystem>(); if (d == null) { //Dialogue System is not in the scene Debug.LogWarning(_("You need a UI in the scene to display dialogue!")); return(false); } //Dialogue System is found b = d.CreateBalloon(textToDisplay, (disappearMode == DisappearMode.ButtonPress), keyToPress, timeToDisappear, backgroundColor, textColor, targetObject); b.BalloonDestroyed += OnBalloonDestroyed; balloonIsActive = true; StartCoroutine(WaitForBallonDestroyed()); return(true); } else { return(false); } }