コード例 #1
0
ファイル: PyramidController.cs プロジェクト: pinieb/HexGame
        /// <summary>
        /// Attacks another unit
        /// </summary>
        /// <param name="unit">Unit to attack</param>
        protected override void Attack(Unit unit)
        {
            GameLogger.Instance.AddMove(ActionRecord.AttackAction(this, this.Coordinate, unit, unit.Coordinate));

            this.AnimationState = AnimationState.Attack;
            this.StartCoroutine(this.AnimateAttack(
                                    unit,
                                    () =>
            {
                this.AnimationState = AnimationState.Idle;
                unit.Health        -= this.AttackPower;
            }));
        }
コード例 #2
0
ファイル: ArrowController.cs プロジェクト: pinieb/HexGame
        /// <summary>
        /// Attacks another unit
        /// </summary>
        /// <param name="unit">Unit to attack</param>
        protected override void Attack(Unit unit)
        {
            GameLogger.Instance.AddMove(ActionRecord.AttackAction(this, this.Coordinate, unit, unit.Coordinate));
            this.LookAt(unit.transform.position);

            this.AnimationState = AnimationState.Attack;
            var bullet = (GameObject)Instantiate(this.Bullet);

            bullet.transform.position = this.BulletSpawn.transform.position;
            this.StartCoroutine(bullet.GetComponent <BulletController>().SendTo(
                                    unit.transform.position,
                                    () =>
            {
                this.AnimationState = AnimationState.Idle;
                unit.Health        -= this.AttackPower;
            }));
        }
コード例 #3
0
ファイル: Unit.cs プロジェクト: pinieb/HexGame
 /// <summary>
 /// Attacks another unit
 /// </summary>
 /// <param name="unit">Unit to attack</param>
 protected virtual void Attack(Unit unit)
 {
     GameLogger.Instance.AddMove(ActionRecord.AttackAction(this, this.Coordinate, unit, unit.Coordinate));
     unit.Health -= this.AttackPower;
 }