public GameObject Get_Best_Item() { // Get object with highest damage GameObject ret = null; float force = float.PositiveInfinity; foreach (GameObject obj in m_Dangers) { float item_force = Custom_Math_Utils.Calculate_Kinetic_Energy(obj); if (item_force < force) { ret = obj; force = item_force; } } return(ret); }
private void Update() { foreach (GameObject obj in m_Objects) { if (!m_Dangers.Contains(obj)) { if ((Custom_Math_Utils.Calculate_Kinetic_Energy(obj) >= GLOBAL_VALUES.SECURITY_ITEM_SPEED_THRESHOLD) && (obj.GetComponent <Item>().prev_owner != m_Manager)) { m_Dangers.Add(obj); } } } List <GameObject> to_delete = new List <GameObject>(m_Dangers); foreach (GameObject obj in to_delete) { Item l_item = obj.GetComponent <Item>(); if (l_item.BeingCarried()) { m_Dangers.Remove(obj); } } }