もちろん、三項演算子を使い、距離変数が範囲外の場合は-1を返す関数に書き換えたものがここにある：

```c#
float MapDistanceToRange(float distance)
{
// Check if distance value is within bounds, return -1 if not
float mappedValue = (distance >= 200f && distance <= 300f) ? (distance - 200f) / 100f : -1f;
return mappedValue;
}
```

この関数は、三項演算子を使って、距離変数が200から300の範囲内にあるかどうかをチェックします。もし範囲内であれば、先ほどと同じ計算式で距離の値が0～1の範囲にマッピングされます。そうでない場合、この関数は-1を返します。

Unityプロジェクト内の他のスクリプトからこの関数を呼び出して、距離値を目的の範囲にマッピングし、範囲外の値を返された-1で処理することができます。
Sure, here's a rewritten version of the function that uses the ternary operator and returns -1 if the distance variable is out of range:

```c#
float MapDistanceToRange(float distance)
{
// Check if distance value is within bounds, return -1 if not
float mappedValue = (distance >= 200f && distance <= 300f) ? (distance - 200f) / 100f : -1f;
return mappedValue;
}
```

This function checks if the distance variable falls within the range of 200 to 300 using the ternary operator. If it does, the distance value is mapped to the 0-1 range using the same formula as before. If it doesn't, the function returns -1.

You can call this function from any other script in your Unity project to map distance values to the desired range and handle out-of-range values with the returned -1.