Files
vr-configurator/vr-configurator/Assets/Scripts/Models/ModelList.cs
2025-06-01 13:32:46 +02:00

990 lines
38 KiB
C#

using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// This class holds all Model Definitions that will be used in the ModelManager
/// Is Planned to be replaced with a JSON Serializer
/// </summary>
public class ModelList
{
public static readonly List<BaseModel> BaseModels = new List<BaseModel>()
{
new BaseModel(
"Bike",
"bike",
Resources.Load<Mesh>("Model/Bicycle/Models/Low-Poly Bicycle"),
Resources.Load<Material>($"Material/Default"),
Vector3.zero,
Quaternion.Euler(0,90,0),
Vector3.one,
new List<Port>
{
new Port(Definitions.PORT_BIKE_FRAME, new Vector3(0,1,0), "idBikeFrame"),
new Port(Definitions.PORT_BIKE_SPROCKET, new Vector3(0.007933f, 0.444f, -0.1614f), "idBikeSprocket"),
new Port(Definitions.PORT_BIKE_PEDAL_L, new Vector3(-0.1252177f, 0.5490288f, -0.312027f), "idBikePedalL_1"),
new Port(Definitions.PORT_BIKE_PEDAL_R, new Vector3(0.1410843f, 0.3393247f, -0.01154391f), "idBikePedalR_1"),
new Port(Definitions.PORT_BIKE_STEER, new Vector3(0.002989591f, 1.214713f, 0.4860705f), Quaternion.Euler(-30f, 0f, 0f), "idBikeHandlebars"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(-0.01431298f, 0.4673222f, -0.7874681f), "idBikeWheel_Back1"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(0.01984263f, 0.4673225f, 0.9462124f), "idBikeWheel_Front1"),
new Port(Definitions.PORT_BIKE_DRIVER, new Vector3(0f, 1.25f, -0.65f), Quaternion.Euler(70f, 0f, 0f), "nuke"),
}
),
new BaseModel(
"ERL-Bach",
"erlbach",
Resources.Load<Mesh>("Model/ERLbach/02.01.98.0000-ERLbach_vereinfacht"),
Resources.Load<Material>($"Material/Default"),
new Vector3(0,0,4f), //big car needs big space
Quaternion.Euler(-90f,0f,0f), //rotate correctly
new Vector3(0.03f,0.03f,0.03f), //because model is too big in space
new List<Port>
{
new Port(Definitions.PORT_ERLBACH_0, new Vector3(0f, 0f, 0f), "idErlbachPart0", false),
new Port(Definitions.PORT_ERLBACH_1, new Vector3(0f, 0f, 0f), "idErlbachPart1", false),
new Port(Definitions.PORT_ERLBACH_2, new Vector3(0f, 0f, 0f), "idErlbachPart2", false),
new Port(Definitions.PORT_ERLBACH_3, new Vector3(0f, 0f, 0f), "idErlbachPart3", false),
new Port(Definitions.PORT_ERLBACH_4, new Vector3(0f, 0f, 0f), "idErlbachPart4", false),
new Port(Definitions.PORT_ERLBACH_5, new Vector3(0f, 0f, 0f), "idErlbachPart5", false),
new Port(Definitions.PORT_ERLBACH_6, new Vector3(0f, 0f, 0f), "idErlbachPart6", false),
new Port(Definitions.PORT_ERLBACH_7, new Vector3(0f, 0f, 0f), "idErlbachPart7", false),
new Port(Definitions.PORT_ERLBACH_8, new Vector3(0f, 0f, 0f), "idErlbachPart8", false),
new Port(Definitions.PORT_ERLBACH_9, new Vector3(0f, 0f, 0f), "idErlbachPart9", false),
new Port(Definitions.PORT_ERLBACH_10, new Vector3(0f, 0f, 0f), "idErlbachPart10", false),
new Port(Definitions.PORT_ERLBACH_11, new Vector3(0f, 0f, 0f), "idErlbachPart11", false),
new Port(Definitions.PORT_ERLBACH_12, new Vector3(0f, 0f, 0f), "idErlbachPart12", false),
new Port(Definitions.PORT_ERLBACH_13, new Vector3(0f, 0f, 0f), "idErlbachPart13", false),
new Port(Definitions.PORT_ERLBACH_14, new Vector3(0f, 0f, 0f), "idErlbachPart14", false),
new Port(Definitions.PORT_ERLBACH_15, new Vector3(0f, 0f, 0f), "idErlbachPart15", false),
new Port(Definitions.PORT_ERLBACH_16, new Vector3(0f, 0f, 0f), "idErlbachPart16", false),
new Port(Definitions.PORT_ERLBACH_17, new Vector3(0f, 0f, 0f), "idErlbachPart17", false),
new Port(Definitions.PORT_ERLBACH_18, new Vector3(0f, 0f, 0f), "idErlbachPart18", false),
new Port(Definitions.PORT_ERLBACH_19, new Vector3(0f, 0f, 0f), "idErlbachPart19", false),
new Port(Definitions.PORT_ERLBACH_20, new Vector3(0f, 0f, 0f), "idErlbachPart20", false),
new Port(Definitions.PORT_ERLBACH_21, new Vector3(0f, 0f, 0f), "idErlbachPart21", false),
new Port(Definitions.PORT_ERLBACH_22, new Vector3(0f, 0f, 0f), "idErlbachPart22", false),
new Port(Definitions.PORT_ERLBACH_23, new Vector3(0f, 0f, 0f), "idErlbachPart23", false),
new Port(Definitions.PORT_ERLBACH_24, new Vector3(0f, 0f, 0f), "idErlbachPart24", false),
new Port(Definitions.PORT_ERLBACH_25, new Vector3(0f, 0f, 0f), "idErlbachPart25", false),
new Port(Definitions.PORT_ERLBACH_26, new Vector3(0f, 0f, 0f), "idErlbachPart26", false),
new Port(Definitions.PORT_ERLBACH_27, new Vector3(0f, 0f, 0f), "idErlbachPart27", false),
new Port(Definitions.PORT_ERLBACH_28, new Vector3(0f, 0f, 0f), "idErlbachPart28", false),
new Port(Definitions.PORT_ERLBACH_29, new Vector3(0f, 0f, 0f), "idErlbachPart29", false),
new Port(Definitions.PORT_ERLBACH_30, new Vector3(0f, 0f, 0f), "idErlbachPart30", false),
new Port(Definitions.PORT_ERLBACH_31, new Vector3(0f, 0f, 0f), "idErlbachPart31", false),
new Port(Definitions.PORT_ERLBACH_32, new Vector3(0f, 0f, 0f), "idErlbachPart32", false),
new Port(Definitions.PORT_ERLBACH_33, new Vector3(0f, 0f, 0f), "idErlbachPart33", false),
new Port(Definitions.PORT_ERLBACH_34, new Vector3(0f, 0f, 0f), "idErlbachPart34", false),
new Port(Definitions.PORT_ERLBACH_35, new Vector3(0f, 0f, 0f), "idErlbachPart35", false),
new Port(Definitions.PORT_ERLBACH_36, new Vector3(0f, 0f, 0f), "idErlbachPart36", false),
new Port(Definitions.PORT_ERLBACH_37, new Vector3(0f, 0f, 0f), "idErlbachPart37", false),
new Port(Definitions.PORT_ERLBACH_38, new Vector3(0f, 0f, 0f), "idErlbachPart38", false),
new Port(Definitions.PORT_ERLBACH_39, new Vector3(0f, 0f, 0f), "idErlbachPart39", false),
new Port(Definitions.PORT_ERLBACH_40, new Vector3(0f, 0f, 0f), "idErlbachPart40", false),
new Port(Definitions.PORT_ERLBACH_41, new Vector3(0f, 0f, 0f), "idErlbachPart41", false),
new Port(Definitions.PORT_ERLBACH_42, new Vector3(0f, 0f, 0f), "idErlbachPart42", false),
new Port(Definitions.PORT_ERLBACH_43, new Vector3(0f, 0f, 0f), "idErlbachPart43", false),
new Port(Definitions.PORT_ERLBACH_44, new Vector3(0f, 0f, 0f), "idErlbachPart44", false),
new Port(Definitions.PORT_ERLBACH_45, new Vector3(0f, 0f, 0f), "idErlbachPart45", false),
new Port(Definitions.PORT_ERLBACH_46, new Vector3(0f, 0f, 0f), "idErlbachPart46", false),
new Port(Definitions.PORT_ERLBACH_47, new Vector3(0f, 0f, 0f), "idErlbachPart47", false),
new Port(Definitions.PORT_ERLBACH_48, new Vector3(0f, 0f, 0f), "idErlbachPart48", false),
new Port(Definitions.PORT_ERLBACH_49, new Vector3(0f, 0f, 0f), "idErlbachPart49", false),
new Port(Definitions.PORT_ERLBACH_50, new Vector3(0f, 0f, 0f), "idErlbachPart50", false),
new Port(Definitions.PORT_ERLBACH_51, new Vector3(0f, 0f, 0f), "idErlbachPart51", false),
new Port(Definitions.PORT_ERLBACH_52, new Vector3(0f, 0f, 0f), "idErlbachPart52", false),
new Port(Definitions.PORT_ERLBACH_53, new Vector3(0f, 0f, 0f), "idErlbachPart53", false),
new Port(Definitions.PORT_ERLBACH_54, new Vector3(0f, 0f, 0f), "idErlbachPart54", false),
new Port(Definitions.PORT_ERLBACH_55, new Vector3(0f, 0f, 0f), "idErlbachPart55", false),
new Port(Definitions.PORT_ERLBACH_56, new Vector3(0f, 0f, 0f), "idErlbachPart56", false),
new Port(Definitions.PORT_ERLBACH_57, new Vector3(0f, 0f, 0f), "idErlbachPart57", false),
new Port(Definitions.PORT_ERLBACH_58, new Vector3(0f, 0f, 0f), "idErlbachPart58", false),
new Port(Definitions.PORT_ERLBACH_59, new Vector3(0f, 0f, 0f), "idErlbachPart59", false),
new Port(Definitions.PORT_ERLBACH_60, new Vector3(0f, 0f, 0f), "idErlbachPart60", false),
new Port(Definitions.PORT_ERLBACH_61, new Vector3(0f, 0f, 0f), "idErlbachPart61", false),
new Port(Definitions.PORT_ERLBACH_62, new Vector3(0f, 0f, 0f), "idErlbachPart62", false),
new Port(Definitions.PORT_ERLBACH_63, new Vector3(0f, 0f, 0f), "idErlbachPart63", false),
new Port(Definitions.PORT_ERLBACH_64, new Vector3(0f, 0f, 0f), "idErlbachPart64", false),
new Port(Definitions.PORT_ERLBACH_65, new Vector3(0f, 0f, 0f), "idErlbachPart65", false),
new Port(Definitions.PORT_ERLBACH_66, new Vector3(0f, 0f, 0f), "idErlbachPart66", false),
new Port(Definitions.PORT_ERLBACH_67, new Vector3(0f, 0f, 0f), "idErlbachPart67", false),
new Port(Definitions.PORT_ERLBACH_68, new Vector3(0f, 0f, 0f), "idErlbachPart68", false),
new Port(Definitions.PORT_ERLBACH_69, new Vector3(0f, 0f, 0f), "idErlbachPart69", false),
new Port(Definitions.PORT_ERLBACH_70, new Vector3(0f, 0f, 0f), "idErlbachPart70", false),
new Port(Definitions.PORT_ERLBACH_71, new Vector3(0f, 0f, 0f), "idErlbachPart71", false),
new Port(Definitions.PORT_ERLBACH_72, new Vector3(0f, 0f, 0f), "idErlbachPart72", false),
new Port(Definitions.PORT_ERLBACH_73, new Vector3(0f, 0f, 0f), "idErlbachPart73", false),
new Port(Definitions.PORT_ERLBACH_BasePlate, new Vector3(0f, 0f, 0f), "idErlbachPart74",false, new Vector3(0f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_FrontAxe, new Vector3(0f, 0f, 0f), "idErlbachPart75",false, new Vector3(1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_BatteriePack, new Vector3(0f, 0f, 0f), "idErlbachPart76",false, new Vector3(0f,0f,1f)),
new Port(Definitions.PORT_ERLBACH_77, new Vector3(0f, 0f, 0f), "idErlbachPart77", false),
new Port(Definitions.PORT_ERLBACH_78, new Vector3(0f, 0f, 0f), "idErlbachPart78", false),
new Port(Definitions.PORT_ERLBACH_79, new Vector3(0f, 0f, 0f), "idErlbachPart79", false),
new Port(Definitions.PORT_ERLBACH_Wheel, new Vector3(0f, 0f, 0f), "idErlbachWheel_LH", true, new Vector3(0f,-1f,0f)),
new Port(Definitions.PORT_ERLBACH_Wheel, new Vector3(0f, 0f, 0f), "idErlbachWheel_LV",true, new Vector3(0f,-1f,0f)),
new Port(Definitions.PORT_ERLBACH_Wheel, new Vector3(0f, 0f, 0f), "idErlbachWheel_RH",true, new Vector3(0f,1f,0f)),
new Port(Definitions.PORT_ERLBACH_Wheel, new Vector3(0f, 0f, 0f), "idErlbachWheel_RV",true, new Vector3(0f,1f,0f)),
new Port(Definitions.PORT_ERLBACH_Body, new Vector3(0f, 0f, 0f), "idErlbachPart84",true, new Vector3(0f,0f,1f)),
new Port(Definitions.PORT_ERLBACH_Bumper, new Vector3(0f, 0f, 0f), "idErlbachPart85",true, new Vector3(1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_FrontBumper, new Vector3(0f, 0f, 0f), "idErlbachPart86",true, new Vector3(-1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_Number, new Vector3(0f, 0f, 0f), "idErlbachPart87",true, new Vector3(1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_LicensePlate, new Vector3(0f, 0f, 0f), "idErlbachPart88",true, new Vector3(1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_LicensePlateContent, new Vector3(0f, 0f, 0f), "idErlbachPart89",false, new Vector3(1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_Grill, new Vector3(0f, 0f, 0f), "idErlbachPart90",true, new Vector3(-1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_Refelctor_H, new Vector3(0f, 0f, 0f), "idErlbachPart91",false, new Vector3(1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_Headlight_V_Cover, new Vector3(0f, 0f, 0f), "idErlbachPart92",false, new Vector3(-1f,0f,0f)),
new Port(Definitions.PORT_ERLBACH_Headlight_V, new Vector3(0f, 0f, 0f), "idErlbachPart93",false, new Vector3(-1f,0f,0f))
}
)
};
public static readonly List<ChildModel> ChildModels = new List<ChildModel>()
{
new ChildModel(
Definitions.PORT_BIKE_DRIVER,
"Bacteria",
"bacteria",
Resources.Load<Mesh>("Plagues/Mesh/bacteria"),
Resources.Load<Material>($"Material/Default"),
null
),
new ChildModel(
Definitions.PORT_BIKE_DRIVER,
"ICBM",
"nuke",
Resources.Load<Mesh>("Plagues/Mesh/Nuke"),
Resources.Load<Material>($"Material/Default"),
null
),
new ChildModel(
Definitions.PORT_BIKE_WHEEL,
"30\" Rim",
"bike30inchAlloy",
Resources.Load<Mesh>("Plagues/Mesh/Hex"),
Resources.Load<Material>($"Material/Default"),
null
),
new ChildModel(
"bikePedalR",
"Pedal (right)",
"bikePedalR",
Resources.Load<Mesh>("Plagues/Mesh/Hex"),
Resources.Load<Material>($"Material/Default"),
null
),
new ChildModel(
"bikePedalL",
"Pedal (left)",
"bikePedalL",
Resources.Load<Mesh>("Plagues/Mesh/Hex"),
Resources.Load<Material>($"Material/Default"),
null
),
new ChildModel(
Definitions.PORT_ERLBACH_Wheel,
"Wheel",
"rad20",
Resources.Load<Mesh>($"Model/ERLbach/02.01.05.0000-Rad_5Speichen"),
Resources.Load<Material>($"Material/Default"),
null,
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
}
)
};
static ModelList()
{
/*
* ██████ ██ ██ ██ ███████
* ██ ██ ██ ██ ██ ██
* ██████ ██ █████ █████
* ██ ██ ██ ██ ██ ██
* ██████ ██ ██ ██ ███████
*/
ModelLoader.LoadChildModelsFromPackedModel(
ChildModels,
new string[7] // port
{
Definitions.PORT_BIKE_FRAME,
Definitions.PORT_BIKE_SPROCKET,
Definitions.PORT_BIKE_PEDAL_L,
Definitions.PORT_BIKE_PEDAL_R,
Definitions.PORT_BIKE_STEER,
Definitions.PORT_BIKE_WHEEL,
Definitions.PORT_BIKE_WHEEL,
},
new string[7] //human name
{
"Frame",
"Sprocket",
"Left Pedal",
"Right Pedal",
"Handlebars",
"Back Wheel",
"Front Wheel",
},
new string[7] //id
{
"idBikeFrame",
"idBikeSprocket",
"idBikePedalL_1",
"idBikePedalR_1",
"idBikeHandlebars",
"idBikeWheel_Back1",
"idBikeWheel_Front1",
},
Resources.LoadAll<Mesh>($"Model/Bicycle/Models/Low-Poly Bicycle"),
new Material[7] //mat
{
Resources.Load<Material>($"Material/AluminiumPolished"),
Resources.Load<Material>($"Material/AluminiumPolished"),
Resources.Load<Material>($"Material/AluminiumPolished"),
Resources.Load<Material>($"Material/AluminiumPolished"),
Resources.Load<Material>($"Material/AluminiumPolished"),
Resources.Load<Material>($"Material/AluminiumPolished"),
Resources.Load<Material>($"Material/AluminiumPolished"),
},
new List<Port>[7] // ports
{
null,
null,
null,
null,
null,
null,
null,
},
new List<string>[7] // colors
{
null,
null,
null,
null,
null,
null,
null,
},
0 //dont skip the first mesh, TODO: 'repair'
);
/*
* ███████ ██████ ██ ██████ █████ ██████ ██ ██
* ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
* █████ ██████ ██ █████ ██████ ███████ ██ ███████
* ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
* ███████ ██ ██ ███████ ██████ ██ ██ ██████ ██ ██
*/
ModelLoader.LoadChildModelsFromPackedModel(
ChildModels,
new string[94] // port
{
Definitions.PORT_ERLBACH_0,
Definitions.PORT_ERLBACH_1,
Definitions.PORT_ERLBACH_2,
Definitions.PORT_ERLBACH_3,
Definitions.PORT_ERLBACH_4,
Definitions.PORT_ERLBACH_5,
Definitions.PORT_ERLBACH_6,
Definitions.PORT_ERLBACH_7,
Definitions.PORT_ERLBACH_8,
Definitions.PORT_ERLBACH_9,
Definitions.PORT_ERLBACH_10,
Definitions.PORT_ERLBACH_11,
Definitions.PORT_ERLBACH_12,
Definitions.PORT_ERLBACH_13,
Definitions.PORT_ERLBACH_14,
Definitions.PORT_ERLBACH_15,
Definitions.PORT_ERLBACH_16,
Definitions.PORT_ERLBACH_17,
Definitions.PORT_ERLBACH_18,
Definitions.PORT_ERLBACH_19,
Definitions.PORT_ERLBACH_20,
Definitions.PORT_ERLBACH_21,
Definitions.PORT_ERLBACH_22,
Definitions.PORT_ERLBACH_23,
Definitions.PORT_ERLBACH_24,
Definitions.PORT_ERLBACH_25,
Definitions.PORT_ERLBACH_26,
Definitions.PORT_ERLBACH_27,
Definitions.PORT_ERLBACH_28,
Definitions.PORT_ERLBACH_29,
Definitions.PORT_ERLBACH_30,
Definitions.PORT_ERLBACH_31,
Definitions.PORT_ERLBACH_32,
Definitions.PORT_ERLBACH_33,
Definitions.PORT_ERLBACH_34,
Definitions.PORT_ERLBACH_35,
Definitions.PORT_ERLBACH_36,
Definitions.PORT_ERLBACH_37,
Definitions.PORT_ERLBACH_38,
Definitions.PORT_ERLBACH_39,
Definitions.PORT_ERLBACH_40,
Definitions.PORT_ERLBACH_41,
Definitions.PORT_ERLBACH_42,
Definitions.PORT_ERLBACH_43,
Definitions.PORT_ERLBACH_44,
Definitions.PORT_ERLBACH_45,
Definitions.PORT_ERLBACH_46,
Definitions.PORT_ERLBACH_47,
Definitions.PORT_ERLBACH_48,
Definitions.PORT_ERLBACH_49,
Definitions.PORT_ERLBACH_50,
Definitions.PORT_ERLBACH_51,
Definitions.PORT_ERLBACH_52,
Definitions.PORT_ERLBACH_53,
Definitions.PORT_ERLBACH_54,
Definitions.PORT_ERLBACH_55,
Definitions.PORT_ERLBACH_56,
Definitions.PORT_ERLBACH_57,
Definitions.PORT_ERLBACH_58,
Definitions.PORT_ERLBACH_59,
Definitions.PORT_ERLBACH_60,
Definitions.PORT_ERLBACH_61,
Definitions.PORT_ERLBACH_62,
Definitions.PORT_ERLBACH_63,
Definitions.PORT_ERLBACH_64,
Definitions.PORT_ERLBACH_65,
Definitions.PORT_ERLBACH_66,
Definitions.PORT_ERLBACH_67,
Definitions.PORT_ERLBACH_68,
Definitions.PORT_ERLBACH_69,
Definitions.PORT_ERLBACH_70,
Definitions.PORT_ERLBACH_71,
Definitions.PORT_ERLBACH_72,
Definitions.PORT_ERLBACH_73,
Definitions.PORT_ERLBACH_BasePlate,
Definitions.PORT_ERLBACH_FrontAxe,
Definitions.PORT_ERLBACH_BatteriePack,
Definitions.PORT_ERLBACH_77,
Definitions.PORT_ERLBACH_78,
Definitions.PORT_ERLBACH_79,
Definitions.PORT_ERLBACH_Wheel,
Definitions.PORT_ERLBACH_Wheel,
Definitions.PORT_ERLBACH_Wheel,
Definitions.PORT_ERLBACH_Wheel,
Definitions.PORT_ERLBACH_Body,
Definitions.PORT_ERLBACH_Bumper,
Definitions.PORT_ERLBACH_FrontBumper,
Definitions.PORT_ERLBACH_Number,
Definitions.PORT_ERLBACH_LicensePlate,
Definitions.PORT_ERLBACH_LicensePlateContent,
Definitions.PORT_ERLBACH_Grill,
Definitions.PORT_ERLBACH_Refelctor_H,
Definitions.PORT_ERLBACH_Headlight_V_Cover,
Definitions.PORT_ERLBACH_Headlight_V,
},
new string[94] //human name
{
"Erlbach Part 0",
"Erlbach Part 1",
"Erlbach Part 2",
"Erlbach Part 3",
"Erlbach Part 4",
"Erlbach Part 5",
"Erlbach Part 6",
"Erlbach Part 7",
"Erlbach Part 8",
"Erlbach Part 9",
"Erlbach Part 10",
"Erlbach Part 11",
"Erlbach Part 12",
"Erlbach Part 13",
"Erlbach Part 14",
"Erlbach Part 15",
"Erlbach Part 16",
"Erlbach Part 17",
"Erlbach Part 18",
"Erlbach Part 19",
"Erlbach Part 20",
"Erlbach Part 21",
"Erlbach Part 22",
"Erlbach Part 23",
"Erlbach Part 24",
"Erlbach Part 25",
"Erlbach Part 26",
"Erlbach Part 27",
"Erlbach Part 28",
"Erlbach Part 29",
"Erlbach Part 30",
"Erlbach Part 31",
"Erlbach Part 32",
"Erlbach Part 33",
"Erlbach Part 34",
"Erlbach Part 35",
"Erlbach Part 36",
"Erlbach Part 37",
"Erlbach Part 38",
"Erlbach Part 39",
"Erlbach Part 40",
"Erlbach Part 41",
"Erlbach Part 42",
"Erlbach Part 43",
"Erlbach Part 44",
"Erlbach Part 45",
"Erlbach Part 46",
"Erlbach Part 47",
"Erlbach Part 48",
"Erlbach Part 49",
"Erlbach Part 50",
"Erlbach Part 51",
"Erlbach Part 52",
"Erlbach Part 53",
"Erlbach Part 54",
"Erlbach Part 55",
"Erlbach Part 56",
"Erlbach Part 57",
"Erlbach Part 58",
"Erlbach Part 59",
"Erlbach Part 60",
"Erlbach Part 61",
"Erlbach Part 62",
"Erlbach Part 63",
"Erlbach Part 64",
"Erlbach Part 65",
"Erlbach Part 66",
"Erlbach Part 67",
"Erlbach Part 68",
"Erlbach Part 69",
"Erlbach Part 70",
"Erlbach Part 71",
"Erlbach Part 72",
"Erlbach Part 73",
"Erlbach Part BasePlate",
"Erlbach Part FrontAxe",
"Erlbach Part BatteriePack",
"Erlbach Part 77",
"Erlbach Part 78",
"Erlbach Part 79",
"Erlbach Part Wheel LH",
"Erlbach Part Wheel LV",
"Erlbach Part Wheel RH",
"Erlbach Part Wheel RV",
"Erlbach Part Body",
"Erlbach Part Bumper",
"Erlbach Part FrontBumper",
"Erlbach Part Number",
"Erlbach Part LicensePlate",
"Erlbach Part LicensePlateContent",
"Erlbach Part Grill",
"Erlbach Part Refelctor_H",
"Erlbach Part Headlight_V_Cover",
"Erlbach Part Headlight_V",
},
new string[94] //id
{
"idErlbachPart0",
"idErlbachPart1",
"idErlbachPart2",
"idErlbachPart3",
"idErlbachPart4",
"idErlbachPart5",
"idErlbachPart6",
"idErlbachPart7",
"idErlbachPart8",
"idErlbachPart9",
"idErlbachPart10",
"idErlbachPart11",
"idErlbachPart12",
"idErlbachPart13",
"idErlbachPart14",
"idErlbachPart15",
"idErlbachPart16",
"idErlbachPart17",
"idErlbachPart18",
"idErlbachPart19",
"idErlbachPart20",
"idErlbachPart21",
"idErlbachPart22",
"idErlbachPart23",
"idErlbachPart24",
"idErlbachPart25",
"idErlbachPart26",
"idErlbachPart27",
"idErlbachPart28",
"idErlbachPart29",
"idErlbachPart30",
"idErlbachPart31",
"idErlbachPart32",
"idErlbachPart33",
"idErlbachPart34",
"idErlbachPart35",
"idErlbachPart36",
"idErlbachPart37",
"idErlbachPart38",
"idErlbachPart39",
"idErlbachPart40",
"idErlbachPart41",
"idErlbachPart42",
"idErlbachPart43",
"idErlbachPart44",
"idErlbachPart45",
"idErlbachPart46",
"idErlbachPart47",
"idErlbachPart48",
"idErlbachPart49",
"idErlbachPart50",
"idErlbachPart51",
"idErlbachPart52",
"idErlbachPart53",
"idErlbachPart54",
"idErlbachPart55",
"idErlbachPart56",
"idErlbachPart57",
"idErlbachPart58",
"idErlbachPart59",
"idErlbachPart60",
"idErlbachPart61",
"idErlbachPart62",
"idErlbachPart63",
"idErlbachPart64",
"idErlbachPart65",
"idErlbachPart66",
"idErlbachPart67",
"idErlbachPart68",
"idErlbachPart69",
"idErlbachPart70",
"idErlbachPart71",
"idErlbachPart72",
"idErlbachPart73",
"idErlbachPart74",
"idErlbachPart75",
"idErlbachPart76",
"idErlbachPart77",
"idErlbachPart78",
"idErlbachPart79",
"idErlbachWheel_LH",
"idErlbachWheel_LV",
"idErlbachWheel_RH",
"idErlbachWheel_RV",
"idErlbachPart84",
"idErlbachPart85",
"idErlbachPart86",
"idErlbachPart87",
"idErlbachPart88",
"idErlbachPart89",
"idErlbachPart90",
"idErlbachPart91",
"idErlbachPart92",
"idErlbachPart93",
},
Resources.LoadAll<Mesh>($"Model/ERLbach/02.01.98.0000-ERLbach_vereinfacht"),
new Material[94] //mat
{
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"), // front wheel arches
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/CarTire"), //wheel
Resources.Load<Material>($"Material/CarTire"), //wheel
Resources.Load<Material>($"Material/CarTire"), //wheel
Resources.Load<Material>($"Material/CarTire"), //wheel
Resources.Load<Material>($"Material/AluminiumBrushed"), //hood
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/AluminiumBrushed"), //front
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Default"),
Resources.Load<Material>($"Material/Universal"), // Grill Gatter
Resources.Load<Material>($"Material/Default"), //KZ land
Resources.Load<Material>($"Material/Universal"), // grill outline
Resources.Load<Material>($"Material/MetalMesh"), // grill mesh
},
new List<Port>[94] // ports
{
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
},
new List<string>[94] // colors
{
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
}, // wheel
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
}, // wheel
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
}, // wheel
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
}, // wheel
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
},
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
},
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
},
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
},
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
},
null,
new List<string>
{
"yellow",
"black",
"white",
"red",
"blue",
"green",
"orange",
"purple",
"pink",
},
null,
null,
null,
},
0 //skip the first mesh, which is the baseModel
);
}
}