コード例 #1
0
 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
         )
 {
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public void removeAnimationRule(AnimationRule animRule)
 {
     this.animationRules.Remove(animRule);
 }
コード例 #5
0
 public void addAnimationRule(AnimationRule animRule)
 {
     this.animationRules.Add(animRule);
 }