protected void Awake() { LoadMeshFormula(); InitVertices(); InitTopVertices(); m_compound = new Compound(m_startElement, m_currentVolume); m_renderer = GetComponent <Renderer>(); InitHashCodes(); UpdateHeight(); UpdateRenderer(); m_baseFlowFactor = m_topRadius * m_topRadius / m_fullVolume; //Debug.Log(name + " : " + m_baseFlowFactor * m_topRadius); InitSound(); m_heatManager = GetComponentInParent <HeatableObject>(); if (m_stack) { m_baseStackSize = m_stack.localScale; m_stack.gameObject.SetActive(false); } }
private void GiveHeatToObject(HeatableObject heatedObject) { float temperatureDelta = m_temperature - heatedObject.temperature; float exchangedHeat = temperatureDelta * heatedObject.coefficientOfThermalCondictivity * m_coefficientOfThermalCondictivity * Time.deltaTime; m_temperature -= exchangedHeat; heatedObject.temperature += exchangedHeat; }
private void OnTriggerExit(Collider other) { HeatableObject target = other.GetComponent <HeatableObject>(); if (target == null) { return; } m_heatedObjects.Remove(target); }
private void OnTriggerEnter(Collider other) { if (other.gameObject == m_bidule) { m_biduleIsClose = true; return; } HeatableObject agitatedObject = other.gameObject.GetComponent <HeatableObject>(); if (agitatedObject != null) { m_agitatedObjects.Add(agitatedObject); } }
private void OnTriggerExit(Collider other) { if (other.gameObject == m_bidule) { m_biduleIsClose = false; m_biduleRigidbody.useGravity = true; m_biduleRigidbody.isKinematic = false; m_biduleCollider.isTrigger = false; return; } HeatableObject agitatedObject = other.gameObject.GetComponent <HeatableObject>(); if (agitatedObject != null) { agitatedObject.agitation = 0; m_agitatedObjects.Remove(agitatedObject); } }