IEnumerator Start() { canvas = FindObjectOfType <MapBuilderCanvas>(); items = new Block[itemSlots]; for (int i = 0; i < items.Length - 1; i++) { SetSlot(i, new Block(BlockType.square, 0, 0)); } SetSlot(8, new Block(BlockType.spike, 0, 0)); keys = new KeyCode[itemSlots]; UpdateKeys(); InputManager.Instance.ControlsChanged += UpdateKeys; yield return(new WaitForEndOfFrame()); ChangeSlot(0); }
IEnumerator Start() { height = (buildSettings.maxBuildHeight + buildSettings.minBuildHeight) / 2; width = (buildSettings.maxBuildWidth + buildSettings.minBuildWidth) / 2; InitializeWorld(); inv = GetComponent <Inventory>(); cam = FindObjectOfType <Camera>(); canvas = FindObjectOfType <MapBuilderCanvas>(); timer = FindObjectOfType <Timer>(); timer.Initialize(buildSettings.buildTime); timer.StartCountdown(); FindObjectOfType <GridGenerator>().GenerateLines(buildSettings.maxBuildWidth, buildSettings.maxBuildHeight); spriteSelection = FindObjectOfType <SpriteSelection>(); spriteSelection.gameObject.SetActive(false); hoverBlock = Instantiate(BlockData.Instance.prefabs[BlockType.empty], transform); hoverSprite = hoverBlock.GetComponent <SpriteRenderer>(); hoverSprite.color = emptyPlace; hoverBlock.transform.position = new Vector3(hoverBlock.transform.position.x, hoverBlock.transform.position.y, hoverOffset); UpdateSelectKeys(); InputManager.Instance.ControlsChanged += UpdateSelectKeys; buildData.SetDimensions(height, width); buildData.SetMapState(blockData, blockView); buildData.SetObjectData(this, worldHolder, hoverBlock, hoverSprite, spriteSelection, selected, inv, cam); buildData.Start(); yield return(new WaitForEndOfFrame()); onDimensionsChanged?.Invoke(width, height); }