public IEnumerator LoadMuv() => UniTask.ToCoroutine(async() => { await LoadEss(); var finalizeResult = (new FinalizeResult() { LastEaterTurnId = 1, PersonalFullUserInfo = personalInfo, RoomXpReport = new Basra.Common.RoomXpReport() { Basra = 0, BigBasra = 30, Competition = 108, GreatEat = 250, }, UserRoomStatus = new List <UserRoomStatus>() { new UserRoomStatus() { Basras = 0, BigBasras = 1, WinMoney = 100, EatenCards = 42, }, new UserRoomStatus() { Basras = 1, BigBasras = 0, WinMoney = 0, EatenCards = 10, }, new UserRoomStatus() { Basras = 1, BigBasras = 0, WinMoney = 0, EatenCards = 10, }, new UserRoomStatus() { Basras = 1, BigBasras = 0, WinMoney = 0, EatenCards = 10, }, } }); await FinalizeController.Construct(canvas, new RoomSettings(0, 0, fullUserInfos.GetRange(0, 4), 0), finalizeResult); await UniTask.Delay(9999999); });
public void FinalizeRoom(FinalizeResult finalizeResult) { UniTask.Create(async() => { //wait for the last throw operation, this can be done better await UniTask.Delay(1200); await CoreGameplay.I.EatLast(finalizeResult.LastEaterTurnId); // FinalizeController.I. // DestroyModuleGroup(); // _finalizeFactory.Create(finalizeResult, _roomSettings); RoomUserView.Manager.I.RoomUserViews.ForEach(ruv => Object.Destroy(ruv.gameObject)); Object.FindObjectsOfType <PlayerBase>().ForEach(obj => Object.Destroy(obj.gameObject)); Object.Destroy(Object.FindObjectOfType <ChatSystem>().gameObject); Object.Destroy(PrizeView.I.gameObject); //immmm this will cause issues on the running funs like decreaseMoneyAimTime and events //change indie values instead of rewrite the whole object finalizeResult.PersonalFullUserInfo.Followers = Repository.I.PersonalFullInfo.Followers; finalizeResult.PersonalFullUserInfo.Followings = Repository.I.PersonalFullInfo.Followings; Repository.I.PersonalFullInfo = finalizeResult.PersonalFullUserInfo; Repository.I.PersonalFullInfo.DecreaseMoneyAimTimeLeft().Forget(); //todo you MUST edit each value on it's own now?, this is about replacing the whole //data object, but it seems fine FinalizeController.Construct(RoomReferences.I.Canvas, RoomSettings.I, finalizeResult) .Forget(); }); }