// Update is called once per frame void Update() { if (prevselect) { prevselect.SpriteDeSelect(); } RaycastHit hit; int x, y; x = 0; y = 0; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit2D hitInformation = Physics2D.GetRayIntersection(ray, 10); SpriteSelection select = null; if (hitInformation) { x = System.Convert.ToInt32(hitInformation.transform.position.x); y = System.Convert.ToInt32(hitInformation.transform.position.y); if (hitInformation.transform.tag == "Tile") { select = boardScript.CurrentMapTiled[x][y].prefab.GetComponent <SpriteSelection>(); select.SpriteSelect(); } } prevselect = select; }
public void SetObjectData(BuildManager bm, Transform worldHolder, GameObject hoverBlock, SpriteRenderer hoverSprite, SpriteSelection spriteSelection, Block selected, Inventory inv, Camera cam) { BuildData.bm = bm; BuildData.worldHolder = worldHolder; BuildData.hoverBlock = hoverBlock; BuildData.hoverSprite = hoverSprite; BuildData.spriteSelection = spriteSelection; BuildData.selected = selected; BuildData.inv = inv; BuildData.cam = cam; }
// Update is called once per frame void Update() { if (!rootObj) { rootObj = transform.root.gameObject; return; } switch (mSpriteSelType) { case SelectionType.eSelectionAim: { PlayerAimController playerAimControl = rootObj.GetComponent <PlayerAimController>(); if (playerAimControl) { currentDirection = playerAimControl.GetAimDirection(); } break; } case SelectionType.eSelectionMove: { PlayerMoveController playerMove = rootObj.GetComponent <PlayerMoveController>(); if (playerMove) { currentDirection = playerMove.GetAimDirection(); } break; } } if (m_directionalSprites.ContainsKey(currentDirection)) { SpriteRenderer spriteRender = GetComponent <SpriteRenderer>(); if (spriteRender) { SpriteSelection chosen = m_directionalSprites[currentDirection]; spriteRender.sprite = chosen.spriteSelection; } } if (bVerboseLogging) { Debug.Log("Current direction :" + currentDirection.ToString()); } }
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); }
void InitGame() { boardScript.ReadFromMap(map); prevselect = boardScript.CurrentMapTiled[0][0].prefab.GetComponent <SpriteSelection>(); }
protected void MapAvailibleTiles(int x, int y, int move, int moved, bool color) { SpriteSelection select = navigator.CurrentMapTiled[x][y].prefab.GetComponent <SpriteSelection>(); if (color) { select.SpriteSelect(); } else { select.SpriteDeSelect(); } if (moved < move) { for (int i = 0; i <= 3; i++) { switch (i) { case 0: //вверх if (y != 0) { if (navigator.CurrentMapTiled[x][y - 1].ifTaken != 1 && !(navigator.CurrentMapTiled[x][y - 1] is ObjectTile)) { MapAvailibleTiles(x, y - 1, move, moved + 1, color); } } break; case 1: //вправо if (x != navigator.CurrentMapTiled[x].Length) { if (navigator.CurrentMapTiled[x + 1][y].ifTaken != 1 && !(navigator.CurrentMapTiled[x + 1][y] is ObjectTile)) { MapAvailibleTiles(x + 1, y, move, moved + 1, color); } } break; case 2: //вниз if (y != navigator.CurrentMapTiled.Length) { if (navigator.CurrentMapTiled[x][y + 1].ifTaken != 1 && !(navigator.CurrentMapTiled[x][y + 1] is ObjectTile)) { MapAvailibleTiles(x, y + 1, move, moved + 1, color); } } break; case 3: //влево if (x != 0) { if (navigator.CurrentMapTiled[x - 1][y].ifTaken != 1 && !(navigator.CurrentMapTiled[x - 1][y] is ObjectTile)) { MapAvailibleTiles(x - 1, y, move, moved + 1, color); } } break; } } } }