50 lines
1.2 KiB
C#
50 lines
1.2 KiB
C#
using GameFramework;
|
|
using GameFramework.Event;
|
|
using GeometryTD.Procedure;
|
|
|
|
namespace GeometryTD.CustomEvent
|
|
{
|
|
public class NodeEnterEventArgs : GameEventArgs
|
|
{
|
|
public static int EventId = typeof(NodeEnterEventArgs).GetHashCode();
|
|
|
|
public override int Id => EventId;
|
|
|
|
public string RunId { get; private set; }
|
|
|
|
public int NodeId { get; private set; }
|
|
|
|
public RunNodeType NodeType { get; private set; }
|
|
|
|
public int SequenceIndex { get; private set; }
|
|
|
|
public NodeEnterEventArgs()
|
|
{
|
|
}
|
|
|
|
public static NodeEnterEventArgs Create()
|
|
{
|
|
return Create(null, 0, RunNodeType.None, -1);
|
|
}
|
|
|
|
public static NodeEnterEventArgs Create(string runId, int nodeId, RunNodeType nodeType, int sequenceIndex)
|
|
{
|
|
var args = ReferencePool.Acquire<NodeEnterEventArgs>();
|
|
args.RunId = runId;
|
|
args.NodeId = nodeId;
|
|
args.NodeType = nodeType;
|
|
args.SequenceIndex = sequenceIndex;
|
|
|
|
return args;
|
|
}
|
|
|
|
public override void Clear()
|
|
{
|
|
RunId = null;
|
|
NodeId = 0;
|
|
NodeType = RunNodeType.None;
|
|
SequenceIndex = -1;
|
|
}
|
|
}
|
|
}
|