protected override void OnTrapHit(CharacterManager character) { if (character == lastCharacter && lastPortalUse > Time.time - characterFudgeDelay) { return; } if (isArmed) { Vector2 differnce = transform.position - character.transform.position; for (int i = 0; i < links.Length; i++) { PortalTrap nextPortal = links[i]; if (nextPortal == this) { continue; } if (nextPortal.isArmed) { lastPortalUse = Time.time; nextPortal.lastPortalUse = Time.time; lastCharacter = character; character.transform.position = (Vector2)nextPortal.transform.position + differnce * 1.2f; } } } }
private PortalTrap PickRandomPortal() { if (links.Length == 0) { return(null); } PortalTrap other = links[Random.Range(0, links.Length - 1)]; return(other); }