개발툴/Unity

UniRX 실습 - 간단한 MessageBox 만들기

가든_ 2023. 12. 25. 21:43

using UnityEngine;
using UniRx;
using UniRx.Triggers;
using UnityEngine.UI;

public class MessageSystem : MonoBehaviour
{
    private ReactiveProperty<string> messageBox = new ReactiveProperty<string>("");
    public Text messageBoxText;

    private void Start()
    {
        this.UpdateAsObservable()
            .Where(_ => Input.GetMouseButtonDown(0))
            .Subscribe(_ => SendMessage("메세지를 보냈다"));

        messageBox.Subscribe(message =>
        {
            messageBoxText.text = message;
        }).AddTo(this);
    }

    private void SendMessage(string message)
    {
        messageBox.Value = $"{message}\\n{messageBox.Value}";
    }
}