public AnimationRule(AnimationRule rule) : this( rule.object_id, rule.anim_type, (rule.target == null ? null : rule.target.clone()), rule.moveRelative, rule.frame, (rule.startPos == null ? null : rule.startPos.clone()), rule.start, rule.curve ) { }
public List <AnimationRule> loadAnimationRules(String data) { List <AnimationRule> rules = new List <AnimationRule>(); String[] splitLines = data.Replace('\r', '\n').Split('\n'); foreach (String d in splitLines) { AnimationRule ar = loadAnimationRule(d); if (ar == null) { continue; } rules.Add(ar); } return(rules); }
public virtual AnimationRule loadInDataRule(String d) { String[] splitData = d.Split(' '); String object_id = splitData[0]; AnimationFramingType type = AnimationFramingType.getAnimationTypeByID(splitData[1]); bool relative = false; String locationData = splitData[2]; relative = locationData.StartsWith("r"); if (relative) { locationData = locationData.Replace("r", ""); } Location target = Location.ValueOf(locationData); int frame = 0; Location startingLocation = null; int start = 0; int curve = 0; if (splitData.Length > 3) { frame = Convert.ToInt32(splitData[3]); } if (splitData.Length > 4) { startingLocation = Location.ValueOf(splitData[4]); } if (splitData.Length > 5) { start = Convert.ToInt32(splitData[5]); } if (splitData.Length > 6) { curve = Convert.ToInt32(splitData[6]); } AnimationRule rule = new AnimationRule(object_id, type, target, relative, frame, startingLocation, start, curve); if (this.getObject(object_id) != null) { rule.originalLocation = this.getObject(object_id).getLocation().clone(); } return(rule); }
public void removeAnimationRule(AnimationRule animRule) { this.animationRules.Remove(animRule); }
public void addAnimationRule(AnimationRule animRule) { this.animationRules.Add(animRule); }