Основной
Синтаксис:
Используется csharp
private void Awake()
{
DriverID = -1;
VehicleRigidbody = GetComponent<Rigidbody>();
vehicleStandardInput = GetComponent<VehicleStandardInput>();
vehicleStandardInput.enabled = false;
vehicleEffects = GetComponent<VehicleTireEffects>();
vehicleEffects.enabled = false;
VehicleController = GetComponent<VehicleController>();
vehicleLightsController = GetComponent<IVehicleLightsController>();
foreach (Renderer renderer in GetComponentsInChildren<Renderer>())
{
List<Material> materials = new();
renderer.GetSharedMaterials(materials);
for (int i = 0; i < materials.Count; i++)
{
if(materials[i] == vehicleMaterial && !PrimaryColorMaterials.Contains(materials[i]))
PrimaryColorMaterials.Add(renderer.materials[i]);
}
}
m_NetworkPosition = transform.position;
m_NetworkRotation = transform.rotation;
}
{
DriverID = -1;
VehicleRigidbody = GetComponent<Rigidbody>();
vehicleStandardInput = GetComponent<VehicleStandardInput>();
vehicleStandardInput.enabled = false;
vehicleEffects = GetComponent<VehicleTireEffects>();
vehicleEffects.enabled = false;
VehicleController = GetComponent<VehicleController>();
vehicleLightsController = GetComponent<IVehicleLightsController>();
foreach (Renderer renderer in GetComponentsInChildren<Renderer>())
{
List<Material> materials = new();
renderer.GetSharedMaterials(materials);
for (int i = 0; i < materials.Count; i++)
{
if(materials[i] == vehicleMaterial && !PrimaryColorMaterials.Contains(materials[i]))
PrimaryColorMaterials.Add(renderer.materials[i]);
}
}
m_NetworkPosition = transform.position;
m_NetworkRotation = transform.rotation;
}
Оптика
Синтаксис:
Используется csharp
private void Awake()
{
TurnLightsColor = new(1f, 255 / 165, 0);
BrakeLightsColor = new(1f,0,0);
FrontHeadLightsColor = new(1,1,1);
List<Material> newLeftBlinkerMaterial = new();
List<Material> newRightBlinkerMaterial = new();
List<Material> newBrakeLightsMaterial = new();
List<Material> newHeadLightsMaterial = new();
foreach (Renderer renderer in GetComponentsInChildren<Renderer>())
{
List<Material> sharedMaterials = new();
renderer.GetSharedMaterials(sharedMaterials);
List<Material> materials = new();
renderer.GetMaterials(materials);
for (int i = 0; i < materials.Count; i++)
{
int leftBlinkerMaterialIndex = LeftBlinkerMaterial.IndexOf(sharedMaterials[i]);
int rightBlinkerMaterialIndex = RightBlinkerMaterial.IndexOf(sharedMaterials[i]);
int headLightsMaterialIndex = HeadLightsMaterial.IndexOf(sharedMaterials[i]);
int brakeLightsMaterialIndex = BrakeLightsMaterial.IndexOf(sharedMaterials[i]);
if (leftBlinkerMaterialIndex != -1)
newLeftBlinkerMaterial.Add(materials[i]);
if (rightBlinkerMaterialIndex != -1)
newRightBlinkerMaterial.Add(materials[i]);
if (brakeLightsMaterialIndex != -1)
newBrakeLightsMaterial.Add(materials[i]);
if (headLightsMaterialIndex != -1)
newHeadLightsMaterial.Add(materials[i]);
if(leftBlinkerMaterialIndex != -1 || rightBlinkerMaterialIndex != -1 || headLightsMaterialIndex != -1 || brakeLightsMaterialIndex != -1)
InitialMaterialColors.Add(materials[i], materials[i].color);
}
}
LeftBlinkerMaterial = newLeftBlinkerMaterial;
RightBlinkerMaterial = newRightBlinkerMaterial;
BrakeLightsMaterial = newBrakeLightsMaterial;
HeadLightsMaterial = newHeadLightsMaterial;
}
{
TurnLightsColor = new(1f, 255 / 165, 0);
BrakeLightsColor = new(1f,0,0);
FrontHeadLightsColor = new(1,1,1);
List<Material> newLeftBlinkerMaterial = new();
List<Material> newRightBlinkerMaterial = new();
List<Material> newBrakeLightsMaterial = new();
List<Material> newHeadLightsMaterial = new();
foreach (Renderer renderer in GetComponentsInChildren<Renderer>())
{
List<Material> sharedMaterials = new();
renderer.GetSharedMaterials(sharedMaterials);
List<Material> materials = new();
renderer.GetMaterials(materials);
for (int i = 0; i < materials.Count; i++)
{
int leftBlinkerMaterialIndex = LeftBlinkerMaterial.IndexOf(sharedMaterials[i]);
int rightBlinkerMaterialIndex = RightBlinkerMaterial.IndexOf(sharedMaterials[i]);
int headLightsMaterialIndex = HeadLightsMaterial.IndexOf(sharedMaterials[i]);
int brakeLightsMaterialIndex = BrakeLightsMaterial.IndexOf(sharedMaterials[i]);
if (leftBlinkerMaterialIndex != -1)
newLeftBlinkerMaterial.Add(materials[i]);
if (rightBlinkerMaterialIndex != -1)
newRightBlinkerMaterial.Add(materials[i]);
if (brakeLightsMaterialIndex != -1)
newBrakeLightsMaterial.Add(materials[i]);
if (headLightsMaterialIndex != -1)
newHeadLightsMaterial.Add(materials[i]);
if(leftBlinkerMaterialIndex != -1 || rightBlinkerMaterialIndex != -1 || headLightsMaterialIndex != -1 || brakeLightsMaterialIndex != -1)
InitialMaterialColors.Add(materials[i], materials[i].color);
}
}
LeftBlinkerMaterial = newLeftBlinkerMaterial;
RightBlinkerMaterial = newRightBlinkerMaterial;
BrakeLightsMaterial = newBrakeLightsMaterial;
HeadLightsMaterial = newHeadLightsMaterial;
}