public void CalculateDistanceToTargets(int startPointX, int startPointY) { Vector3 startLoc = new Vector3(); Vector3 endLoc = new Vector3(); startLoc.y = startPointY; startLoc.z = startPointX - (startPointY - (Mathf.Abs(startPointY) % 2)) / 2; startLoc.x = -startLoc.y - startLoc.z; GameObject[] PlayersAlive = GameObject.FindGameObjectsWithTag("Player"); foreach (GameObject Player in PlayersAlive) { PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); endLoc.y = player.PlayerClass.TileY; endLoc.z = player.PlayerClass.TileX - (player.PlayerClass.TileY - (Mathf.Abs(player.PlayerClass.TileY) % 2)) / 2; endLoc.x = -endLoc.y - endLoc.z; int distance = (int)(Mathf.Abs(startLoc.x - endLoc.x) + Mathf.Abs(startLoc.y - endLoc.y) + Mathf.Abs(startLoc.z - endLoc.z)) / 2; if (distance <= range) { GameObject Tile = GameObject.Find("Hex_" + player.PlayerClass.TileX + "_" + player.PlayerClass.TileY); ClickableTile tile = Tile.GetComponent <ClickableTile> (); GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.tileX = tile.tileX; highlightTiles.tileY = tile.tileY; highlightTiles.ShowHoveringTileSkill(); } } }
public void CheckDropZone() { GameObject CardDropArea = GameObject.Find("CardDropArea"); GameObject hand = GameObject.Find("Hand"); DropZone dropZone = CardDropArea.GetComponent <DropZone>(); Draggable[] cardsToMove = CardDropArea.GetComponentsInChildren <Draggable>(); GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.HideAllAllowedTiles(); if (cardsToMove.Length >= 1) { TurnEverythingFalse(); dropZone.damage = 0; dropZone.movementCost = 0; dropZone.effect = Effects.Empty; foreach (Draggable card in cardsToMove) { if (transform.name != "CardDropArea") { card.transform.SetParent(hand.transform); } } } }
public void MoveConfirmed() { // int i = 0; // GameObject GameController = GameObject.Find("GameController"); // GameController gameController = GameController.GetComponent<GameController>(); GameController.control.manaRemaining = GameController.control.manaMax; lastPlayer = map.selecterPlayer; GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.HideAllAllowedTiles(); CheckDropZone(); GameObject[] EnemysAlive = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject Enemy in EnemysAlive) { // Debug.Log(Enemy.name); map.selectedEnemy = Enemy.name; BaseEnemy enemy = Enemy.GetComponent <BaseEnemy> (); if (!enemy.Stunned && !enemy.Frozen) { enemy.MoveNextTile(); } enemy.RunEffects(); } GameController.control.CalculateEnemies(); GameObject PlayerAliveCheck = GameObject.Find(lastPlayer); PlayableCharacter playerAliveCheck = PlayerAliveCheck.GetComponent <PlayableCharacter>(); lastPlayerAlive = playerAliveCheck.PlayerClass.Alive; GameObject[] PlayersAlive = GameObject.FindGameObjectsWithTag("Player"); foreach (GameObject Player in PlayersAlive) { PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); player.PlayerClass.RemainingMovement = player.PlayerClass.MoveSpeed; player.PlayerClass.AttackableTiles = 0; player.RunEffects(); map.selecterPlayer = player.name; map.CheckVisibleTiles(); if (!lastPlayerAlive) { lastPlayer = Player.name; lastPlayerAlive = true; } } map.selecterPlayer = lastPlayer; ShowVisibleTiles(); deck.DrawCardToHand(); TurnEverythingFalse(); GameObject Stats = GameObject.Find("ScreenPlayerStats"); BasicStatsGui stats = Stats.GetComponent <BasicStatsGui>(); stats.StatsUpdate(); GameController.control.TurnTruePlayerButtons(); UpdateHandTooltip(); }
void HighlightTiles(int tileXthis, int tileYthis) { GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.tileX = tileXthis; highlightTiles.tileY = tileYthis; highlightTiles.ShowTilesThatWillBeHitSkill(); }
private void Start() { characterLocations = new Character[mapx, mapy]; move = GetComponent <MovementMap>(); neightbors = new Vector2Int[4] { new Vector2Int(1, 0), new Vector2Int(-1, 0), new Vector2Int(0, 1), new Vector2Int(0, -1) }; frontier = new List <Vector3Int>(); highlights = GetComponent <HighlightTiles>(); previousCharacterLocations = new Dictionary <Character, Vector3Int>(); InitCharacterMap(); }
public void CheckLineTiles(int startPointX, int startPointY, int endPointX, int endPointY) { // GameObject Tile = GameObject.Find ("Hex_" + endTileX + "_" + endTileX); // ClickableTile tile = Tile.GetComponent<ClickableTile> (); Vector3 startLoc = new Vector3(); Vector3 endLoc = new Vector3(); startLoc.y = startPointY; startLoc.z = startPointX - (startPointY - (Mathf.Abs(startPointY) % 2)) / 2; startLoc.x = -startLoc.y - startLoc.z; endLoc.y = endPointY; endLoc.z = endPointX - (endPointY - (Mathf.Abs(endPointY) % 2)) / 2; endLoc.x = -endLoc.y - endLoc.z; int n = (int)(Mathf.Abs(startLoc.x - endLoc.x) + Mathf.Abs(startLoc.y - endLoc.y) + Mathf.Abs(startLoc.z - endLoc.z)) / 2; Vector3 [] tiles = new Vector3[n]; for (int i = 0; i < n; i++) { float a = (1.0f / n) * (i + 1); tiles[i] = CubeLerp(startLoc, endLoc, a); GameObject[] Tiles = GameObject.FindGameObjectsWithTag("Hex"); foreach (GameObject tile in Tiles) { ClickableTile clickableTile = tile.GetComponent <ClickableTile> (); // clickableTile.lineTargetted = false; Vector3 hexLoc = new Vector3(); hexLoc.y = clickableTile.tileY; hexLoc.z = clickableTile.tileX - (clickableTile.tileY - (Mathf.Abs(clickableTile.tileY) % 2)) / 2; hexLoc.x = -hexLoc.y - hexLoc.z; int m = (int)(Mathf.Abs(startLoc.x - hexLoc.x) + Mathf.Abs(startLoc.y - hexLoc.y) + Mathf.Abs(startLoc.z - hexLoc.z)) / 2; if (tiles[i].x >= clickableTile.worldPos.x - 0.5f && tiles[i].y <= clickableTile.worldPos.y + 0.50f) { if (tiles[i].y >= clickableTile.worldPos.y - 0.5f && tiles[i].y <= clickableTile.worldPos.y + 0.50f) { if (tiles[i].z >= clickableTile.worldPos.z - 0.5f && tiles[i].z <= clickableTile.worldPos.z + 0.50f) { if (m <= skillDistance) { GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.tileX = clickableTile.tileX; highlightTiles.tileY = clickableTile.tileY; clickableTile.lineTargetted = true; highlightTiles.ShowTilesThatWillNotBeHitSkill(); } } } } } } }
public void CalculateAreaNoMid(int targetX, int targetY) { Vector3 ret = new Vector3(); Vector3 unitRet = new Vector3(); GameObject Player = GameObject.Find(map.selecterPlayer); PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); int distanceFromMiddle; int distanceFromPlayer; ret.y = targetY; ret.z = targetX - (targetY - (Mathf.Abs(targetY) % 2)) / 2; ret.x = -ret.y - ret.z; unitRet.y = player.PlayerClass.TileY; unitRet.z = player.PlayerClass.TileX - (player.PlayerClass.TileY - (Mathf.Abs(player.PlayerClass.TileY) % 2)) / 2; unitRet.x = -unitRet.y - unitRet.z; distanceFromPlayer = (int)((Mathf.Abs(unitRet.x - ret.x) + Mathf.Abs(unitRet.y - ret.y) + Mathf.Abs(unitRet.z - ret.z)) / 2); GameObject[] ClickableTiles = GameObject.FindGameObjectsWithTag("Hex"); foreach (GameObject tile in ClickableTiles) { ClickableTile clickableTile = tile.GetComponent <ClickableTile> (); Vector3 hexLoc = new Vector3(); hexLoc.y = clickableTile.tileY; hexLoc.z = clickableTile.tileX - (clickableTile.tileY - (Mathf.Abs(clickableTile.tileY) % 2)) / 2; hexLoc.x = -hexLoc.y - hexLoc.z; distanceFromMiddle = (int)((Mathf.Abs(ret.x - hexLoc.x) + Mathf.Abs(ret.y - hexLoc.y) + Mathf.Abs(ret.z - hexLoc.z)) / 2); if (distanceFromMiddle <= area && distanceFromMiddle != 0) { if (distanceFromPlayer <= skillDistance) { GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.tileX = clickableTile.tileX; highlightTiles.tileY = clickableTile.tileY; highlightTiles.ShowTilesThatWillBeHitSkill(); } } if (distanceFromMiddle == 0) { if (distanceFromPlayer <= skillDistance) { GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.tileX = clickableTile.tileX; highlightTiles.tileY = clickableTile.tileY; highlightTiles.ShowHoveringTileSkill(); } } } }
public void MovementClicked() { TurnEverythingFalse(); CheckDropZone(); GameObject Player = GameObject.Find(map.selecterPlayer); PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.HideAllAllowedTiles(); moveSelected = true; highlightTiles.ShowAllowedTilesMovement(); player.PlayerClass.AttackableTiles = 0; }
void OnMouseExit() { Material[] mat = this.GetComponent <Renderer>().materials; mat[1] = primaryMaterial; // GameObject ButtonScripts = GameObject.Find ("ButtonsCanvas"); // ButtonScripts buttonScripts = ButtonScripts.GetComponent<ButtonScripts> (); GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); canAttack = false; if (buttonScripts.coneSelected || buttonScripts.drawSelected || buttonScripts.changeAreaTiles || buttonScripts.changeAreaTilesNoMid || buttonScripts.moveSelected) { highlightTiles.HideAllowedTiles(); } }
public void CalculateTrapArea(int playerX, int playerY) { Vector3 startLoc = new Vector3(); startLoc.y = playerY; startLoc.z = playerX - (playerY - (Mathf.Abs(playerY) % 2)) / 2; startLoc.x = -startLoc.y - startLoc.z; GameObject[] Tiles = GameObject.FindGameObjectsWithTag("Hex"); foreach (GameObject tile in Tiles) { bool enemyInTile = false; ClickableTile clickableTile = tile.GetComponent <ClickableTile> (); Vector3 hexLoc = new Vector3(); hexLoc.y = clickableTile.tileY; hexLoc.z = clickableTile.tileX - (clickableTile.tileY - (Mathf.Abs(clickableTile.tileY) % 2)) / 2; hexLoc.x = -hexLoc.y - hexLoc.z; int n = (int)(Mathf.Abs(startLoc.x - hexLoc.x) + Mathf.Abs(startLoc.y - hexLoc.y) + Mathf.Abs(startLoc.z - hexLoc.z)) / 2; GameObject[] Enemies = GameObject.FindGameObjectsWithTag("Hex"); foreach (GameObject Enemy in Enemies) { BaseEnemy enemy = Enemy.GetComponent <BaseEnemy>(); // && (enemy.TileY != clickableTile.tileY && enemy.TileX != clickableTile.tileX) // enemy.TileX = clickableTile.tileX; // enemy.TileY = clickableTile.tileY; if (enemy.TileY == clickableTile.tileY && enemy.TileX == clickableTile.tileX) { enemyInTile = true; } } if (n == 1 && enemyInTile == false) { GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.tileX = clickableTile.tileX; highlightTiles.tileY = clickableTile.tileY; highlightTiles.ShowHoveringTileSkill(); } } }
public void LookAround() { GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.HideAllAllowedTiles(); TurnEverythingFalse(); map.CheckVisibleTiles(); ShowVisibleTiles(); GameObject Player = GameObject.Find(map.selecterPlayer); PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); player.PlayerClass.RemainingMovement--; if (player.PlayerClass.RemainingMovement < 0) { player.PlayerClass.RemainingMovement = 0; } GameObject Stats = GameObject.Find("ScreenPlayerStats"); BasicStatsGui stats = Stats.GetComponent <BasicStatsGui>(); stats.StatsUpdate(); }
public void CheckEnemiesInLine() { GameObject[] Enemies = GameObject.FindGameObjectsWithTag("Enemy"); GameObject Player = GameObject.Find(map.selecterPlayer); PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); Vector3 playerRet = new Vector3(); Vector3 enemyRet = new Vector3(); playerRet.y = player.PlayerClass.TileY; playerRet.z = player.PlayerClass.TileX - (player.PlayerClass.TileY - (Mathf.Abs(player.PlayerClass.TileY) % 2)) / 2; playerRet.x = -playerRet.y - playerRet.z; int minDistance = 30; // foreach (Node Tile in pathTiles) { // } foreach (GameObject Enemy in Enemies) { BaseEnemy enemy = Enemy.GetComponent <BaseEnemy> (); GameObject Tile = GameObject.Find("Hex_" + enemy.TileX + "_" + enemy.TileY); ClickableTile tile = Tile.GetComponent <ClickableTile> (); enemy.distanceToPlayer = 30; // Debug.Log (tile.lineTargetted); if (tile.lineTargetted) { // Debug.Log (enemy.name); enemyRet.y = enemy.TileY; enemyRet.z = enemy.TileX - (enemy.TileY - (Mathf.Abs(enemy.TileY) % 2)) / 2; enemyRet.x = -enemyRet.y - enemyRet.z; int d = (int)(Mathf.Abs(playerRet.x - enemyRet.x) + Mathf.Abs(playerRet.y - enemyRet.y) + Mathf.Abs(playerRet.z - enemyRet.z)) / 2; enemy.distanceToPlayer = d; if (d <= minDistance) { minDistance = d; } } } foreach (GameObject Enemy in Enemies) { BaseEnemy enemy = Enemy.GetComponent <BaseEnemy> (); GameObject Tile = GameObject.Find("Hex_" + enemy.TileX + "_" + enemy.TileY); ClickableTile tile = Tile.GetComponent <ClickableTile> (); if (enemy.distanceToPlayer == minDistance && tile.lineTargetted && enemy.distanceToPlayer != 30) { GameObject CardDropArea = GameObject.Find("CardDropArea"); DropZone dropZone = CardDropArea.GetComponent <DropZone>(); if (dropZone.areaRange >= 1) { GameObject Area = GameObject.Find("_Scripts"); ChangeTilesArea area = Area.GetComponent <ChangeTilesArea> (); area.area = dropZone.areaRange; area.skillDistance = 30; area.CalculateArea(tile.tileX, tile.tileY); } else { GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.ShowTilesThatWillBeHitSkill(); } } } }
void OnMouseUp() { // Debug.Log("tile " + tileX + " " + tileY); if (canAttack != false && rangeTargetted) { // GameObject ButtonScripts = GameObject.Find ("ButtonsCanvas"); // ButtonScripts buttonScripts = ButtonScripts.GetComponent<ButtonScripts> (); // GameObject GameController = GameObject.Find ("GameController"); // GameController gameController = GameController.GetComponent<GameController> (); GameObject CardDropArea = GameObject.Find("CardDropArea"); DropZone dropZone = CardDropArea.GetComponent <DropZone>(); GameObject Player = GameObject.Find(map.selecterPlayer); PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); if (buttonScripts.moveSelected) { map.GeneratePathToPlayer(tileX, tileY); player.MoveNextTile(); } if (buttonScripts.trapSelected) { if (EventSystem.current.IsPointerOverGameObject()) { return; } trapped = true; trapDamage = dropZone.damage; trapEffect = dropZone.effect; } if (buttonScripts.changeAreaTiles || buttonScripts.coneSelected || buttonScripts.drawSelected || buttonScripts.attackSelected) { if (!willTakeHit) { return; } if (EventSystem.current.IsPointerOverGameObject()) { return; } HitEnemy(); } if (buttonScripts.changeAreaTilesNoMid) { if (EventSystem.current.IsPointerOverGameObject()) { return; } HitEnemy(); player.PlayerClass.TileX = tileX; player.PlayerClass.TileY = tileY; player.TransformPosition();; } if (buttonScripts.allySelected) { if (EventSystem.current.IsPointerOverGameObject()) { return; } GameObject[] Players = GameObject.FindGameObjectsWithTag("Player"); // bool skillHit = false; foreach (GameObject PlayerAlly in Players) { PlayableCharacter playerAlly = PlayerAlly.GetComponent <PlayableCharacter> (); if (playerAlly.PlayerClass.TileX == tileX && playerAlly.PlayerClass.TileY == tileY) { playerAlly.recentlyHit = true; HealthBar playerHpBar = playerAlly.GetComponent <HealthBar> (); // Debug.Log("dropZone.heal " + dropZone.heal); playerHpBar.CurHealth = playerHpBar.CurHealth + (dropZone.heal / playerAlly.PlayerClass.HpPointsMax) * 100; if (playerHpBar.CurHealth > playerHpBar.maxHealth) { playerHpBar.CurHealth = playerHpBar.maxHealth; } playerHpBar.SetHealthBarPlayer(); playerHpBar.parentName = map.selecterPlayer; // skillHit = true; } } } GameController.control.CalculateEnemies(); Draggable card = CardDropArea.GetComponentInChildren <Draggable>(); if (card != null) { dropZone.RunEffect(); GameController.control.CalculateRemainingMana(); card.Discard(); } buttonScripts.TurnEverythingFalse(); highlightTiles.HideAllAllowedTiles(); map.CheckVisibleTiles(); GameController.control.TurnTruePlayerButtons(); GameObject[] Enemies2 = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject enemyAi in Enemies2) { BaseEnemy enemy = enemyAi.GetComponent <BaseEnemy> (); enemy.Recentlyhit = false; } GameObject Stats = GameObject.Find("ScreenPlayerStats"); BasicStatsGui stats = Stats.GetComponent <BasicStatsGui>(); stats.StatsUpdate(); } }
void OnMouseEnter() { if (map != null) { canAttack = true; // Material[] mat = this.GetComponent<Renderer>().materials; // mat[1] = hoverMaterialMouse; // GameObject ButtonScripts = GameObject.Find ("ButtonsCanvas"); // ButtonScripts buttonScripts = ButtonScripts.GetComponent<ButtonScripts> (); GameObject Player = GameObject.Find(map.selecterPlayer); PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); // highlightTiles.HighlightTilesInRange(); if (buttonScripts.moveSelected) { highlightTiles.tileX = tileX; highlightTiles.tileY = tileY; highlightTiles.ShowHoveringTileMovement(); } if (buttonScripts.changeAreaTiles && hexVisible) { highlightTiles.ColorTargettedTiles(); if (EventSystem.current.IsPointerOverGameObject()) { return; } GameObject ChangeTilesArea = GameObject.Find("_Scripts"); ChangeTilesArea changeTilesArea = ChangeTilesArea.GetComponent <ChangeTilesArea> (); changeTilesArea.tileX = tileX; changeTilesArea.tileY = tileY; changeTilesArea.CalculateArea(tileX, tileY); } if (buttonScripts.changeAreaTilesNoMid && map.UnitCanEnterTile(tileX, tileY) == true && hexVisible) { highlightTiles.ColorTargettedTiles(); GameObject[] Enemies = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject enemyAi in Enemies) { BaseEnemy enemy = enemyAi.GetComponent <BaseEnemy> (); if (enemy.TileX == tileX && enemy.TileY == tileY) { canAttack = false; return; } } if (EventSystem.current.IsPointerOverGameObject()) { return; } GameObject ChangeTilesArea = GameObject.Find("_Scripts"); ChangeTilesArea changeTilesArea = ChangeTilesArea.GetComponent <ChangeTilesArea> (); changeTilesArea.tileX = tileX; changeTilesArea.tileY = tileY; changeTilesArea.CalculateAreaNoMid(tileX, tileY); } if (buttonScripts.drawSelected && hexVisible) { highlightTiles.ColorTargettedTiles(); GameObject DrawLine = GameObject.Find("LineRenderer"); DrawLine drawLine = DrawLine.GetComponent <DrawLine> (); GameObject[] Tiles = GameObject.FindGameObjectsWithTag("Hex"); foreach (GameObject tile in Tiles) { ClickableTile clickableTile = tile.GetComponent <ClickableTile> (); clickableTile.lineTargetted = false; } drawLine.CheckLineTiles(player.PlayerClass.TileX, player.PlayerClass.TileY, tileX, tileY); drawLine.CheckEnemiesInLine(); } if (buttonScripts.coneSelected) { // Debug.Log("tile " + tileX + " " + tileY); GameObject Cone = GameObject.Find("_Scripts"); Cone cone = Cone.GetComponent <Cone> (); // GameObject Unit = GameObject.Find (map.selecterPlayer); // Unit unit = Unit.GetComponent<Unit> (); // Debug.Log("tile " + unit.tileX + " " + unit.tileY); cone.CalculateCone(player.PlayerClass.TileX, player.PlayerClass.TileY, tileX, tileY); if (!willTakeHit) { cone.CalculateConeEquals(player.PlayerClass.TileX, player.PlayerClass.TileY, tileX, tileY); } } if (buttonScripts.allySelected) { canAttack = false; enemyTarget = false; // Makes basic coloring for all tiles in range highlightTiles.ShowTilesThatInRangeGeneral(player.PlayerClass.TileX, player.PlayerClass.TileY); highlightTiles.tileX = tileX; highlightTiles.tileY = tileY; if (canAttack) { highlightTiles.ShowTilesThatWillBeHitSkill(); } else if (!canAttack) { highlightTiles.ShowTilesThatWillNotBeHitSkill(); } } if (buttonScripts.trapSelected) { canAttack = false; // enemyTarget = true; // Makes basic coloring for all tiles in range highlightTiles.ShowTilesThatInTrapRange(player.PlayerClass.TileX, player.PlayerClass.TileY); highlightTiles.tileX = tileX; highlightTiles.tileY = tileY; if (canAttack) { highlightTiles.ShowTilesThatWillBeHitSkill(); } else if (!canAttack) { highlightTiles.ShowTilesThatWillNotBeHitSkill(); } } if (buttonScripts.attackSelected) { canAttack = false; enemyTarget = true; // Makes basic coloring for all tiles in range highlightTiles.ShowTilesThatInRangeGeneral(player.PlayerClass.TileX, player.PlayerClass.TileY); highlightTiles.tileX = tileX; highlightTiles.tileY = tileY; if (canAttack) { highlightTiles.ShowTilesThatWillBeHitSkill(); } else if (!canAttack) { highlightTiles.ShowTilesThatWillNotBeHitSkill(); } } } }
public void OnDrop(PointerEventData eventData) { d = eventData.pointerDrag.GetComponent <Draggable> (); // GameObject GameController = GameObject.Find ("GameController"); // GameController gameController = GameController.GetComponent<GameController> (); // GameObject ButtonScripts = GameObject.Find ("ButtonsCanvas"); // ButtonScripts buttonScripts = ButtonScripts.GetComponent<ButtonScripts> (); buttonScripts.TurnEverythingFalse(); GameController.control.TurnFalsePlayerButtons(); // Debug.Log("OnDrop cone"); // if (d != null ) { // Debug.Log(d.attack); // attack = d.attack; // movementCost = d.movementCost; // effect = d.effect; d.parentToReturnTo = this.transform; // } mobility = false; // else{ // Debug.Log("OnDrop cone"); // Debug.Log(d.cardType); switch (d.cardType) { case CardTypes.Damage: // GameObject Unit = GameObject.Find(map.selecterPlayer); // Unit unit = Unit.GetComponent<Unit> (); DamageCard damageCard = d.GetComponentInParent <DamageCard>(); // DamageCard damageCard = eventData.pointerDrag.GetComponent<DamageCard>(); Debug.Log(damageCard.DamageType); mobility = damageCard.Mobility; range = damageCard.Range; target = damageCard.Target; areaRange = damageCard.Area; damageType = damageCard.DamageType; GameController.control.cardCost = damageCard.CardCost; DamageType(); effect = damageCard.Effect; RunTargets(); break; case CardTypes.Heal: HealCard healCard = d.GetComponentInParent <HealCard>(); GameObject Player = GameObject.Find(map.selecterPlayer); PlayableCharacter player = Player.GetComponent <PlayableCharacter> (); // DamageCard damageCard = eventData.pointerDrag.GetComponent<DamageCard>(); // mobility = damageCard.Mobility; // buttonScripts.healSelected = true; // playingPlayer = map.selecterPlayer; range = healCard.Range; target = healCard.Target; areaRange = healCard.Area; effect = healCard.Effect; healDot = player.PlayerClass.HealValue / 2; heal = (player.PlayerClass.HealValue * healCard.CardHeal) / 3; GameController.control.cardCost = healCard.CardCost; RunTargets(); break; case CardTypes.Utility: UtilityCard utilityCard = d.GetComponentInParent <UtilityCard>(); // DamageCard damageCard = eventData.pointerDrag.GetComponent<DamageCard>(); // mobility = damageCard.Mobility; range = utilityCard.Range; target = utilityCard.Target; areaRange = utilityCard.Area; effect = utilityCard.Effect; GameController.control.cardCost = utilityCard.CardCost; RunTargets(); break; default: break; } // } //TODO värjää väärin if (d != null) { GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); highlightTiles.HighlightTilesInRange(); } }
void RunTargets() { // GameObject ButtonScripts = GameObject.Find ("ButtonsCanvas"); // ButtonScripts buttonScripts = ButtonScripts.GetComponent<ButtonScripts> (); GameObject HighlightTiles = GameObject.Find("_Scripts"); HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> (); // Debug.Log(effect); /* if (effect == Effects.Attack) { * buttonScripts.TurnEverythingFalse(); * map.HideAllowedTiles(); * map.ShowAttackableTiles(); * // GameObject Unit = GameObject.Find("UnitOne"); * // Unit unit = Unit.GetComponent<Unit> (); * // unit.Attack(); * buttonScripts.attackSelected = true; * // changeAreaTiles = false; * // moveSelected = false; * // moveSelected = false; * } * else if (effect == Effects.ChangeArea) { * // Debug.Log(effect); * buttonScripts.TurnEverythingFalse(); * buttonScripts.changeAreaTiles = true; * Debug.Log(buttonScripts.changeAreaTiles); * map.HideAllowedTiles(); * * } */ switch (target) { case Targets.Ally: // GameObject[] Players = GameObject.FindGameObjectsWithTag("Player"); // foreach (GameObject PlayerAlly in Players) { // GameObject Distance = GameObject.Find ("_Scripts"); // CalculateDistance distance = Distance.GetComponent<CalculateDistance> (); // PlayableCharacter playerAlly = PlayerAlly.GetComponent<PlayableCharacter> (); // GameObject TileAlly = GameObject.Find ("Hex_" + playerAlly.PlayerClass.TileX + "_" + playerAlly.PlayerClass.TileY ); // ClickableTile tileAlly = TileAlly.GetComponent<ClickableTile> (); buttonScripts.allySelected = true; // distance.range = range; // tileAlly.ChangeMaterial(); // } break; case Targets.Area: GameObject Area = GameObject.Find("_Scripts"); ChangeTilesArea area = Area.GetComponent <ChangeTilesArea> (); area.area = areaRange; area.skillDistance = range; buttonScripts.changeAreaTiles = true; break; case Targets.Cone: // Debug.Log("Runeffect Cone"); GameObject Cone = GameObject.Find("_Scripts"); Cone cone = Cone.GetComponent <Cone> (); cone.skillDistance = range; buttonScripts.coneSelected = true; break; case Targets.Enemy: buttonScripts.attackSelected = true; break; case Targets.Line: GameObject Line = GameObject.Find("LineRenderer"); DrawLine line = Line.GetComponent <DrawLine> (); line.skillDistance = range; buttonScripts.drawSelected = true; break; case Targets.Self: selectedTarget = map.selecterPlayer; GameObject PlayerSelf = GameObject.Find(map.selecterPlayer); PlayableCharacter playerSelf = PlayerSelf.GetComponent <PlayableCharacter> (); GameObject TileSelf = GameObject.Find("Hex_" + playerSelf.PlayerClass.TileX + "_" + playerSelf.PlayerClass.TileY); ClickableTile tileSelf = TileSelf.GetComponent <ClickableTile> (); highlightTiles.tileX = tileSelf.tileX; highlightTiles.tileY = tileSelf.tileY; highlightTiles.ShowHoveringTileSkill(); break; case Targets.AreaMobility: GameObject AreaMobility = GameObject.Find("_Scripts"); ChangeTilesArea areaMobility = AreaMobility.GetComponent <ChangeTilesArea> (); areaMobility.area = areaRange; areaMobility.skillDistance = range; buttonScripts.changeAreaTilesNoMid = true; break; case Targets.Trap: buttonScripts.trapSelected = true; break; default: break; } }