// Use this for initialization void Start() { gameObject.SetActive(false); instance = gameObject.GetComponent <Message> (); text = gameObject.GetComponent <Text> (); messageDelayBeforeDisappear = gameObject.GetComponent <Timed> (); GameState.Instance.characterSet += (id) => { if (id == GlobalGameConstants.NULL_ID) { messageDelayBeforeDisappear.Set(2); messageDelayBeforeDisappear.Done += () => { gameObject.SetActive(false); text.text = ""; }; messageDelayBeforeDisappear.On(); } }; GameState.Instance.messageSet += () => { string newMessage = GameState.Instance.MessageState.message; text.text = newMessage; gameObject.SetActive(newMessage.Length > 0); }; }
void Start() { gameObject.SetActive(false); image = gameObject.GetComponent <Image> (); imageDelayBeforeDisappear = gameObject.GetComponent <Timed> (); //register delegate to fetch the image data of character when the new character is set GameState.Instance.characterSet += (id) => { if (id == GlobalGameConstants.NULL_ID) { imageDelayBeforeDisappear.Set(2); imageDelayBeforeDisappear.Done += () => { gameObject.SetActive(false); image.sprite = null; }; imageDelayBeforeDisappear.On(); } else { gameObject.SetActive(true); currentSourceDirectory = $"{CHARACTER_IMAGE_DIRECTORY}/{id}"; image.sprite = Resources.Load <Sprite>($"{currentSourceDirectory}/default"); } }; }