Ejemplo n.º 1
0
    IEnumerator BeginGame()
    {
        UIManager.Instance.pauseBtn.GetComponent <Animator>().Play("Hide");

        yield return(new WaitForSecondsRealtime(0.9f));

        targetMusicCutoff = 22000;
        targetMusicVolume = 0;

        ScoreSystem.Instance.lockScore = false;
        ScoreSystem.Instance.SetScore(0);
        ScoreSystem.Instance.lockScore = true;

        UIManager.Instance.highScoreModalController.gameObject.SetActive(false);
        UIManager.Instance.blackCutoutController.FadeToVisible();
        playerController.controlsEnabled = true;

        yield return(new WaitForSecondsRealtime(0.9f));

        UIManager.Instance.topHUDController.Show();

        yield return(new WaitForSecondsRealtime(0.2f));

        UIManager.Instance.pauseBtn.GetComponent <Animator>().Play("Show");

        ScoreSystem.Instance.lockScore = false;
        OnGameReady?.Invoke();
    }
Ejemplo n.º 2
0
    IEnumerator RestartGame()
    {
        CameraShake shake = mainEffectManager.GetEffect <CameraShake>();

        UIManager.Instance.highScoreModalController.Hide();
        yield return(new WaitForSecondsRealtime(0.5f));

        UIManager.Instance.highScoreModalController.gameObject.SetActive(false);

        foreach (GameObject asteroid in asteroidPool.objects)
        {
            if (asteroid.activeInHierarchy)
            {
                Vector2 force = new Vector2(asteroid.transform.position.x, asteroid.transform.position.y).normalized;

                Rigidbody2D rb2d = asteroid.GetComponent <Rigidbody2D>();
                rb2d.velocity = force * restartAsteroidRepelForce;
                rb2d.AddTorque(GenericRNG.Instance.NextFloat(-1, 1) * restartAsteroidRepelForce * 30);
            }
        }

        Instantiate(playerReviveParticle, playerController.transform.position, Quaternion.identity);

        playerController.gameObject.SetActive(true);
        playerController.transform.rotation = Quaternion.Euler(0, 0, 90);
        playerController.gameObject.SetActive(false);

        float time = Time.unscaledTime;

        while (Time.unscaledTime - time < 1.6f)
        {
            shake.InduceMotion(0.7f * Time.unscaledDeltaTime);
            yield return(null);
        }

        targetMusicCutoff = 22000;
        targetMusicVolume = 0;

        playerController.gameObject.SetActive(true);
        playerController.controlsEnabled = true;
        playerController.invulnerable    = false;

        shake.InduceMotion(2f);

        yield return(new WaitForSecondsRealtime(0.6f));

        UIManager.Instance.topHUDController.Show();
        UIManager.Instance.pauseBtn.GetComponent <Animator>().Play("Show");

        ScoreSystem.Instance.lockScore = false;
        ScoreSystem.Instance.SetScore(0);

        OnGameReady?.Invoke();
    }
Ejemplo n.º 3
0
    public static void Send_GameReady()
    {
        OnGameReady xmsg = new OnGameReady();

        xmsg.m_strName = Network.name;
        xmsg.m_iPic    = Network.sex;

        byte[] msgBytes;
        using (MemoryStream stream = new MemoryStream())
        {
            ProtoBuf.Serializer.Serialize(stream, xmsg);
            msgBytes = stream.ToArray();
        }


        OnGame ongame = new OnGame();

        ongame.gameData       = msgBytes;
        ongame.m_iRoomID      = Network.Myplayer.m_iRoomID;
        ongame.m_iTableID     = Network.gameInfo_sitdown.m_iTableID;
        ongame.m_icmd         = (int)GameID.Ready;
        ongame.gameDataLength = msgBytes.Length;

        byte[] res;
        using (MemoryStream stream = new MemoryStream())
        {
            ProtoBuf.Serializer.Serialize(stream, ongame);
            res = stream.ToArray();
        }

        ClientHeader header = new ClientHeader();

        header = GetHeader(MessageID.CMD_PLAYGAME, res.Length);

        connector.SendMsg(header, res);
    }
Ejemplo n.º 4
0
 private void PlayerController_OnPlayerSpawns() => OnGameReady?.Invoke(this, levelService.GetLevelRecipie(sectionService.Level));
Ejemplo n.º 5
0
 public void ReadyGame()
 {
     GameState = GameStates.Prepare;
     OnGameReady?.Invoke();
 }