Esempio n. 1
0
    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();
            }
        }
    }
Esempio n. 2
0
    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);
                }
            }
        }
    }
Esempio n. 3
0
    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();
    }
Esempio n. 4
0
    void HighlightTiles(int tileXthis, int tileYthis)
    {
        GameObject     HighlightTiles = GameObject.Find("_Scripts");
        HighlightTiles highlightTiles = HighlightTiles.GetComponent <HighlightTiles> ();

        highlightTiles.tileX = tileXthis;
        highlightTiles.tileY = tileYthis;
        highlightTiles.ShowTilesThatWillBeHitSkill();
    }
Esempio n. 5
0
 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();
 }
Esempio n. 6
0
    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();
                            }
                        }
                    }
                }
            }
        }
    }
Esempio n. 7
0
    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();
                }
            }
        }
    }
Esempio n. 8
0
    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;
    }
Esempio n. 9
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();
        }
    }
Esempio n. 10
0
    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();
            }
        }
    }
Esempio n. 11
0
    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();
    }
Esempio n. 12
0
    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();
                }
            }
        }
    }
Esempio n. 13
0
    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();
        }
    }
Esempio n. 14
0
    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();
                }
            }
        }
    }
Esempio n. 15
0
    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();
        }
    }
Esempio n. 16
0
    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;
        }
    }