public static WarpBehavior GetWarpingLocation(string location)
 {
     if (!WarpingLocations.ContainsKey(location))
     {
         throw new WarpingLocationException(location);
     }
     else
     {
         return(WarpingLocations[location]);
     }
 }
    IEnumerator WarpToPosition(GameObject toWarp, string warpingTo)
    {
        Debug.Log("Warping to new Warp Location...");
        SetWarpingStatus(warpingTo, toWarp.tag);
        toWarp.CancelRigidBodyVelocity();
        yield return(new WaitForSeconds(1));

        if (WarpingLocations.ContainsKey(warpingTo))
        {
            toWarp.transform.position = WarpingLocations[warpingTo].transform.position;
        }
    }
 void AddToWarpingLocations()
 {
     if (WarpingLocations == null)
     {
         WarpingLocations = new Dictionary <string, WarpBehavior>();
     }
     if (!WarpingLocations.ContainsKey(warpTag) && warpTag != "")
     {
         WarpingLocations.Add(warpTag, this);
     }
     else
     {
         if (!WarpingLocations.ContainsKey(name))
         {
             WarpingLocations.Add(name, this);
             warpTag = name;
         }
     }
 }