Ejemplo n.º 1
0
        public static ParsedTimeProp Parse(string key, float value)
        {
            var split = key.Split('/');

            if (split.Length != 3)
            {
                return(null);
            }
            var result = new ParsedTimeProp();

            result.AnimName = split[0];
            if (!int.TryParse(split[1], out result.ID))
            {
                return(null);
            }

            var keySplit = split[2].Split('=');

            if (keySplit.Length == 1)
            {
                //just a key, use number value
                result.Event = split[2];
                result.Value = ((short)value).ToString();
            }
            else if (keySplit.Length == 2)
            {
                //key value, ignore number
                result.Event = keySplit[0];
                result.Value = keySplit[1];
            }
            else
            {
                return(null); //invalid
            }
            return(result);
        }
Ejemplo n.º 2
0
 private List <ParsedTimeProp> GetTimeProps(Dictionary <string, object> props, string animName)
 {
     return(props.Select(x => ParsedTimeProp.Parse(x.Key, Convert.ToSingle(x.Value)))
            .Where(x => x != null && (x.AnimName == animName || x.AnimName == "timeprop")).ToList());
 }