コード例 #1
0
    // 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);
        };
    }
コード例 #2
0
ファイル: ImagePane.cs プロジェクト: ecramer89/MorningRoutine
 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");
         }
     };
 }