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); }