コード例 #1
0
    void Awake()
    {
        Application.targetFrameRate = _FPS;
        Publisher.Instance.Subscribe(this);
        LevelSettings.Instance.Initialize();
        LevelProgress.Reset();
        ScoreConfig.Instance.Initialize();
        _IsPostGame = false;

        ObjectPooler.Pool poolFocusedSpinner = new ObjectPooler.Pool();
        poolFocusedSpinner._Count  = 2;
        poolFocusedSpinner._Prefab = _FocusedSpinnerPrefab;
        poolFocusedSpinner._Tag    = ObjectPoolTypes.FocusedSpinner;
        ObjectPooler.Instance.AddPool(poolFocusedSpinner);

        ObjectPooler.Pool poolLinkerLine = new ObjectPooler.Pool();
        poolLinkerLine._Count  = 16;
        poolLinkerLine._Prefab = _LinkerLinePrefab;
        poolLinkerLine._Tag    = ObjectPoolTypes.LinkerLine;
        ObjectPooler.Instance.AddPool(poolLinkerLine);

        ObjectPooler.Pool poolBoardTiles = new ObjectPooler.Pool();
        poolBoardTiles._Count  = LevelSettings.Instance._MaxWidth * LevelSettings.Instance._MaxHeight;
        poolBoardTiles._Prefab = _BoardTilePrefab;
        poolBoardTiles._Tag    = ObjectPoolTypes.BoardTile;
        ObjectPooler.Instance.AddPool(poolBoardTiles);

        ObjectPooler.Pool poolSpawners = new ObjectPooler.Pool();
        poolSpawners._Count  = LevelSettings.Instance._MaxWidth;
        poolSpawners._Prefab = _LinkerSpawnerPrefab;
        poolSpawners._Tag    = ObjectPoolTypes.Spawner;
        ObjectPooler.Instance.AddPool(poolSpawners);

        ObjectPooler.Pool poolLinkers = new ObjectPooler.Pool();
        poolLinkers._Count  = 2 * (LevelSettings.Instance._MaxWidth * LevelSettings.Instance._MaxHeight);
        poolLinkers._Prefab = _LinkerPrefab;
        poolLinkers._Tag    = ObjectPoolTypes.Linker;
        ObjectPooler.Instance.AddPool(poolLinkers);

        ObjectPooler.Pool poolSCT = new ObjectPooler.Pool();
        poolSCT._Count  = 20;
        poolSCT._Prefab = _ScrollingTextPrefab;
        poolSCT._Tag    = ObjectPoolTypes.SCT;
        ObjectPooler.Instance.AddPool(poolSCT);
    }