Net.Like.Xue.Tokyo/Packages-Local/Com.Project.B.Unity/NodeCanvas/WaitPlayerChatTask.cs

40 lines
988 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using BITKit;
using Net.BITKit.Chat;
using NodeCanvas.Framework;
using UnityEngine;
namespace Net.Project.B.NodeCanvas
{
public class WaitPlayerChatTask : ActionTask
{
public BBParameter<string> Message;
private IChatService _chatService;
protected override void OnExecute()
{
if (BITApp.ServiceProvider.QueryComponents(out _chatService) is false)
{
EndAction(false);
return;
}
_chatService.OnMessageReceived+=OnMessageReceived;
}
protected override void OnStop()
{
_chatService.OnMessageReceived-=OnMessageReceived;
}
private void OnMessageReceived(ChatMessage obj)
{
if(obj.FromUserId!=Environment.UserName)return;
Message .SetValue(obj.Content);;
EndAction(true);
}
}
}