// Update is called once per frame void Update() { if (Input.anyKey || Input.mousePosition.x > (x + 20) || Input.mousePosition.x < (x - 20) || Input.mousePosition.y > (y + 20) || Input.mousePosition.y < (y - 20)) { // Counter to avoid endless loop int counter = 0; // Count till this value int countmax = 10; // Current transform Transform tmpTrans = this.transform; // Gathered ChatbotCore component ChatbotCore tmpChatbotCore = null; // Loop through transforms till counter reached countmax while (counter < countmax) { // Is Transform available? if (tmpTrans == null) { // Abort global settings update counter = countmax; } else { // Try to grab ChatbotCore component tmpChatbotCore = tmpTrans.gameObject.GetComponent <ChatbotCore>(); // Test wether tmpChatbotCore exists if (tmpChatbotCore != null) { // If tmpChatbotCore exists call trigger function with // target Trigger as parameter via Send Message tmpChatbotCore.gameObject.SendMessage("TriggerFromHelperfunction", "TriggerGreet"); // Abort loop counter = countmax; } // Get parent transform tmpTrans = tmpTrans.parent; // Increase counter counter++; } } } }
/// <summary> /// Initialyse Trigger instance by retrieve /// Chatbot.Core instance /// </summary> void Start() { // Counter to avoid endless loop int counter = 0; // Count till this value int countmax = 10; // Current transform Transform tmpTrans = this.transform; // Gathered ChatbotCore component ChatbotCore tmpChatbotCore = null; // Loop through transforms till counter reached countmax while (counter < countmax) { // Is Transform available? if (tmpTrans == null) { // Abort global settings update counter = countmax; } else { // Try to grab ChatbotCore component tmpChatbotCore = tmpTrans.gameObject.GetComponent <ChatbotCore> (); // Test wether tmpChatbotCore exists if (tmpChatbotCore != null) { // Set Triggers instance for later reference bot = tmpChatbotCore.bot; // Abort loop counter = countmax; } // Get parent transform tmpTrans = tmpTrans.parent; // Increase counter counter++; } } }