Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 public static void RemoveEnergyObject(IEnergyObject energyObject)
 {
     instance.energyObjects.Remove(energyObject);
 }
Exemplo n.º 4
0
 public static void AddEnergyObject(IEnergyObject energyObject)
 {
     instance.energyObjects.Add(energyObject);
 }