Add interval function.

This commit is contained in:
2023-02-06 15:16:35 +08:00
parent 3ca3746cec
commit c0744a3464

View File

@@ -172,6 +172,7 @@ namespace Cryville.Crtr {
_shortops.Add(new PdtOperatorSignature("frame_seq", 3), new func_frame_seq());
_shortops.Add(new PdtOperatorSignature("in_area", 1), new func_in_area());
_shortops.Add(new PdtOperatorSignature("interval", 3), new func_interval());
_shortops.Add(new PdtOperatorSignature("is", 2), new func_is());
}
#region Operators
@@ -355,6 +356,16 @@ namespace Cryville.Crtr {
hit.CopyTo(ret);
}
}
class func_interval : PdtOperator {
public func_interval() : base(3) { }
protected override unsafe void Execute() {
var value = GetOperand(0).AsNumber();
var min = GetOperand(1).AsNumber();
var max = GetOperand(2).AsNumber();
var ret = GetReturnFrame(PdtInternalType.Number, sizeof(float));
ret.SetNumber((value - min) * (max - value));
}
}
class func_is : PdtOperator {
public func_is() : base(2) { }
protected override unsafe void Execute() {