コード例 #1
0
 public void clickBattlecryTarget(GameObject g)
 {
     if (g.GetComponent <BoardCharacter>())
     {
         BoardCharacter c = g.GetComponent <BoardCharacter>();
         if (p.currentObj.GetComponent <HandCard>().representative != null)
         {
             if (p.currentObj.GetComponent <HandCard>().representative.effect.setBattlecryTarget(c))
             {
                 p.currentObj.GetComponent <HandCard>().aimingBattlecry = false;
                 Debug.Log("Aimed a battlecry");
             }
         }
         else if (p.currentObj.GetComponent <HandCard>().spellRepresentative != null)
         {
             if (p.currentObj.GetComponent <HandCard>().spellRepresentative.effect.setSpellTarget(c))
             {
                 Debug.Log("Aimed a spell");
                 p.currentObj.GetComponent <HandCard>().aimingBattlecry = false;
             }
         }
     }
     else
     {
         HandCard cardCancelled = p.currentObj.GetComponent <HandCard>();
         cancelBattlecry(cardCancelled);
     }
 }
コード例 #2
0
ファイル: Board.cs プロジェクト: zarzavat/TicTacToe
        public void SetPosition(int i, int j, BoardCharacter character)
        {
            if (IndexIsOutOfBounds(i) || IndexIsOutOfBounds(j))
                throw new IndexOutOfRangeException("Wrong Position index");

            int index = GetListIndex(i, j);
            positions[index] = character;
        }
コード例 #3
0
    //boardcharacters attack each other
    public void attack(BoardCharacter attacker, BoardCharacter target)
    {
        //give the attacker information about who its attacking so it knows how to
        //call the completeAttack method
        attacker.attackTarget = target;
        attacker.canAttack    = false;

        //start moving
        attacker.originalPos = attacker.transform.position;
        attacker.posToMoveTo = target.transform.position;
    }
