| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- #include "GamerProfile.h"
- SaveGamerProfile::SaveGamerProfile()
- {
- block = false;
- }
- //Инициализировать объект
- bool SaveGamerProfile::Create(MOPReader & reader)
- {
- successful.Init(reader);
- failed.Init(reader);
- return true;
- }
- //Активировать/деактивировать объект
- void SaveGamerProfile::Activate(bool isActive)
- {
- if(!isActive)
- {
- LogicDebug("Deactivate: ignore action");
- return;
- }
- if(block)
- {
- LogicDebugError("Recursive activate don't is possible, try reactivate this object through delay");
- return;
- }
- block = true;
- if(LiveService().Data_Save())
- {
- // Nikita: для отложенного сейва может быть ошибка позже - будем ждать завершения.
- if( LiveService().Data_SaveLoadIsProcessing() )
- {
- SetUpdate(&SaveGamerProfile::Update,ML_TRIGGERS+100);
- return;
- }
- LogicDebug("Activate: save successful");
- successful.Activate(Mission(), false);
- }else{
- LogicDebug("Activate: save failed");
- failed.Activate(Mission(), false);
- }
- block = false;
- }
- // ждать завершения отложенной записи
- void _cdecl SaveGamerProfile::Update(float dltTime, long level)
- {
- // еще не закончилась запись
- if( LiveService().Data_SaveLoadIsProcessing() )
- return;
- // проверяем на успех записи
- if(LiveService().Data_SaveLoadIsSuccessful())
- {
- LogicDebug("Activate: save successful");
- successful.Activate(Mission(), false);
- }else{
- LogicDebug("Activate: save failed");
- failed.Activate(Mission(), false);
- }
- // снимаем блокировку и ожидание на каждом кадре
- block = false;
- DelUpdate(&SaveGamerProfile::Update);
- }
- MOP_BEGINLISTG(SaveGamerProfile, "Gamer profile - Save", '1.00', 0, "Managment")
- MOP_MISSIONTRIGGERG("Successful", "s.")
- MOP_MISSIONTRIGGERG("Failed", "f.")
- MOP_ENDLIST(SaveGamerProfile)
- SaveOptions::SaveOptions()
- {
- block = false;
- }
- //Инициализировать объект
- bool SaveOptions::Create(MOPReader & reader)
- {
- successful.Init(reader);
- failed.Init(reader);
- return true;
- }
- //Активировать/деактивировать объект
- void SaveOptions::Activate(bool isActive)
- {
- if(!isActive)
- {
- LogicDebug("Deactivate: ignore action");
- return;
- }
- if(block)
- {
- LogicDebugError("Recursive activate don't is possible, try reactivate this object through delay");
- return;
- }
- block = true;
- if(LiveService().Option_Save())
- {
- // Nikita: для отложенного сейва может быть ошибка позже - будем ждать завершения.
- if( LiveService().Data_SaveLoadIsProcessing() )
- {
- SetUpdate(&SaveOptions::Update,ML_TRIGGERS+100);
- return;
- }
- LogicDebug("Activate: save successful");
- successful.Activate(Mission(), false);
- }else{
- LogicDebug("Activate: save failed");
- failed.Activate(Mission(), false);
- }
- block = false;
- }
- // ждать завершения отложенной записи
- void _cdecl SaveOptions::Update(float dltTime, long level)
- {
- // еще не закончилась запись
- if( LiveService().Data_SaveLoadIsProcessing() )
- return;
- // проверяем на успех записи
- if(LiveService().Data_SaveLoadIsSuccessful())
- {
- LogicDebug("Activate: save successful");
- successful.Activate(Mission(), false);
- }else{
- LogicDebug("Activate: save failed");
- failed.Activate(Mission(), false);
- }
- // снимаем блокировку и ожидание на каждом кадре
- block = false;
- DelUpdate(&SaveGamerProfile::Update);
- }
- MOP_BEGINLISTG(SaveOptions, "Save options", '1.00', 0, "Managment")
- MOP_MISSIONTRIGGERG("Successful", "s.")
- MOP_MISSIONTRIGGERG("Failed", "f.")
- MOP_ENDLIST(SaveOptions)
- LoadGamerProfile::LoadGamerProfile()
- {
- block = false;
- }
- //Инициализировать объект
- bool LoadGamerProfile::Create(MOPReader & reader)
- {
- successful.Init(reader);
- failed.Init(reader);
- return true;
- }
- //Активировать/деактивировать объект
- void LoadGamerProfile::Activate(bool isActive)
- {
- if(!isActive)
- {
- LogicDebug("Deactivate: ignore action");
- return;
- }
- if(block)
- {
- LogicDebugError("Recursive activate don't is possible, try reactivate this object through delay");
- return;
- }
- block = true;
- if(LiveService().Data_Load())
- {
- LogicDebug("Activate: load successful");
- successful.Activate(Mission(), false);
- }else{
- LogicDebug("Activate: load failed");
- failed.Activate(Mission(), false);
- }
- block = false;
- }
- MOP_BEGINLISTG(LoadGamerProfile, "Gamer profile - Load", '1.00', 0, "Managment")
- MOP_MISSIONTRIGGERG("Successful", "s.")
- MOP_MISSIONTRIGGERG("Failed", "f.")
- MOP_ENDLIST(LoadGamerProfile)
|