NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/PlayerSkill/Logic/PlayerSkillLogic06.cs

64 lines
1.9 KiB
C#
Raw Normal View History

2023-12-13 14:58:11 +08:00
using Gameplay.Area;
using Gameplay.Common;
2023-12-13 16:20:41 +08:00
using Gameplay.Unit;
using Gameplay.Unit.Data;
2023-12-13 14:58:11 +08:00
namespace Gameplay.PlayerSkill.Logic
{
public class PlayerSkillLogic06 : BasePlayerSkillLogic
{
protected override void _OnInit()
{
base._OnInit();
var units = AreaManager.instance.GetUnitsByCellIndex(owner.selectedCellIndex);
GameUnit selectUnit = null;
for (int i = 0; i < units.Count; i++)
{
var unit = units[i];
if (unit.commonData.troopId == owner.playerUnit.commonData.troopId)
{
// 友军不生效
continue;
}
if (unit.gameunitType != EGameUnitType.Character)
{
// 只对角色生效
continue;
}
selectUnit = unit;
break;
}
if (selectUnit != null)
{
2023-12-14 18:25:52 +08:00
var allUnits = GameUnitManager.instance.infightUnits;
for (int i = 0; i < allUnits.count; i++)
2023-12-13 14:58:11 +08:00
{
2023-12-14 18:25:52 +08:00
var unit = allUnits.GetByIndex(i);
2023-12-13 14:58:11 +08:00
if (unit.commonData.troopId != owner.playerUnit.commonData.troopId)
{
// 只筛选友军
continue;
}
if (unit.gameunitType != EGameUnitType.Character)
{
// 只对角色生效
continue;
}
var charactor = unit as Character.Character;
if (charactor == null)
{
continue;
}
charactor.MoveTo(selectUnit);
}
}
isFinished = true;
}
}
}