示例#1
0
        IEnumerator HakoDeleteStream(Vector3 _pos, HakoType _type)
        {
            Combo  = Mathf.Abs(Combo) + 1;
            Score += Combo;
            SurvivalUI.Instance.ScoreDisplay.Value = Score;
            SwipeMessage.Play("+" + Combo.ToString(), _pos, 28 + Mathf.Min(Combo * 7 / 2, 42));
            yield return(null);

            if (Score >= Data.LevelUpScore[Level])
            {
                Level++;
                SurvivalUI.Instance.LevelDisplay.Value = Level;
                SurvivalUI.Instance.Meter.MaxHakos(Data.LevelUpScore[Level] - Data.LevelUpScore[Level - 1]);
                SwipeMessage.Play("LevelUp!", new Vector3(), 42, 0.5f);
                SoundManager.SEPlay("levelup");
                for (int x = 0; x < Data.Size.x; x++)
                {
                    for (int y = 0; y < Data.Size.y; y++)
                    {
                        int _tar = HakoManaer.Instance.Map[x, y];
                        if (_tar > 0 && !HakoManaer.Instance.Hakos[_tar].IsGhost)
                        {
                            HakoManaer.Instance.DeleteHako(_tar);
                        }
                    }
                }
            }
            else
            {
                SoundManager.SEPlay("add", 1.0f + (Combo - 1) * 0.06f);
            }
            SurvivalUI.Instance.Meter.AddHako(_type, Score - Data.LevelUpScore[Level - 1]);
            HakoUpdate();
        }
示例#2
0
 override public void InputDir(Dir _dir)
 {
     if (GamePlaying)
     {
         if (Combo > 0)
         {
             Combo = -Combo;
         }
         else if (Combo < 0)
         {
             Combo = 0;
         }
         if (HakoManaer.Instance.MoveHako(_dir))
         {
             SoundManager.SEPlay("move");
         }
         else
         {
             SoundManager.SEPlay("block");
         }
     }
 }
示例#3
0
        IEnumerator Start()
        {
            if (Instance)
            {
                Destroy(gameObject);
                yield break;
            }
            Instance = this;

            if (DressUpSelecter.Instance)
            {
                HakoData = DressUpSelecter.Instance.Datas[DressUpSelecter.Current];
            }

            DontDestroyOnLoad(gameObject);
            if (SceneName != "")
            {
                yield return(LoadManager.Instance.LoadSceneAsync(SceneName));
            }
            UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(gameObject, UnityEngine.SceneManagement.SceneManager.GetActiveScene());
            GameManager.Instance.GameState = GameManager.State.Game;

            SurvivalUI.Instance.Result.SetActive(false);
            Camera.main.orthographicSize = Data.CameraSize;
            yield return(null);

            SurvivalUI.Instance.ScoreDisplay.Value = 0;
            SurvivalUI.Instance.LevelDisplay.Value = 0;
            SurvivalUI.Instance.ModeName           = ModeName;
            while (!HakoManaer.Instance)
            {
                yield return(null);
            }
            HakoManaer.Instance.hakoMaxs = Data.MaxHakos;
            yield return(HakoManaer.Instance.SetupStream(HakoData, Data.Size));

            SurvivalUI.Instance.Meter.Set(HakoData, Data.Size);
            ScreenCurtain.Instance.SetColor(ScreenCurtain.State.Open);
            HakoManaer.Instance.AddHako(HakoType.X, Data.Size / 2);
            SurvivalUI.Instance.Meter.MaxHakos(Data.LevelUpScore[0]);
            SwipeMessage.Play("Ready...", new Vector3(), 56, 0.5f);
            yield return(new WaitForSeconds(1.0f));

            GamePlaying = true;
            SwipeMessage.Play("Go!", new Vector3(), 56, 0.5f);

            while (!Result)
            {
                HakoUpdate();
                yield return(null);

                if (Input.GetKey(KeyCode.Return))
                {
                    AddHakoRandom();
                }
                else
                {
                    yield return(new WaitForSeconds(1.0f));
                }
            }
            SwipeMessage.Play("GameOver!", new Vector3(), 56, 30.0f);
            // SurvivalUI.Instance.UserNameText.text = ScoreManager.Instance.PlayerName;
            SurvivalUI.Instance.UserName = "";
            SurvivalUI.Instance.Result.SetActive(true);
            SoundManager.SEPlay("over");
            UnityEngine.EventSystems.EventSystem.current.SetSelectedGameObject(SurvivalUI.Instance.ExitButton.gameObject);

            // ScoreContent _load = ScoreManager.Instance.LoadScore(ModeName);
            // if(Score > _load.Score)
            // {
            //     SwipeMessage.Play("New Record!", new Vector3(0, -1, 0), 28, 30.0f);
            //     ScoreManager.Instance.SaveScore(ModeName, new ScoreContent(Score));
            // }

            NCMB.HighScore myScore = new NCMB.HighScore(ModeName, ScoreManager.Instance.UserName.Id, ScoreManager.Instance.UserName.Name);
            myScore.fetch();

            for (int i = 0; i < Data.Size.x * Data.Size.y - 10; i++)
            {
                yield return(null);

                AddHakoRandom();
            }

            while (myScore.Score == -1)
            {
                yield return(null);
            }
            if (myScore.Score < Score)
            {
                myScore.Score = Score;
                myScore.Date  = ScoreManager.Instance.DateString();
                myScore.Name  = ScoreManager.Instance.UserName.Name;
                myScore.save();
                SwipeMessage.Play("New Record!", new Vector3(0, -1, 0), 28, 30.0f);
            }

            yield return(new WaitForSeconds(1.0f));

            SurvivalUI.Instance.ScoreButton.interactable = true;
        }