예제 #1
0
파일: M2Texture.cs 프로젝트: Koward/M2Lib
 public static M2Array<short> GenerateTexReplaceLookup(M2Array<M2Texture> textures)
 {
     var lookup = new M2Array<short>();
     if (textures.Count == 0) return lookup;
     var maxId = (short) textures.Max(x => x.Type);
     for (short i = 0; i <= maxId; i++) lookup.Add(-1);
     for (short i = 0; i < textures.Count; i++)
     {
         var id = (short) textures[i].Type;
         if (lookup[id] == -1) lookup[id] = i;
     }
     return lookup;
 }
예제 #2
0
 public static M2Array<short> GenerateLookup(M2Array<M2Attachment> attachments)
 {
     var lookup = new M2Array<short>();
     if (attachments.Count == 0) return lookup;
     var maxId = attachments.Max(x => x.Id);
     for (short i = 0; i <= maxId; i++) lookup.Add(-1);
     for (short i = 0; i < attachments.Count; i++)
     {
         var id = (short) attachments[i].Id;
         if (lookup[id] == -1) lookup[id] = i;
     }
     return lookup;
 }
예제 #3
0
파일: M2Bone.cs 프로젝트: Koward/M2Lib
 public static M2Array<short> GenerateKeyBoneLookup(M2Array<M2Bone> bones)
 {
     var lookup = new M2Array<short>();
     var maxId = (int) bones.Max(x => x.KeyBoneId);
     for (short i = 0; i < maxId + 1; i++) lookup.Add(-1);
     for (short i = 0; i < bones.Count; i++)
     {
         var id = (int) bones[i].KeyBoneId;
         if (id >= 0 && lookup[id] == -1) lookup[id] = i;
     }
     return lookup;
 }