示例#1
0
 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;
             }
         }
     }
 }
示例#2
0
    private PortalTrap PickRandomPortal()
    {
        if (links.Length == 0)
        {
            return(null);
        }
        PortalTrap other = links[Random.Range(0, links.Length - 1)];

        return(other);
    }