private Transform GetStrongestDetectedEnergy() { Transform t = null; Transform tOut; if (EnergyHandler.GetStrongestEnergyInCone(c.DetectionOrigin1.position, c.DetectionOrigin1.forward, c.DetectionRange, c.DetectionRadius, out tOut)) { t = tOut; } if (EnergyHandler.GetStrongestEnergyInCone(c.DetectionOrigin2.position, c.DetectionOrigin2.forward, c.DetectionRange, c.DetectionRadius, out tOut)) { if (t == null) { t = tOut; } else { IEnergyObject i = t.GetComponent <IEnergyObject>(); IEnergyObject iOut = tOut.GetComponent <IEnergyObject>(); if (iOut.GetEnergyAmount() > i.GetEnergyAmount()) { t = tOut; } } } return(t); }
public static bool IsTransformInEnergyArea(Transform t, out EnergyArea heatArea) { heatArea = null; for (int i = 0; i < instance.energyObjects.Count; i++) { IEnergyObject current = instance.energyObjects[i]; if (current is EnergyArea) { EnergyArea area = current as EnergyArea; if (Vector3.Distance(t.position, instance.energyObjects[i].GetTransform().position) < area.Size) { heatArea = area; return(true); } } } return(false); }
public static void RemoveEnergyObject(IEnergyObject energyObject) { instance.energyObjects.Remove(energyObject); }
public static void AddEnergyObject(IEnergyObject energyObject) { instance.energyObjects.Add(energyObject); }