1
0
AxibugEmuOnline/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/UploadingState.cs

28 lines
967 B
C#

using AxibugEmuOnline.Client.Tools;
namespace AxibugEmuOnline.Client
{
public class UploadingState : SimpleFSM<SaveFile>.State
{
public override void OnEnter(SimpleFSM<SaveFile>.State preState)
{
Host.CloudAPI.OnUploadedSavData += Api_OnUploadedSavData;
Host.GetSavData(out byte[] savData, out byte[] screenData);
Host.CloudAPI.SendUpLoadGameSav(Host.RomID, Host.SlotIndex, Host.Sequecen, savData, screenData);
}
public override void OnExit(SimpleFSM<SaveFile>.State nextState)
{
Host.CloudAPI.OnUploadedSavData -= Api_OnUploadedSavData;
}
private void Api_OnUploadedSavData(int romID, int slotIndex, AxibugProtobuf.Protobuf_Mine_GameSavInfo savInfo)
{
if (Host.RomID != romID) return;
if (Host.SlotIndex != slotIndex) return;
FSM.ChangeState<SyncedState>();
}
}
}