Files
BITFALL/Assets/Artists/Scripts/Quest/QuestTaskNodes.cs
CortexCore 3109cb218f 1
2024-04-06 16:33:57 +08:00

64 lines
1.4 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using BITFALL.InGameInternet;
using BITFALL.Player.Inventory;
using BITKit.Entities.Player;
using NodeCanvas.Framework;
using UnityEngine;
namespace BITFALL.Quest
{
public class CreateMeChatUser : ActionTask
{
public BBParameter<string> username;
protected override void OnExecute()
{
username.value = Guid.NewGuid().ToString();
EndAction();
}
}
public class TransferToPlayer : ActionTask
{
public BBParameter<string> detail;
public BBParameter<int> money;
protected override void OnUpdate()
{
if (UnityPlayerServiceService.LocalPlayer.TryGetComponent<IPlayerInventory>(out var inventory))
{
inventory.Transfer(new MonetStrace()
{
Money = money.value,
Detail = detail.value,
});
}
EndAction();
}
}
public class WaitMeChatRevived : ActionTask
{
public BBParameter<string> receiver;
public BBParameter<string> message;
protected override void OnExecute()
{
MeChatService.OnMessageReceived += OnMessageReceived;
}
private void OnMessageReceived(string arg1, string arg2, string arg3)
{
if (receiver.isDefined)
{
if(string.Equals(arg2,receiver.value) is false) return;
}
if(string.Equals(message.value,arg3))EndAction();
}
protected override void OnStop()
{
MeChatService.OnMessageReceived -= OnMessageReceived;
}
}
}