Поскольку вы объявили функцию для возврата RandomNumber
!
В этой строке:
public static RandomNumber LoadPlayer() // This function is supposed to return RandomNumber
{
...
Coordinate_data data = formatter.Deserialize(stream) as Coordinate_data;
return data; // And returning Coordinate_data.
}
Похоже, вы новичок в C# или Unity, так что здесь про Совет: верьте тому, что говорит компилятор. Когда компилятор говорит Cannot implicitly convert type 'Coordinate_data' to 'RandomNumber'
, тогда должна быть ошибка, что вы используете тип Coordinate_data
, где предполагается использовать RandomNumber
.
Я не уверен, что это желаемое действие, но если вы хотите вернуть Coordinate_data
, а затем просто изменить его тип возврата, например:
public static Coordinate_data LoadPlayer()
BTW, Implicit type conversion
означает, что когда что-то не совпадает с , компилятор пытается интерпретировать его с помощью данный тип, например:
private void DoSomthingWithFloat(float x)
{
...
}
DoSomethingWithFloat(1);
В вышеприведенном примере параметр x
должен быть float
, но он вызывается со значением int
. поэтому компилятор неявно преобразует его в float
.
Но в вашем случае нет способа привести Coordinate_data
к RandomNumber
, поэтому компилятор выдал ошибку.