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 = handler.HandleAngleWithResult(euler);
} }
cardEntity.influencePreviewPool=MathTool.RemoveDuplicates(cardEntity.influencePreviewPool); 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) private void get6_2Node(MapUnity currentNode,int value)
{ {
if (tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value,2)])) /*tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value, 2)]);
{ tryGetNodeInfluencedable(currentNode.unitPool[counter.Subtract(value, 2)].unitPool[value]);
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]);*/
if (tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(value,2)]))
{
tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(value, 2)].unitPool[value]);
}
tryGetNodeInfluencedable(currentNode.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) public static void checkListPass(List<MapUnity> mapUnityList, MapUnity mapUnity)
{ {
for (int i = 0; i < mapUnityList.Count; i++) for (int i = mapUnityList.Count - 1; i >= 0; i--)
{ {
Debug.Log( "XÊÇ£º" + mapUnityList[i].locationX + "YÊÇ£º" + mapUnityList[i].locationY); if (!checkNodePass(mapUnityList[i], mapUnity))
if (!checkNodePass(mapUnityList[i]))
{ {
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(); LayerMask layerMask=new LayerMask();
int blockLayer = LayerMask.NameToLayer("Block"); int blockLayer = LayerMask.NameToLayer("Block");
layerMask |= (1 << blockLayer); layerMask |= (1 << blockLayer);
bool canPass=true; bool canPass=true;
//MapUnity playerOnNode = GameManager.Instance.playerOn.transform.GetComponent<MapUnity>(); //MapUnity playerOnNode = GameManager.Instance.playerOn.transform.GetComponent<MapUnity>();
var playerOnNode=GameManager.Instance.player; //var playerOnNode=GameManager.Instance.player;
float distance = Vector3.Distance(playerOnNode.transform.position, mapUnity.transform.position); float distance = Vector3.Distance(centerMapUnity.transform.position, mapUnity.transform.position);
Vector3 dir = mapUnity.transform.position - playerOnNode.transform.position; Vector3 dir = mapUnity.transform.position - centerMapUnity.transform.position;
Ray ray = new Ray(playerOnNode.transform.position, dir); Ray ray = new Ray(centerMapUnity.transform.position, dir);
if (Physics.Raycast(ray, out RaycastHit raycastHit, distance, layerMask.value)) if (Physics.Raycast(ray, out RaycastHit raycastHit, distance, layerMask.value))
{ {
canPass = false; 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); castPool=MathTool.RemoveDuplicates(castPool);
Debug.Log("去除前数量是" + castPool.Count); Debug.Log("去除前数量是" + castPool.Count);
getNodeTools.checkListPass(castPool); MapUnity playerOnNode = GameManager.Instance.playerOn.transform.GetComponent<MapUnity>();
getNodeTools.checkListPass(castPool,playerOnNode);
//castPool.Distinct().ToList(); //castPool.Distinct().ToList();
//getNodeTools.checkListPass(castPool); //getNodeTools.checkListPass(castPool);
//遍历影响池变色 //遍历影响池变色

Loading…
Cancel
Save