protected virtual void InitVarDefs(SpriterAnimation animation) { if (animation.Meta != null && animation.Meta.Varlines != null && animation.Meta.Varlines.Length > 0) { foreach (SpriterVarline varline in animation.Meta.Varlines) { SpriterVarDef varDefs = animation.Entity.Variables[varline.Def]; Init(varDefs, varline); } } foreach (SpriterTimeline timeline in animation.Timelines) { if (timeline.Meta == null || timeline.Meta.Varlines == null || timeline.Meta.Varlines.Length == 0) { continue; } SpriterObjectInfo objInfo = animation.Entity.ObjectInfos.First(o => o.Name == timeline.Name); foreach (SpriterVarline varline in timeline.Meta.Varlines) { SpriterVarDef varDef = objInfo.Variables[varline.Def]; Init(varDef, varline); } } }
protected virtual void Init(SpriterVarDef varDef, SpriterVarline varline) { varDef.VariableValue = GetVarValue(varDef.DefaultValue, varDef.Type); foreach (SpriterVarlineKey key in varline.Keys) { key.VariableValue = GetVarValue(key.Value, varDef.Type); } }