2 using System.Collections.Generic;
\r
8 public class RDBJoint
\r
13 public RDBJoint(int no, string name)
\r
19 public override string ToString()
\r
21 return No.ToString().PadLeft(4, '0') + ":" + Name;
\r
25 public class RDBBone
\r
30 public RDBBone(int begin, int end)
\r
36 public override string ToString()
\r
38 return "0003," + Begin.ToString().PadLeft(4, '0')
\r
39 + "," + End .ToString().PadLeft(4, '0');
\r
43 public class RDBBonFile
\r
46 public List<RDBJoint> joints = new List<RDBJoint>();
\r
47 public Dictionary<string, RDBJoint> jointmap= new Dictionary<string, RDBJoint>();
\r
48 public List<RDBBone> bones = new List<RDBBone>();
\r
50 public void AddJoint(string name)
\r
52 RDBJoint j = new RDBJoint(no++, name);
\r
54 jointmap.Add(name, j);
\r
57 public void AddBone(int begin, int end)
\r
59 bones.Add(new RDBBone(begin, end));
\r
62 public void Save(string file)
\r
64 StringBuilder sb = new StringBuilder();
\r
66 sb.AppendLine("BoneFile : type separated : ver1001")
\r
68 .AppendLine("NAMEPART_START");
\r
70 foreach(RDBJoint i in joints)
\r
71 sb.AppendLine(i.ToString());
\r
73 sb.AppendLine("NAMEPART_END")
\r
76 .AppendLine("TREEPART_START")
\r
79 foreach(RDBBone i in bones)
\r
80 sb.AppendLine(i.ToString());
\r
82 sb.AppendLine("TREEPART_END");
\r
84 File.WriteAllText(file, sb.ToString(), Encoding.Default);
\r