2023-12-14 14:47:14 +08:00
|
|
|
using System.Collections.Generic;
|
2023-08-22 19:08:45 +08:00
|
|
|
using Framework;
|
2023-12-14 14:47:14 +08:00
|
|
|
using Gameplay.Area;
|
2023-08-22 19:08:45 +08:00
|
|
|
using Gameplay.Character;
|
2023-12-14 14:47:14 +08:00
|
|
|
using Gameplay.Common;
|
|
|
|
|
using Gameplay.Unit;
|
2023-08-22 19:08:45 +08:00
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace Gameplay.Level
|
|
|
|
|
{
|
|
|
|
|
public partial class Level
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public MapData.Region GetFallbackRegion(int troopId)
|
|
|
|
|
{
|
|
|
|
|
var fallbackRegionId = Constants.INVALID_ID;
|
|
|
|
|
switch (troopId)
|
|
|
|
|
{
|
|
|
|
|
case ETroopsId.Self:
|
|
|
|
|
fallbackRegionId = _levelData.fallbackRegionId;
|
|
|
|
|
break;
|
|
|
|
|
case ETroopsId.Enemy1:
|
2024-06-03 14:40:28 +08:00
|
|
|
case ETroopsId.Enemy2:
|
2023-08-22 19:08:45 +08:00
|
|
|
fallbackRegionId = _levelData.enemyFallbackRegionId;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
fallbackRegionId = _levelData.fallbackRegionId;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (ValueValidator.IsIdValid(fallbackRegionId))
|
|
|
|
|
{
|
|
|
|
|
return _map.MapData.GetRegion(fallbackRegionId);
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
2023-12-14 14:47:14 +08:00
|
|
|
|
|
|
|
|
public void ShowUnitAroundRegion(GameUnit unit, bool isNeedShow)
|
|
|
|
|
{
|
|
|
|
|
var positions = AreaManager.instance.GetCellIndexsAround(unit.transData.cellIndex, 1);
|
|
|
|
|
|
|
|
|
|
_map.SetBlocksColor(positions, isNeedShow, MapUtils.GetRGBAColor("FF960072"));
|
|
|
|
|
}
|
2023-08-22 19:08:45 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|