Exemplo n.º 1
0
 void mainGameComponent_Finished(object sender, EventArgs e)
 {
     mainGameComponent.MovieFadeOut();
     fadeOutAction = FadeOutAction.SendNetworkData;
     fadeOut       = true;
     black.Hidden  = false;
     black.Alpha   = 0;
 }
Exemplo n.º 2
0
 void pd_Replayed(object sender, EventArgs e)
 {
     paused        = false;
     fadeOutAction = FadeOutAction.Replay;
     fadeOut       = true;
     black.Hidden  = false;
     black.Alpha   = 0;
 }
Exemplo n.º 3
0
 void pd_Retryed(object sender, EventArgs e)
 {
     paused        = false;
     fadeOutAction = FadeOutAction.Retry;
     fadeOut       = true;
     black.Hidden  = false;
     black.Alpha   = 0;
     isResult      = false;
     if (client != null)
     {
         SendScoreInfo();
     }
 }
Exemplo n.º 4
0
        public override void Update(InputInfoBase inputInfo, MouseInfo mouseInfo)
        {
            ProcessNetworkData();
            if (fadeOut)
            {
                if (black.Alpha >= 1)
                {
                    black.Alpha = 1;
                    switch (fadeOutAction)
                    {
                    case FadeOutAction.WaitFinish:
                        waitFinishCount++;
                        if (waitFinishCount % 10 == 9)
                        {
                            client.Write(MessagePackSerializer.Serialize(new SendResultNetworkData
                            {
                                Result = new Result
                                {
                                    Score      = mainGameComponent.Score,
                                    CoolCount  = mainGameComponent.CoolCount,
                                    GoodCount  = mainGameComponent.GoodCount,
                                    SafeCount  = mainGameComponent.SafeCount,
                                    SadCount   = mainGameComponent.SadCount,
                                    WorstCount = mainGameComponent.WorstCount,
                                    MaxCombo   = mainGameComponent.MaxCombo
                                }
                            }));
                        }
                        break;

                    case FadeOutAction.SendNetworkData:
                        client.Write(MessagePackSerializer.Serialize(new SendResultNetworkData
                        {
                            Result = new Result
                            {
                                Score      = mainGameComponent.Score,
                                CoolCount  = mainGameComponent.CoolCount,
                                GoodCount  = mainGameComponent.GoodCount,
                                SafeCount  = mainGameComponent.SafeCount,
                                SadCount   = mainGameComponent.SadCount,
                                WorstCount = mainGameComponent.WorstCount,
                                MaxCombo   = mainGameComponent.MaxCombo
                            }
                        }));
                        fadeOutAction = FadeOutAction.WaitFinish;
                        break;
                    }
                }
                else
                {
                    black.Alpha += 0.05f;
                    if (black.Alpha >= 1)
                    {
                        black.Alpha = 1;
                    }
                }
            }

            userScoreListComponent.Update();
            if (ready)
            {
                if (!paused)
                {
                    int lastWorstCount = mainGameComponent.GameResultManager.WorstCount;
                    mainGameComponent.Update(inputInfo, mouseInfo);

                    if (gameRule.ItemAvailable && gameRule.ItemSupplyType == ItemSupplyType.ComboWorstCount)
                    {
                        int currentWorstCount = mainGameComponent.GameResultManager.WorstCount;
                        int count             = currentWorstCount / gameRule.ItemSupplyWorstCount - lastWorstCount / gameRule.ItemSupplyWorstCount;
                        for (int i = 0; i < count; i++)
                        {
                            itemOverrayComponent.AddItem(lastMarkPos);
                        }
                    }
                }
            }

            if (paused)
            {
                if (pauseMenu != null)
                {
                    pauseMenu.Update(inputInfo);
                }
            }
            else
            {
                if (lastStartPressCount >= 60)
                {
                    paused |= pauseMenu != null;
                }

                if (inputInfo.IsReleased(ButtonType.Start) && lastStartPressCount < 60)
                {
                    if (itemManagerComponent.CanUse)
                    {
                        UseItem(itemManagerComponent.Use());
                    }
                }
            }

            foreach (ItemUseEventArgs args in itemManagerComponent.EnumerateItem())
            {
                if (ItemUseManager.Manager.IsAutoUse(args.ItemType))
                {
                    UseItem(args.ItemType);
                    args.Use = true;
                }
            }

            itemManagerComponent.Update();
            itemOverrayComponent.Update();
            config.Update();
            filterSprite.Update();
            base.Update();
            CheckChange();
            lastStartPressCount = inputInfo.GetPressingFrame(ButtonType.Start);
            if (expansionClient != null)
            {
                var currentTime = mainGameComponent.MoviePosition;
                expansionClient.Send(new UpdateInfo
                {
                    Score       = mainGameComponent.Score,
                    PlayerId    = selfUser.ID,
                    CurrentTime = currentTime,
                    Life        = mainGameComponent.GameResultManager.CurrentLife,
                    CoolCount   = mainGameComponent.CoolCount,
                    GoodCount   = mainGameComponent.GoodCount,
                    SafeCount   = mainGameComponent.SafeCount,
                    SadCount    = mainGameComponent.SadCount,
                    WorstCount  = mainGameComponent.WorstCount,
                    MaxCombo    = mainGameComponent.MaxCombo
                });
                foreach (var user in userPlayStateList)
                {
                    expansionClient.Send(new UpdateInfo
                    {
                        Score       = user.Score,
                        PlayerId    = user.User.ID,
                        CurrentTime = currentTime,
                        Life        = user.Life
                    });
                }
            }
        }
Exemplo n.º 5
0
        public override void Update(InputInfoBase inputInfo, MouseInfo mouseInfo)
        {
            if (fadeOut)
            {
                if (black.Alpha >= 1)
                {
                    black.Alpha = 1;
                    switch (fadeOutAction)
                    {
                    case FadeOutAction.Retry:
                        mainGameComponent.Retry();
                        OnAfterRetry();
                        break;

                    case FadeOutAction.Replay:
                        mainGameComponent.Replay();
                        OnAfterReplay();
                        break;

                    case FadeOutAction.SetResult:
                        ShowResult();
                        break;
                    }
                    fadeOutAction = FadeOutAction.None;
                    black.Hidden  = true;
                    fadeOut       = false;
                }
                else
                {
                    black.Alpha += 0.05f;
                    if (black.Alpha >= 1)
                    {
                        black.Alpha = 1;
                    }
                }
            }

            if (TweetFinish)
            {
                TweetFinish = false;
                OnTweetFinish();
            }
            if (reviewFinish)
            {
                reviewFinish = false;
                OnReviewFinish();
            }

            mainGameComponent.Update(inputInfo, mouseInfo);
            base.Update();

            if (!isResult && client != null && !mainGameComponent.Replaying)
            {
                client.Send(new UpdateInfo
                {
                    CurrentTime = mainGameComponent.MoviePosition,
                    CoolCount   = mainGameComponent.CoolCount,
                    GoodCount   = mainGameComponent.GoodCount,
                    SafeCount   = mainGameComponent.SafeCount,
                    SadCount    = mainGameComponent.SadCount,
                    WorstCount  = mainGameComponent.WorstCount,
                    MaxCombo    = mainGameComponent.MaxCombo,
                    Score       = mainGameComponent.Score,
                    Life        = mainGameComponent.GameResultManager.CurrentLife
                });
            }
        }