void OnTriggerExit(Collider other) { var traveller = other.GetComponent <PortalTraveller> (); if (traveller && trackedTravellers.Contains(traveller)) { /*if (traveller.readyToTeleport)*/ removeTravellFromList(traveller); } CopeJoyStick joyStick = other.gameObject.GetComponentInParent <CopeJoyStick>(); if (joyStick != null) { if (joyStick.clones.ContainsKey(gameObject.name)) { //Debug.Log("Delete " + gameObject.name); CopeJoyStick.Clone clone; joyStick.clones.TryGetValue(gameObject.name, out clone); Destroy(clone.transf.gameObject); joyStick.clones.Remove(gameObject.name); } } }
void OnTriggerEnter(Collider other) { var traveller = other.GetComponent <PortalTraveller> (); if ((traveller) && ((traveller.graphicsClone == null) || (!traveller.graphicsClone.activeSelf))) { OnTravellerEnterPortal(traveller); } // могу вызвать одителя CopeJoyStick joyStick = other.gameObject.GetComponentInParent <CopeJoyStick>(); if (joyStick != null) { if (!joyStick.clones.ContainsKey(gameObject.name)) { // Debug.Log("Add "+gameObject.name); GameObject clone = Instantiate(joyStick.gameObject, linkedPortal.gameObject.transform.position - transform.position + joyStick.transform.position, joyStick.transform.rotation); Destroy(clone.GetComponent <CopeJoyStick>()); joyStick.clones.Add(gameObject.name, new CopeJoyStick.Clone(clone.transform, linkedPortal.gameObject.transform.position - transform.position)); } } }