Пример #1
0
    public void Restart()
    {
        GameTrackRate.EndTimePlay = Time.time;
        GameTrackRate.CalculateTime();

        BGMStop();
        BackToPanelItem();
    }
Пример #2
0
    public void Pause()
    {
        GameTrackRate.EndTimePlay = Time.time;
        GameTrackRate.CalculateTime();

        pauseMenuUI.SetActive(true);
        GameTime.GlobalTimeScale = 0f;
        isPaused = true;
    }
    public void TakeDamage()
    {
        if (GameData.ActiveBossData.wasDie)
        {
            return;
        }

        if (!(GameVariables.PLAYER_IMMUNE || GameVariables.EFFECT_IMMUNE))
        {
            TWAudioController.PlaySFX("SFX_PLAYER", "player_damaged");
            sprite.material = whiteflash;
            DOVirtual.DelayedCall(flashDelay, () => { sprite.material = defaultMaterial; }).timeScale = GameTime.PlayerTimeScale;

            if (data.Hp >= 1)
            {
                GameVariables.PLAYER_IMMUNE = true;
                DOTween.Kill("ImmuneDamage");
                DOVirtual.DelayedCall(2f, () => { GameVariables.PLAYER_IMMUNE = false; }).SetId("ImmuneDamage").timeScale = GameTime.PlayerTimeScale;

                if (data.Shield > 0)
                {
                    data.Shield -= 1;
                    InGameUI.instance.UpdateShield();
                }
                else
                {
                    data.Hp -= 1;
                }

                InGameUI.instance.UpdateLive();

                if (data.Hp < 1)
                {
                    GameTrackRate.DeathCount  = 1;
                    GameTrackRate.EndTimePlay = Time.time;
                    GameTrackRate.CalculateTime();

                    GameData.ShiftItemList();
                    dead = true;
                    anim.SetBool("dead", true);
                    GameVariables.STILL_ALIVE = false;
                    GameVariables.GAME_OVER   = true;
                    TWTransition.ScreenFlash(1, 0.1f);
                    DOTween.Sequence()
                    .AppendInterval(1f)
                    .AppendCallback(() =>
                                    { InGameUI.instance.GameOver(); });
                }
            }
        }
    }
Пример #4
0
    private void ValidateItem()
    {
        if (GameData.ItemHolds.Count == 0)
        {
            GameData.ItemHolds.Clear();
            GameData.ItemUsed.Clear();

            GameTrackRate.ResetTrack();

            ResetBaseItem();

            LoadItem(baseItems);
        }
    }
    public void InitToGame()
    {
        GameTrackRate.StartTimePlay = time;
        GameTrackRate.EndTimePlay   = time + time;
        GameTrackRate.CalculateTime();

        GameTrackRate.DeathCount = deathCount;

        if (items == null)
        {
            items = new List <ItemData>();
        }
        GameTrackRate.ItemUsed = items;

        ratingSystem.RenderRating();
    }
Пример #6
0
    private void Start()
    {
        instance = this;

        if (GameData.FirstPlay)
        {
            bossManager.ResetBossState();
            GameData.FirstPlay = false;
            GameData.ItemHolds = new List <ItemData>();
            GameData.ItemUsed  = new List <ItemData>();

            ResetAllItem();
            GameTrackRate.ResetTrack();

            LoadItem(baseItems);
        }

        ValidateItem();
    }