public MotionCardWrapper(IMotionCard motion) { if (motion == null) { return; } Name = (motion as IPrim)?.Name; Index = motion.DevIndex; Motion = motion; Trigger = motion; Interp = motion; }
public void Import(string line, StateMachine machine) { var data = line.Split(' '); int i = 0; var id = int.Parse(data[i++]); Name = data[i++]; Index = int.Parse(data[i++]); var typeName = data[i++]; //load motioncardwrapper from prims var motionPrim = DevPrimsManager.Instance.GetPrimByName(Name); if (motionPrim == null) { throw new Exception($"LOAD MOTION ERROR: {Name} not found in DevPrimsManager"); } if (motionPrim is IMotionCard) { var m = motionPrim as IMotionCard; Motion = m; Trigger = m; Interp = m; } else if (motionPrim is IP2PMotionCard) { Motion = motionPrim as IP2PMotionCard; } else { throw new Exception($"LOAD MOTION ERROR: {line}"); } if (machine.MotionExs.ContainsKey(id)) { return; } machine.MotionExs.Add(id, this); }