BITKit/Src/UnityPluginsSupport/NodeCanvas/CreateQuest.cs

31 lines
963 B
C#
Raw Normal View History

2023-06-05 19:57:17 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using NodeCanvas.Tasks;
using NodeCanvas.Framework;
using BITKit.SubSystems;
using BITKit.SubSystems.Quest;
namespace BITKit
{
public class CreateQuest : ActionTask
{
public string questName;
public string qeustDescription;
public BBParameter<QuestSystem.Info> output;
protected override void OnExecute()
{
var quest = QuestSystem.Create(questName, qeustDescription);
if (output.isDefined)
output.SetValue(quest);
EndAction();
}
2024-03-31 23:31:00 +08:00
protected override void OnStop(bool interrupted)
{
base.OnStop(interrupted);
2024-04-06 16:33:32 +08:00
if (!interrupted) return;
if (QuestSystem.quests.TryGetValue(output.value, out var info) &&
info.State == QuestSystem.State.InProcess)
QuestSystem.Cancel(output.value);
2024-03-31 23:31:00 +08:00
}
2023-06-05 19:57:17 +08:00
}
}