Files
2026-06-04 00:55:54 +03:00

76 lines
1.9 KiB
C#

using UnityEngine;
public class DensityCube : MonoBehaviour
{
public float mass;
public float density;
public float cubeVolume;
public Material[] cubeColorMaterials;
public enum CubeMaterial
{
beton,
iron,
aluminum,
copper,
silver,
gold
}
public CubeMaterial cubeMaterial;
private void Start()
{
SetCubeDensity();
SetCubeMass();
}
private void OnValidate()
{
SetCubeDensity();
SetCubeMass();
}
private void SetCubeDensity()
{
switch (cubeMaterial)
{
case CubeMaterial.beton:
density = 2.4f;
GetComponent<Renderer>().material = cubeColorMaterials[0];
break;
case CubeMaterial.iron:
density = 7.85f;
GetComponent<Renderer>().material = cubeColorMaterials[1];
break;
case CubeMaterial.aluminum:
density = 2.7f;
GetComponent<Renderer>().material = cubeColorMaterials[2];
break;
case CubeMaterial.copper:
density = 8.96f;
GetComponent<Renderer>().material = cubeColorMaterials[3];
break;
case CubeMaterial.silver:
density = 10.5f;
GetComponent<Renderer>().material = cubeColorMaterials[4];
break;
case CubeMaterial.gold:
density = 19.3f;
GetComponent<Renderer>().material = cubeColorMaterials[5];
break;
}
}
private void SetCubeMass()
{
float cubeWidth = transform.localScale.x;
float cubeHeight = transform.localScale.y;
float cubeLength = transform.localScale.z;
cubeVolume = cubeWidth * cubeHeight * cubeLength;
mass = cubeVolume * density;
}
}