Remove some dedicated properties on ISkinnableGroup.

This commit is contained in:
2023-02-17 18:10:46 +08:00
parent 88d35e4eaf
commit 9c08cbf0d2
5 changed files with 72 additions and 78 deletions

View File

@@ -9,7 +9,7 @@ namespace Cryville.Crtr {
public abstract override string ToString();
public abstract bool IsValueRequired { get; }
public abstract void ExecuteStatic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp);
public abstract void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp);
public abstract void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp, int dl);
public class CreateComponent : SkinPropertyKey {
public Type Component { get; set; }
public override string ToString() {
@@ -19,7 +19,7 @@ namespace Cryville.Crtr {
public override void ExecuteStatic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
ctx.WriteTransform.gameObject.AddComponent(Component);
}
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp, int dl) {
throw new InvalidOperationException("Component creation in dynamic context is not allowed");
}
}
@@ -33,9 +33,9 @@ namespace Cryville.Crtr {
public override void ExecuteStatic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
Execute(ctx, GetPropOp(ctx.WriteTransform).Operator, exp);
}
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp, int dl) {
var prop = GetPropOp(ctx.WriteTransform);
if (group.DynamicLevel > prop.UpdateDynamicLevel) return;
if (dl > prop.UpdateDynamicLevel) return;
Execute(ctx, prop.Operator, exp);
}
void Execute(RuntimeSkinContext ctx, PdtOperator op, PdtExpression exp) {
@@ -69,7 +69,7 @@ namespace Cryville.Crtr {
public override void ExecuteStatic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
group.RegisterAnchor(Name);
}
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp, int dl) {
throw new InvalidOperationException("Anchor creation in dynamic context is not allowed");
}
}
@@ -87,8 +87,8 @@ namespace Cryville.Crtr {
}
float _time;
readonly PropOp _timeOp;
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
if (group.DynamicLevel > 0) return;
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp, int dl) {
if (dl > 0) return;
var psrcs = ctx.ReadContext.PropSrcs;
if (psrcs != null) ChartPlayer.etor.ContextCascadeInsert(psrcs);
ChartPlayer.etor.Evaluate(_timeOp, exp);
@@ -106,7 +106,7 @@ namespace Cryville.Crtr {
public override void ExecuteStatic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
// TODO
}
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp) {
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp, int dl) {
// TODO
}
}