コード例 #1
0
ファイル: BasicMeleeAttack.cs プロジェクト: nwarcord/Wisp
    public bool ExecuteAttack(Vector3 tileCoords, int dmgMod, int rangeMod)
    {
        Transform target = TileSystem.ObjectAtTile(tileCoords);

        if (target != null && TileSystem.TileDistance(target.position, actorPosition.position) <= (range + rangeMod))
        {
            ICanBeDamaged victim = target.GetComponent <ICanBeDamaged>();
            if (victim != null)
            {
                victim.TakeDamage(damage + dmgMod);
                return(true);
            }
        }
        return(false);
    }
コード例 #2
0
ファイル: MeleeAttack.cs プロジェクト: nwarcord/Wisp
    public override bool ExecuteAttack(Vector3 tileCoords, int modifier)
    {
        Transform actorPosition = gameObject.transform;
        Transform target        = TileSystem.ObjectAtTile(tileCoords);

        if (target != null && TileSystem.TileDistance(target.position, actorPosition.position) <= range)
        {
            ICanBeDamaged victim = target.GetComponent <ICanBeDamaged>();
            if (victim != null)
            {
                victim.TakeDamage(damage * modifier);
                return(true);
            }
        }
        return(false);
    }