private void OnTriggerExit2D(Collider2D other)
 {
     if (other.tag == "InteractiveObject")
     {
         iInteractiveObject triggeredObject = other.gameObject.GetComponent <iInteractiveObject>();
         if (triggeredObject != null)
         {
             //other.gameObject.GetInstanceID()
             if (triggeringObjects.ContainsKey(other.gameObject.GetInstanceID()))
             {
                 triggeredObject.CharExitedTrigger(this);
                 triggeringObjects.Remove(other.gameObject.GetInstanceID());
             }
         }
     }
 }
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "InteractiveObject")
     {
         iInteractiveObject triggeredObject = other.gameObject.GetComponent <iInteractiveObject>();
         //if (other.gameObject.TryGetComponent<iInteractiveObject>(out triggeredObject))
         if (triggeredObject != null)
         {
             if (!triggeringObjects.ContainsKey(other.gameObject.GetInstanceID()))
             {
                 triggeredObject.CharEnteredTrigger(this);
                 triggeringObjects.Add(other.gameObject.GetInstanceID(), triggeredObject);
             }
         }
     }
 }
    public bool GotObject(iInteractiveObject nObject)
    {
        switch (nObject.GetMyType())
        {
        case IngameObjectType.BlueKey:
            if (!hasBlueKey)
            {
                hasBlueKey = true;
            }
            else
            {
                return(false);
            }
            break;

        case IngameObjectType.RedKey:
            if (!hasRedKey)
            {
                hasRedKey = true;
            }
            else
            {
                return(false);
            }
            break;

        case IngameObjectType.YellowKey:
            if (!hasYellowKey)
            {
                hasYellowKey = true;
            }
            else
            {
                return(false);
            }
            break;

        default:
            return(false);
        }
        return(true);
    }