а. Сцена самой игры, в конце раунда идет подсчет монет
б. Сцена магазинчика, где можно спустить выигрыш
И тут самая настоящая свистопляска с тем, чтобы изменять эти самые монеты и там и тут, то есть нафармив монет в сцене игры я иду в сцену с магазином, там все круто, в текстовом поле высвечивается именно общее количество набранных за несколько раундов денег. Однако ж! после шопинга, я не знаю, как мне передать новое значение в конструктор, который относится к сцене с игрой.
Таки что, народ, кто возьмется объяснить, могут ли конструкторы взаимодействовать между собой каким-нибудь образом? Я в принципе-то догадываюсь, что это нужно оптимизировать (см. Код), но понятия не имею как :с
Туточки методы сохранения и загрузки:
Синтаксис:
Используется csharp
public static void SaveValues(GameController GM)
{
BinaryFormatter formatter = new BinaryFormatter();
string path = Application.persistentDataPath + "/gm.gtfo";
FileStream stream = new FileStream(path, FileMode.Create);
GameData data = new GameData(GM);
formatter.Serialize(stream, data);
stream.Close();
}
public static GameData LoadValues()
{
string path = Application.persistentDataPath + "/gm.gtfo";
if (File.Exists(path))
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream stream = new FileStream(path, FileMode.Open);
GameData data = formatter.Deserialize(stream) as GameData;
stream.Close();
return data;
}
else
{
return null;
}
}
public static void SaveMoney(MenueController MC)
{
BinaryFormatter formatter = new BinaryFormatter();
string path = Application.persistentDataPath + "/money.gtfo";
FileStream stream = new FileStream(path, FileMode.Create);
GameData data = new GameData(MC);
formatter.Serialize(stream, data);
stream.Close();
}
public static GameData LoadMoney()
{
string path = Application.persistentDataPath + "/money.gtfo";
if (File.Exists(path))
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream stream = new FileStream(path, FileMode.Open);
GameData data = formatter.Deserialize(stream) as GameData;
stream.Close();
return data;
}
else
{
return null;
}
}
{
BinaryFormatter formatter = new BinaryFormatter();
string path = Application.persistentDataPath + "/gm.gtfo";
FileStream stream = new FileStream(path, FileMode.Create);
GameData data = new GameData(GM);
formatter.Serialize(stream, data);
stream.Close();
}
public static GameData LoadValues()
{
string path = Application.persistentDataPath + "/gm.gtfo";
if (File.Exists(path))
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream stream = new FileStream(path, FileMode.Open);
GameData data = formatter.Deserialize(stream) as GameData;
stream.Close();
return data;
}
else
{
return null;
}
}
public static void SaveMoney(MenueController MC)
{
BinaryFormatter formatter = new BinaryFormatter();
string path = Application.persistentDataPath + "/money.gtfo";
FileStream stream = new FileStream(path, FileMode.Create);
GameData data = new GameData(MC);
formatter.Serialize(stream, data);
stream.Close();
}
public static GameData LoadMoney()
{
string path = Application.persistentDataPath + "/money.gtfo";
if (File.Exists(path))
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream stream = new FileStream(path, FileMode.Open);
GameData data = formatter.Deserialize(stream) as GameData;
stream.Close();
return data;
}
else
{
return null;
}
}
А туточки сами данные, которыми я располагаю:
Синтаксис:
Используется csharp
public GameData(CharacterController CharControl)
{
Character = CharControl.idchar;
}
public GameData(MenueController MC)
{
ShopMoney = MC.MoneyShop;
}
{
Character = CharControl.idchar;
}
public GameData(MenueController MC)
{
ShopMoney = MC.MoneyShop;
}