void Awake()
        {
            stackGenerator = new GameStacksBuilder();
            prefabsManager = GameObject.FindGameObjectWithTag(Tags.PREFABS_MANAGER).GetComponent <PrefabsManager> ();

            int[]             chipIds      = new int[] { 0, 4, 6, 3, 9, 6 };
            int[]             crushWeights = new int[] { 0, 0, 5, 4, 0, 0 };
            bool[]            initFlips    = new bool[] { false, true, false, false, true, false };
            int[]             targetFlips  = new int[] { 1, 0, 0 };
            GameGeneratorMeta courseMeta   = new GameGeneratorMeta(chipIds, crushWeights, initFlips, targetFlips);

            ApplicationModel.stackMetaPair = GameGenerator.CreateFromGameGeneratorMeta(courseMeta, prefabsManager);
            gamestacks = stackGenerator.BuildGameStacks(ApplicationModel.stackMetaPair, prefabsManager);
            gamestacks.Target.gameObject.SetActive(false);

            demoStack = gamestacks.Player;
            demoStack.AddListener(this);
            demoStack.transform.position = new Vector3(0, 0.4f, 0);
            demoStack.gameObject.AddComponent(typeof(ChipListHighligter));
        }
Exemplo n.º 2
0
    void Awake()
    {
        statsMeta = new SingleGameStatsMeta();
        statsMeta.DifficultyFactor = 0.3f;
        statsMeta.NTargetChecks    = 1;
        cameraController           = GameObject.FindGameObjectWithTag(Tags.MAIN_CAMERA).GetComponent <CameraController> ();
        stackGenerator             = new GameStacksBuilder();
        prefabsManager             = GameObject.FindGameObjectWithTag(Tags.PREFABS_MANAGER).GetComponent <PrefabsManager> ();

        blur         = cameraController.GetComponent <BlurOptimized> ();
        blur.enabled = false;

        GameStacks gamestacks = stackGenerator.BuildGameStacks(ApplicationModel.stackMetaPair, prefabsManager);

        statsMeta.MaxFlips = gamestacks.MaxFlips + (int)(Mathf.Max(gamestacks.Target.Meta.ChipCount() * statsMeta.DifficultyFactor, 1));
        targetStack        = gamestacks.Target;
        targetStack.AddListener(this);

        hud = GameObject.FindGameObjectWithTag(Tags.HUD).GetComponent <StatisticsController>();
        hud.SetNFlips(statsMeta.MaxFlips);
        hudController = hud.GetComponent <HUDController> ();

        pauseMenu = GameObject.FindGameObjectWithTag(Tags.PAUSE_MENU).GetComponent <StatisticsController> ();
        pauseMenu.SetNFlipsLeft(statsMeta.MaxFlips);
        pauseMenu.SetNTargetChecks(1);
        pauseMenu.SetTime(0f);

        gameOverMenu = GameObject.FindGameObjectWithTag(Tags.GAME_OVER_MENU).GetComponent <StatisticsController> ();
        gameOverMenu.SetNFlipsLeft(statsMeta.MaxFlips);
        gameOverMenu.gameObject.SetActive(false);
        ResumeGame();

        stacks = new List <Stack> ();
        stacks.Add(gamestacks.Player);
        foreach (Stack stack in stacks)
        {
            stack.AddListener(this);
        }
    }