Browse Source

0710BUGFIX

pull/11/head
yjm484 2 years ago
parent
commit
f95ac5d8c6
  1. 10
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs
  2. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_2.cs
  3. 24
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs
  4. 3
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnityManager.cs

10
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs

@ -272,7 +272,15 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
cardEntity.influencePreviewPool = handler.HandleAngleWithResult(euler);
}
cardEntity.influencePreviewPool=MathTool.RemoveDuplicates(cardEntity.influencePreviewPool);
getNodeTools.checkListPass(cardEntity.influencePreviewPool);
if (effectRange.Equals(EffectRange.range8_2)|| effectRange.Equals(EffectRange.range6_3))
{
getNodeTools.checkListPass(cardEntity.influencePreviewPool, playerOnNode);
}
else
{
getNodeTools.checkListPass(cardEntity.influencePreviewPool, currentNode);
}
}

17
ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_2.cs

@ -56,15 +56,14 @@ public class EffectRangeHandler6_2 : EffectRangeHandlerBase
private void get6_2Node(MapUnity currentNode,int value)
{
if (tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value,2)]))
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value, 2)].unitPool[value]);
}
if (tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(value,2)]))
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(value, 2)].unitPool[value]);
}
/*tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value, 2)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value, 2)].unitPool[value]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(value, 2)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(value, 2)].unitPool[value]);*/
tryGetNodeInfluencedable(currentNode.unitPool[value]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value, 2)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value, 1)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(value, 2)]);
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(value, 1)]);
}
}

24
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs

@ -97,32 +97,30 @@ public class getNodeTools
}
public static void checkListPass(List<MapUnity> mapUnityList)
{
for (int i = 0; i < mapUnityList.Count; i++)
public static void checkListPass(List<MapUnity> mapUnityList, MapUnity mapUnity)
{
for (int i = mapUnityList.Count - 1; i >= 0; i--)
{
Debug.Log( "XÊÇ£º" + mapUnityList[i].locationX + "YÊÇ£º" + mapUnityList[i].locationY);
if (!checkNodePass(mapUnityList[i]))
if (!checkNodePass(mapUnityList[i], mapUnity))
{
mapUnityList.Remove(mapUnityList[i]);
mapUnityList.RemoveAt(i);
}
}
}
public static bool checkNodePass(MapUnity mapUnity)
public static bool checkNodePass(MapUnity mapUnity, MapUnity centerMapUnity)
{
LayerMask layerMask=new LayerMask();
int blockLayer = LayerMask.NameToLayer("Block");
layerMask |= (1 << blockLayer);
bool canPass=true;
//MapUnity playerOnNode = GameManager.Instance.playerOn.transform.GetComponent<MapUnity>();
var playerOnNode=GameManager.Instance.player;
float distance = Vector3.Distance(playerOnNode.transform.position, mapUnity.transform.position);
Vector3 dir = mapUnity.transform.position - playerOnNode.transform.position;
Ray ray = new Ray(playerOnNode.transform.position, dir);
//var playerOnNode=GameManager.Instance.player;
float distance = Vector3.Distance(centerMapUnity.transform.position, mapUnity.transform.position);
Vector3 dir = mapUnity.transform.position - centerMapUnity.transform.position;
Ray ray = new Ray(centerMapUnity.transform.position, dir);
if (Physics.Raycast(ray, out RaycastHit raycastHit, distance, layerMask.value))
{
canPass = false;

3
ColorlessWorld-2024-4-2/Assets/Scripts/manager/MapUnityManager.cs

@ -64,7 +64,8 @@ public class MapUnityManager : Singleton<MapUnityManager>
}
castPool=MathTool.RemoveDuplicates(castPool);
Debug.Log("去除前数量是" + castPool.Count);
getNodeTools.checkListPass(castPool);
MapUnity playerOnNode = GameManager.Instance.playerOn.transform.GetComponent<MapUnity>();
getNodeTools.checkListPass(castPool,playerOnNode);
//castPool.Distinct().ToList();
//getNodeTools.checkListPass(castPool);
//遍历影响池变色

Loading…
Cancel
Save