Pull up clip from judge definition. Add clip to event container.

This commit is contained in:
2023-01-31 14:55:41 +08:00
parent 8932d1b8d0
commit 5514b6cf37
6 changed files with 46 additions and 18 deletions

View File

@@ -150,9 +150,9 @@ namespace Cryville.Crtr {
ChartPlayer.etor.Evaluate(new PropOp.String(r => result = r), exp);
return result;
}
else if (type.Equals(typeof(float[]))) {
float[] result = null;
ChartPlayer.etor.Evaluate(new pop_numarr(r => result = r), exp);
else if (type.Equals(typeof(Clip))) {
Clip result = default(Clip);
ChartPlayer.etor.Evaluate(new PropOp.Clip(r => result = r), exp);
return result;
}
else if (type.Equals(typeof(Identifier))) {
@@ -182,17 +182,6 @@ namespace Cryville.Crtr {
return base.ChangeType(value, type, culture);
}
#pragma warning disable IDE1006
class pop_numarr : PdtOperator {
readonly Action<float[]> _cb;
public pop_numarr(Action<float[]> cb) : base(16) { _cb = cb; }
protected override void Execute() {
var result = new float[LoadedOperandCount];
for (int i = 0; i < LoadedOperandCount; i++) {
result[i] = GetOperand(i).AsNumber();
}
_cb(result);
}
}
class pop_identstr : PropOp {
readonly Action<SIdentifier> _cb;
public pop_identstr(Action<SIdentifier> cb) { _cb = cb; }