示例#1
0
        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);
        });
示例#2
0
    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();
        });
    }