コード例 #1
0
 public void LoadSkin(TextureEngine texs)
 {
     if (Skinned)
     {
         return;
     }
     Skinned = true;
     if (Program.Files.Exists("models/" + Name + ".skin"))
     {
         string[] data = Program.Files.ReadText("models/" + Name + ".skin").Split('\n');
         foreach (string datum in data)
         {
             if (datum.Length > 0)
             {
                 string[] datums = datum.Split('=');
                 if (datums.Length == 2)
                 {
                     Texture tex     = texs.GetTexture(datums[1]);
                     bool    success = false;
                     for (int i = 0; i < Meshes.Count; i++)
                     {
                         if (Meshes[i].Name == datums[0])
                         {
                             Meshes[i].vbo.Tex = tex;
                             success           = true;
                         }
                     }
                     if (!success)
                     {
                         SysConsole.Output(OutputType.WARNING, "Unknown skin entry " + datums[0]);
                         StringBuilder all = new StringBuilder(Meshes.Count * 100);
                         for (int i = 0; i < Meshes.Count; i++)
                         {
                             all.Append(Meshes[i].Name + ", ");
                         }
                         SysConsole.Output(OutputType.WARNING, "Available: " + all.ToString());
                     }
                 }
             }
         }
     }
     else
     {
         SysConsole.Output(OutputType.WARNING, "Can't find models/" + Name + ".skin!");
     }
 }
コード例 #2
0
 public Renderer(TextureEngine tengine)
 {
     Engine = tengine;
 }