Browse Source

死循环bug修复

pull/181/head
yjm484 4 months ago
parent
commit
13339e1bfb
  1. 27
      ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta
  2. 48
      ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs

27
ColorlessWorld-2024-4-2/Assets/Plugins/Microsoft.CSharp.dll.meta

@ -0,0 +1,27 @@
fileFormatVersion: 2
guid: a94cf6fef2879da4c91e5ef768aadf4e
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:

48
ColorlessWorld-2024-4-2/Assets/Scripts/Weapon/WeaponNode.cs

@ -423,29 +423,69 @@ public class WeaponNode : MonoBehaviour,IDragHandler, IBeginDragHandler, IEndDra
break;
case Name.WeaponNodeCondition.positionUnused:
Transform weaponSlotA = WeaponManager.Instance.playerWeaponNodeList.GetChild(int.Parse(conditionValue));
if (weaponSlotA == null)
{
check = false;
break;
}
if (weaponSlotA.childCount>0)
{
Transform weaponANode = weaponSlotA.GetChild(0);
WeaponNode nodeA = weaponANode.transform.GetComponent<WeaponNode>();
if (position == int.Parse(conditionValue))
if (weaponANode == null || nodeA == null)
{
check = false;
break;
}
if (position == int.Parse(conditionValue) || nodeA.condition.Equals(Name.WeaponNodeCondition.position) || nodeA.condition.Equals(Name.WeaponNodeCondition.positionUnused))
{
check = false;
break;
}
else if (!nodeA.ConditionCheck(int.Parse(conditionValue)))
{
check = true;
}
}
else
{
check = false;
break;
}
break;
case Name.WeaponNodeCondition.positionUsed:
Transform weaponSlotB = WeaponManager.Instance.playerWeaponNodeList.GetChild(int.Parse(conditionValue));
if (weaponSlotB == null)
{
check=false;
break;
}
if (weaponSlotB.childCount > 0)
{
Transform weaponBNode = weaponSlotB.GetChild(0);
WeaponNode nodeB = weaponBNode.transform.GetComponent<WeaponNode>();
if (position == int.Parse(conditionValue))
if (weaponBNode == null || nodeB == null)
{
check = false;
break;
}
if (position == int.Parse(conditionValue) || nodeB.condition.Equals(Name.WeaponNodeCondition.position) || nodeB.condition.Equals(Name.WeaponNodeCondition.positionUnused))
{
check = false;
break;
}
else if (nodeB.ConditionCheck(int.Parse(conditionValue)))
{
check = true;
}
}
else
{
check = false;
break;
}
break;
case Name.WeaponNodeCondition.node:
check = checkConditionNode(nodesMark, nodesColor);

Loading…
Cancel
Save