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)); }
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); } }