コード例 #4
0
 public override bool setSpellTarget(BoardCharacter c)
 {
     if (c.type == "minion")
     {
         spellTarget = c;
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #5
0
ファイル: ExecuteEffect.cs プロジェクト: mdlandis/unity-hs
 public override bool setSpellTarget(BoardCharacter c)
 {
     if(c.cHealth < c.bHealth && c.type == "minion" && c.Player != caster)
     {
         spellTarget = c;
         return true;
     }
     else
     {
         return false;
     }
 }
コード例 #6
0
 public override bool setSpellTarget(BoardCharacter c)
 {
     if (c.type == "minion" && self.player.board.Contains((Minion)c))
     {
         spellTarget = c;
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #7
0
 public void clickBoardCharacter(BoardCharacter charClicked)
 {
     if (!p.currentObj)
     {
         p.currentObj  = charClicked.gameObject;
         p.originalPos = p.currentObj.transform.position;
         foreach (BoardCharacter c in charClicked.getValidAttackTargets())
         {
             Debug.Log(c.card.filename);
         }
     }
 }
コード例 #8
0
 public override bool setBattlecryTarget(BoardCharacter c)
 {
     if (c.type == "hero")
     {
         battlecryTarget = c;
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #9
0
 public override bool setBattlecryTarget(BoardCharacter c)
 {
     if (c.cAttack >= 7)
     {
         battlecryTarget = c;
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #10
0
    public void clickAttackTarget(GameObject g)
    {
        if (g.GetComponent <BoardCharacter>())
        {
            BoardCharacter target   = g.GetComponent <BoardCharacter>();
            BoardCharacter attacker = p.currentObj.GetComponent <BoardCharacter>();
            foreach (BoardCharacter c in attacker.getValidAttackTargets())
            {
                Debug.Log(c.card.filename);
            }


            if (attacker.getValidAttackTargets().Contains(target))
            {
                p.attack(attacker, target);
            }
        }


        p.currentObj = null;
    }
コード例 #11
0
    public void completeAttack(BoardCharacter attacker, BoardCharacter target)
    {
        //move back to starting location & reset
        attacker.posToMoveTo  = attacker.originalPos;
        attacker.attackTarget = null;

        //deal damage to each other
        EffectsController.dealDamage(target, attacker.cAttack);
        EffectsController.dealDamage(attacker, target.cAttack);

        //if a hero is the one attacking, subtract durability from weapon
        if (attacker.type == "hero")
        {
            Hero attackingHero = (Hero)attacker;
            attackingHero.attacked = true;
            if (attackingHero.equipped != null)
            {
                attackingHero.equipped.cDurability--;
            }
        }
    }
コード例 #12
0
    public static int restoreHealth(BoardCharacter target, int amount)
    {
        int healed = amount;

        if (target.cHealth == target.bHealth)
        {
            healed = 0;
        }
        else
        {
            target.restoreHealth(amount);
            healed = amount;
        }

        DamageLabel label = GameObject.Instantiate(lb) as DamageLabel;

        label.transform.position             = target.transform.position;
        label.GetComponent <TextMesh>().text = "+" + healed;
        label.attached = target;

        return(healed);
    }
コード例 #13
0
    public static int dealDamage(BoardCharacter target, int amount)
    {
        int dealt = amount;

        if (target.cstatts.Contains("divineshield"))
        {
            target.cstatts.Remove("divineshield");
            target.ostatts.Remove("divineshield");
            dealt = 0;
        }
        else
        {
            target.takeDamage(amount);
            dealt = amount;
        }

        DamageLabel label = GameObject.Instantiate(lb) as DamageLabel;

        label.transform.position             = target.transform.position;
        label.GetComponent <TextMesh>().text = "-" + dealt;
        label.attached = target;


        if (dealt > 0)
        {
            if (target.type == "minion")
            {
                Minion t = (Minion)target;
                t.effect.onSelfDamaged();
                sendTriggerTo(t.Player.board, "onFriendlyMinionDamaged");
                sendTriggerTo(CardController.getController().getOtherPlayer(t.Player).board, "onEnemyMinionDamaged");
                sendTriggerTo(getAllMinions(), "onMinionDamaged");
            }
        }


        return(dealt);
    }
コード例 #14
0
 public virtual bool getBattlecryTarget()
 {
     battlecryTarget = null;
     return(false);
 }
コード例 #15
0
ファイル: Game.cs プロジェクト: zarzavat/TicTacToe
 private void CheckForWinner()
 {
     int boardDimension = board.GetDimension();
     var boardCharacter = CheckHorizontalWinner(boardDimension);
     if (boardCharacter == BoardCharacter.Empty)
     {
         boardCharacter = CheckVerticalWinner(boardDimension);
     }
     if (boardCharacter == BoardCharacter.Empty)
     {
         boardCharacter = CheckDiagonalWinner(boardDimension);
     }
     gameWinner = boardCharacter;
 }
コード例 #16
0
ファイル: ComputerPlayer.cs プロジェクト: zarzavat/TicTacToe
 public ComputerPlayer(BoardCharacter characterType)
 {
     this.characterType = characterType;
 }
コード例 #17
0
 public override bool setBattlecryTarget(BoardCharacter c)
 {
     battlecryTarget = c;
     return(true);
 }
コード例 #18
0
 public virtual bool setBattlecryTarget(BoardCharacter c)
 {
     return(true);
 }
コード例 #19
0
ファイル: SoulfireEffect.cs プロジェクト: mdlandis/unity-hs
 public override bool setSpellTarget(BoardCharacter c)
 {
     spellTarget = c;
     return(true);
 }
コード例 #20
0
 public static void dealSpellDamage(BoardCharacter target, int amount)
 {
     dealDamage(target, amount);
 }
コード例 #21
0
        // public void SelectTile(string tile)
        // {
        //     if (_selectedTile != null)
        //     {
        //         _selectedTile.Unselect();
        //         _selectedTile = null;
        //     }

        //     var t = _tiles[tile];
        //     if (!t.ObjectOnTile) return;
        //     t.Select();
        //     _selectedTile = t;
        // }

        public void RemoveTileObject(BoardCharacter getUnit) => _tiles[getUnit.TileId].ObjectOnTile = null;
コード例 #22
0
ファイル: SpellEffect.cs プロジェクト: mdlandis/unity-hs
 public virtual bool setSpellTarget(BoardCharacter c)
 {
     spellTarget = c;
     return(true);
 }