/// <summary>
    /// initialize
    /// </summary>
    private void _init()
    {
        stage.Init();
        ui.Init((name) => _inputNameFinished(name));
        ui.SetDrops(player.drops);
        // プレイヤー初期化
        player.Init(
            () => _ready(),
            () => _gameOver(),
            (item) => _getItem(item)
            );
        // ユーザ名取得
#if SAVE_USERINFO
        string userName = PlayerPrefs.GetString("name");
#else
        string userName = RankingController.userName;
#endif
        if (string.IsNullOrEmpty(userName))
        {
            state = State.InputName;
            ui.ShowTitle();
            ui.HideDesc();
        }
        else
        {
            ui.HideTitle();
            player.Ready();
            state = State.InitPlayer;
        }
        // ランキング情報取得
        ranking.RefreshScoreList();
    }