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().material = cubeColorMaterials[0]; break; case CubeMaterial.iron: density = 7.85f; GetComponent().material = cubeColorMaterials[1]; break; case CubeMaterial.aluminum: density = 2.7f; GetComponent().material = cubeColorMaterials[2]; break; case CubeMaterial.copper: density = 8.96f; GetComponent().material = cubeColorMaterials[3]; break; case CubeMaterial.silver: density = 10.5f; GetComponent().material = cubeColorMaterials[4]; break; case CubeMaterial.gold: density = 19.3f; GetComponent().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; } }