示例#1
0
            /// <summary>
            /// 攻撃目標を取得する
            /// </summary>
            /// <param name="pattern"></param>
            /// <returns></returns>
            public UnitBaseController GetTargetUnitForMove(TargetUnitDetectionPattern pattern)
            {
                // 条件判定
                switch (pattern)
                {
                case TargetUnitDetectionPattern.Near:
                    break;

                case TargetUnitDetectionPattern.Far:
                    break;

                case TargetUnitDetectionPattern.LowestHp:
                    break;

                case TargetUnitDetectionPattern.HighestHp:
                    break;

                case TargetUnitDetectionPattern.Player:
                    return(UnitManager.Instance.playerController);

                case TargetUnitDetectionPattern.Hero:
                    return(UnitManager.Instance.heroController);

                case TargetUnitDetectionPattern.OtherUnit:
                    break;

                default:
                    break;
                }

                return(null);
            }
示例#2
0
            /// <summary>
            /// ユニットを対象にパス検索を行う
            /// </summary>
            public void DoRequestPathFinding(TargetUnitDetectionPattern pattern)
            {
                UnitBaseController target;

                // 仮
                target = UnitManager.Instance.heroController;

                switch (pattern)
                {
                case TargetUnitDetectionPattern.Near:
                    break;

                case TargetUnitDetectionPattern.Far:
                    break;

                case TargetUnitDetectionPattern.LowestHp:
                    break;

                case TargetUnitDetectionPattern.HighestHp:
                    break;

                case TargetUnitDetectionPattern.Player:
                    target = UnitManager.Instance.playerController;
                    break;

                case TargetUnitDetectionPattern.Hero:
                    target = UnitManager.Instance.heroController;
                    break;

                case TargetUnitDetectionPattern.OtherUnit:
                    break;

                default:
                    break;
                }

                DoRequestPathFinding(target.GetCharacterMovement().currentGridPosition);
            }
示例#3
0
            /// <summary>
            /// 敵のリストから、攻撃すべき敵を返す
            /// </summary>
            /// <param name="enemyUnits"></param>
            /// <param name="pattern"></param>
            /// <returns></returns>
            public UnitBaseController SelectAttackEnemy(List <UnitBaseController> enemyUnits, TargetUnitDetectionPattern pattern)
            {
                if (enemyUnits.Count <= 0)
                {
                    return(null);
                }

                for (int i = 0; i < enemyUnits.Count; i++)
                {
                    // Todo ひとまずPlayerかHeroのみ
                    switch (pattern)
                    {
                    case TargetUnitDetectionPattern.Near:
                        break;

                    case TargetUnitDetectionPattern.Far:
                        break;

                    case TargetUnitDetectionPattern.LowestHp:
                        break;

                    case TargetUnitDetectionPattern.HighestHp:
                        break;

                    case TargetUnitDetectionPattern.Player:
                        if (enemyUnits[i] == UnitManager.Instance.playerController)
                        {
                            return(enemyUnits[i]);
                        }
                        break;

                    case TargetUnitDetectionPattern.Hero:
                        if (enemyUnits[i] == UnitManager.Instance.heroController)
                        {
                            return(enemyUnits[i]);
                        }
                        break;

                    case TargetUnitDetectionPattern.OtherUnit:
                        break;

                    default:
                        break;
                    }
                }

                return(enemyUnits[0]);
            }