Browse Source

0611更新

pull/1/head
yjm484 2 years ago
parent
commit
470124d96e
  1. 38
      ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v01.prefab
  2. 7
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  3. 6
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDeck.cs
  4. 259
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs
  5. 383
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs
  6. 17
      ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs
  7. 21
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/randomTool.cs
  8. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/randomTool.cs.meta
  9. 4
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs
  10. BIN
      ColorlessWorld-2024-4-2/Library/ArtifactDB
  11. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/05/0547ba80b14b01efd24bd0a4b8124d5e
  12. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/10/10d6c336ccb55ff09dabd02390112b01
  13. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/13/134118ae338ec41fe951488db0efb9a5
  14. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/14/14c8305599652b62bac329856a88f6ce
  15. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/14/14f85c536ca5922e7b69a0a5023ef394
  16. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/17/17975ad37a458b43502cda74cdbca4e2
  17. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/1b/1bb2ede7c6406adc04d6c87357c25916
  18. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/22/225d378ffa06158cb7242ae76136fa3d
  19. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/22/22c40d41497c4b6c5d5baa21c15e9652
  20. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/24/242232c89d1b4a4ca20490c81acbd032
  21. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/24/24aa25aea6ced09d788d18a6ab1a89e4
  22. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/27/27d7f58233ca34372beaf39726d37ec7
  23. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/2b/2b61cccb8178caa22854948a10dd7338
  24. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/2b/2b6693f1bc87427f6e5a323586a28613
  25. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/2e/2e727cda09f8605bdd99d211814a0926
  26. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/2f/2f11125eef64e86d6002cc7f5dbac5ba
  27. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/36/364df25186ff42c600cfcae3610cbbb0
  28. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/38/380c7476a1d8c989188cd553217d4bf3
  29. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/44/449960d828d26baa2db10aa77c5e6067
  30. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/47/4760a75315aa364ce9216873cf4b1119
  31. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/47/47c72aa726e468c0901b4404716c7681
  32. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/47/47cee31b30379a16ecace94feea12aa3
  33. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/4b/4b25b662c77c0d5a096f3f7ccc0c04d6
  34. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/4f/4f2afeed96106875eadfe00801df7f17
  35. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/4f/4f93cb12309c88b58868574cc18b3553
  36. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/55/55d06444b212e303538d978ae59d0154
  37. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/55/55f1b7a7c790c42982c737eae7244d43
  38. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/57/579081a02bf73d397df28b556366ece4
  39. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/5d/5d2f998d1675cdd4bcaff09278424434
  40. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/61/6146dbad5fdcd08a36397108784235af
  41. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/61/61de71d3ac941017159cbaf3a8f0f5a6
  42. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/61/61ebd552db23853b76be5fd88a24db5c
  43. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/66/6647bc5e83dd5c8edeb9b37534c4541a
  44. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/69/69495ec19cdd7cd61a7358fc095f8554
  45. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/6a/6ae1acf8844434090fcd18bf17a55e76
  46. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/7b/7b3e7cf4e7a1fb140d74d7f8cde16d51
  47. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/82/82e43adfb7a9ca8f78e976d979d7e173
  48. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/83/830a5c40373ffb5ab2da95492343f158
  49. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/8c/8c15ae7af559f92be6be79536a02f498
  50. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/92/922be178b8e3285c99829d3d8f24833e
  51. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/95/95133132680dd6eb8fab4503095f544f
  52. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/96/965016f26e462ec6a0bc8e5c4116bcc0
  53. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/9b/9bb2dca49454d80ebcd7ccc68ef3dd2e
  54. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/9c/9cac50359fc9f1a90bb7176f9f7f493a
  55. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/9d/9daf6c4c8e91891c568754fdb66999ea
  56. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/a2/a2c7eeb7392a75c18aff0acb11f2134a
  57. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/a9/a91c350e39ab39c8c01656b28d95c241
  58. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/b6/b6fa58eca111f9efba0d442acbd26df0
  59. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/c4/c4058199dc88d4c84214c6958bbba988
  60. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/c4/c4a7065396d8eef59e8f337b405f8896
  61. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/cc/cc006b3adf4f5e82f1b674f503b8785b
  62. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/cd/cdf8f7d1b72df953b23210278819c689
  63. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/d0/d02e174a16a6bda8d0f455a1f7373217
  64. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/d6/d6982899effe0f7c5c4a0dbd84c6e4d0
  65. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/dc/dcad224e234eb1a08443aad2470a5145
  66. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/e8/e824a945b96c056813cad5a06f3ff569
  67. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/ea/ea57de3b2d4f7989f3962004ad148475
  68. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/ec/ec86c95a751d815468bfcc2e21be7a3a
  69. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/ef/ef33c6f0662c6e33139df186711df4a3
  70. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/f2/f217bb80b721d843920768c21a52a0aa
  71. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/ff/ff0390e65a5c2bd7295b71f1b69b84a1
  72. BIN
      ColorlessWorld-2024-4-2/Library/Artifacts/ff/ff929da23e7f750bf4395778d1c91a56
  73. 2
      ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg-inputdata.json
  74. BIN
      ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag
  75. 786
      ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag.json
  76. 2
      ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag.outputdata
  77. BIN
      ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag.payloads
  78. BIN
      ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag_derived
  79. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/0addd3367af25da326e95d2a6cc0b83b_out
  80. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/11044e0f3db1f333d6edf88564d1807a_out
  81. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/16cc826b867577242537d043a30f9917_out
  82. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/184a50a1b4e992993273dda3da6f257a_out
  83. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/22a6851e84d2414d52ebc828df675f3a_out
  84. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/23fb6bbf97ea85122a9600f74cf2ade3_out
  85. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/243688fdd79c9f22c6fd8c4beb6ede1b_out
  86. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/25ef2a3e7aa85778b336bbc806e48c7d_out
  87. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/26e7d2ad469d9d17a6124597a2ee5937_out
  88. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/29099023120d8999cb5eb3b79714ee50_out
  89. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/33c505506f2569eff414568d9e90b981_out
  90. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/36f2f34e7f4f48b57905f46f8c60d348_out
  91. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/426911521ce766470fa7f759f3ccea67_out
  92. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/49a4dedabeca7ee4402901843e620c74_out
  93. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/4b2e08051477ebe67151a6506b615784_out
  94. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/4e0fa280d955255f15e6e63b8375247c_out
  95. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/4fcfe2eb433cc84b271ed9332efe15ca_out
  96. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/6779ad0b5e8ec234a8b807896266b6b4_out
  97. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/71eb0d8682db29cea1ddc8853ac43cef_out
  98. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/73d68273a2d5c2fd66197b87b18a3520_out
  99. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/77b0550c2601fc4c5f4bd0ad4b75915a_out
  100. 0
      ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/7bcc80c878f2d7f708baad4c0b8bf0c3_out

38
ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v01.prefab

@ -798,10 +798,10 @@ GameObject:
- component: {fileID: 7032930392706796801} - component: {fileID: 7032930392706796801}
- component: {fileID: 1721283816090231721} - component: {fileID: 1721283816090231721}
- component: {fileID: 7025343009472937813} - component: {fileID: 7025343009472937813}
- component: {fileID: 5066967261904071208}
- component: {fileID: 8067268704048347736} - component: {fileID: 8067268704048347736}
- component: {fileID: 2967471168845626985} - component: {fileID: 2967471168845626985}
- component: {fileID: 1131717685372222914} - component: {fileID: 1131717685372222914}
- component: {fileID: 770420557596943942}
m_Layer: 5 m_Layer: 5
m_Name: Card_v01 m_Name: Card_v01
m_TagString: Untagged m_TagString: Untagged
@ -872,24 +872,6 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!114 &5066967261904071208
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3410471369990512392}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 80971e1d1b78104439c3472d4276e502, type: 3}
m_Name:
m_EditorClassIdentifier:
originalParent: {fileID: 0}
originalpoint: {x: 0, y: 0, z: 0}
eventSystem: {fileID: 0}
ainPanle: {fileID: 1075869202937435496}
currentNode: {fileID: 0}
influencePreviewPool: []
--- !u!114 &8067268704048347736 --- !u!114 &8067268704048347736
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -934,13 +916,29 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9878eb734a9bb9e448c1a125b1e863e6, type: 3} m_Script: {fileID: 11500000, guid: 9878eb734a9bb9e448c1a125b1e863e6, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
influencePreviewPool: []
cardId: 0 cardId: 0
cost: {fileID: 2236789563960399494}
cardDescription: {fileID: 2257759688655818602}
cardName: {fileID: 5281579542142419986}
costEnough: 1
--- !u!114 &770420557596943942
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3410471369990512392}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 80971e1d1b78104439c3472d4276e502, type: 3}
m_Name:
m_EditorClassIdentifier:
originalParent: {fileID: 0} originalParent: {fileID: 0}
originalpoint: {x: 0, y: 0, z: 0} originalpoint: {x: 0, y: 0, z: 0}
eventSystem: {fileID: 0} eventSystem: {fileID: 0}
ainPanle: {fileID: 1075869202937435496} ainPanle: {fileID: 1075869202937435496}
currentNode: {fileID: 0} currentNode: {fileID: 0}
influencePreviewPool: []
--- !u!1 &4245510081586536158 --- !u!1 &4245510081586536158
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

7
ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity

@ -2456,6 +2456,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0ddfb517f3ae49c42b2c7ff57e12f8d8, type: 3} m_Script: {fileID: 11500000, guid: 0ddfb517f3ae49c42b2c7ff57e12f8d8, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
totalCost: 0
--- !u!1 &514899946 --- !u!1 &514899946
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -4660,6 +4661,8 @@ MonoBehaviour:
usedCard: {fileID: 1964831963} usedCard: {fileID: 1964831963}
cardDeckNumberText: {fileID: 1278694494} cardDeckNumberText: {fileID: 1278694494}
usedCardNumberText: {fileID: 591146068} usedCardNumberText: {fileID: 591146068}
currentCost: 0
totalCost: 0
turn: 0 turn: 0
--- !u!4 &1108322117 --- !u!4 &1108322117
Transform: Transform:
@ -5034,8 +5037,8 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
cardPrefab: {fileID: 3410471369990512392, guid: d255d4b8a06372542bcbeef98cf4761c, cardPrefab: {fileID: 3410471369990512392, guid: d255d4b8a06372542bcbeef98cf4761c,
type: 3} type: 3}
cardList: 11270000112700001127000011270000112700001127000011270000112700001227000012270000122700001227000012270000122700001227000012270000 cardList:
cardDeck: 00000000 cardDeck: 112700001127000011270000112700001127000011270000122700001227000012270000122700001227000012270000
--- !u!4 &1190351098 --- !u!4 &1190351098
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

6
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDeck.cs

@ -8,4 +8,10 @@ public class CardDeck : MonoBehaviour
public List<int> cardList;//局内使用卡组 public List<int> cardList;//局内使用卡组
public List<int> cardDeck;//标准卡组 public List<int> cardDeck;//标准卡组
public void Start()
{
cardList = cardDeck;
cardList.Shuffle();
}
} }

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

@ -13,30 +13,90 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
public Transform originalParent; public Transform originalParent;
public Vector3 originalpoint; public Vector3 originalpoint;
public EventSystem eventSystem; public EventSystem eventSystem;
bool canUse = true;//决定卡牌是否可以释放
bool choosed;//标识卡牌是否被选中
[Header("贝塞尔曲线瞄准")] [Header("贝塞尔曲线瞄准")]
public GameObject ainPanle; public GameObject ainPanle;
[Header("影响格参数")] [Header("影响格参数")]
public MapUnity currentNode;//瞄准的格子 public MapUnity currentNode;//瞄准的格子
public List<MapUnity> influencePreviewPool;
//[Header("卡牌属性")] //[Header("卡牌属性")]
private CardEntity cardEntity;
void Start() void Start()
{ {
eventSystem = GameObject.FindObjectOfType<EventSystem>(); eventSystem = GameObject.FindObjectOfType<EventSystem>();
cardEntity=GetComponent<CardEntity>();
} }
private void Update() private void Update()
{
handleRightClickCancel();
}
//检查卡牌的费用是否可以释放
private void costCheck()
{
Debug.Log("当前费用:" + TurnMaster.Instance.currentCost);
Debug.Log("总费用:" + Usermanager.Instance.totalCost);
if (TurnMaster.Instance.currentCost - cardEntity.cardOriginalData.Cost < 0)
{
Debug.Log("费用不足");
cardEntity.costEnough = false;
}
}
private void resetComponentPosition()
{
//遍历范围预览池消除影响色
for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++)
{
GameManager.Instance.player.influencePreviewPool[i].influenced = false;
}
GameManager.Instance.player.influencePreviewPool.Clear();
//遍历影响池变色
for (int i = 0; i < cardEntity.influencePreviewPool.Count; i++)
{
cardEntity.influencePreviewPool[i].influenced = false;
}
cardEntity.influencePreviewPool.Clear();
//其他位置都归位
transform.SetParent(originalParent);
transform.localPosition = originalpoint;
GetComponent<CanvasGroup>().blocksRaycasts = true;
return;
}
//右键取消释放
private void handleRightClickCancel()
{ {
if (choosed && Mouse.current.rightButton.wasPressedThisFrame)
{
Debug.Log("取消释放");
canUse = false;//取消释放
ainPanle.SetActive(false);
resetComponentPosition();
}
} }
public void OnBeginDrag(PointerEventData eventData) public void OnBeginDrag(PointerEventData eventData)
{ {
// if (GameObject.Find("CardPanel") != null) // if (GameObject.Find("CardPanel") != null)
// graphicRaycaster = GameObject.Find("CardPanel").GetComponent<GraphicRaycaster>(); // graphicRaycaster = GameObject.Find("CardPanel").GetComponent<GraphicRaycaster>();
costCheck();
if (!cardEntity.costEnough)
{
return;
}
choosed = true;
GetComponent<CanvasGroup>().blocksRaycasts = false; GetComponent<CanvasGroup>().blocksRaycasts = false;
@ -47,32 +107,19 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
transform.position = eventData.position; transform.position = eventData.position;
//根据卡牌数据决定是否调用曲线 //根据卡牌数据决定是否调用曲线
if (cardEntity.cardOriginalData.CastingRange != 0)
{
//释放范围为0则不需要调用曲线
ainPanle.SetActive(true); ainPanle.SetActive(true);
//todo-统一确定锚点位置
//重新调用范围预览--以后要写到卡牌效果里,现在默认影响1格
GameManager.Instance.player.StepPreviewInfluencedNode(1);
} }
else
public void OnDrag(PointerEventData eventData)
{ {
/* Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition); ainPanle.SetActive(false);
pos.z = 0; }
transform.position = pos;*/ }
// transform.position = eventData.position;
//selecton = eventData.pointerCurrentRaycast.gameObject;
//返回射线碰到的物品名称
// if (eventData.pointerCurrentRaycast.gameObject != null)
// Debug.Log(eventData.pointerCurrentRaycast.gameObject.name);
private void ainPanleWork(PointerEventData eventData)
{
//射线检测瞄准的地图节点,判断是否可放置和改变放置影响区 //射线检测瞄准的地图节点,判断是否可放置和改变放置影响区
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value); Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if (eventData.pointerCurrentRaycast.gameObject != null) if (eventData.pointerCurrentRaycast.gameObject != null)
@ -83,85 +130,133 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
//检测到跟上次瞄准地方不同,更新 //检测到跟上次瞄准地方不同,更新
if (currentNode == null || raycastHit.collider.transform.gameObject != currentNode.gameObject) if (currentNode == null || raycastHit.collider.transform.gameObject != currentNode.gameObject)
{ {
for (int i = 0; i < influencePreviewPool.Count; i++) for (int i = 0; i < cardEntity.influencePreviewPool.Count; i++)
{ {
influencePreviewPool[i].influenced = false; cardEntity.influencePreviewPool[i].influenced = false;
} }
influencePreviewPool.Clear(); cardEntity.influencePreviewPool.Clear();
currentNode = raycastHit.collider.transform.GetComponent<MapUnity>(); currentNode = raycastHit.collider.transform.GetComponent<MapUnity>();
//重新调用范围预览 //重新调用范围预览
GameManager.Instance.player.StepPreviewInfluencedNode(1); GameManager.Instance.player.StepPreviewInfluencedNode(cardEntity.cardOriginalData.CastingRange);
Debug.Log(cardEntity.cardOriginalData.CastingRange);
//预览影响范围 //预览影响范围
if (currentNode.influenced) if (currentNode.influenced)
{ {
//根据卡牌属性改变影响池 //根据卡牌属性改变影响池
influencePreviewPool.Add(currentNode); cardEntity.influencePreviewPool.Add(currentNode);
Vector3 face = currentNode.transform.position - GameManager.Instance.playerOn.transform.position; Vector3 face = currentNode.transform.position - GameManager.Instance.playerOn.transform.position;
float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180; float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180;
Debug.Log(euler); Debug.Log(euler);
if (euler > 0 && euler < 45) if (euler > 0 && euler < 45)
{ {
if (currentNode.unitPool[0] != null) if (currentNode.unitPool[0] != null)
influencePreviewPool.Add(currentNode.unitPool[0]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[0]);
if (currentNode.unitPool[4] != null) if (currentNode.unitPool[4] != null)
influencePreviewPool.Add(currentNode.unitPool[4]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[4]);
} }
else if (euler > 45 && euler < 135) else if (euler > 45 && euler < 135)
{ {
if (currentNode.unitPool[1] != null) if (currentNode.unitPool[1] != null)
influencePreviewPool.Add(currentNode.unitPool[1]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[1]);
if (currentNode.unitPool[5] != null) if (currentNode.unitPool[5] != null)
influencePreviewPool.Add(currentNode.unitPool[5]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[5]);
} }
else if (euler > 135 && euler < 180) else if (euler > 135 && euler < 180)
{ {
if (currentNode.unitPool[2] != null) if (currentNode.unitPool[2] != null)
influencePreviewPool.Add(currentNode.unitPool[2]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[2]);
if (currentNode.unitPool[0] != null) if (currentNode.unitPool[0] != null)
influencePreviewPool.Add(currentNode.unitPool[0]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[0]);
} }
else if (euler > 180 && euler < 225) else if (euler > 180 && euler < 225)
{ {
if (currentNode.unitPool[1] != null) if (currentNode.unitPool[1] != null)
influencePreviewPool.Add(currentNode.unitPool[1]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[1]);
if (currentNode.unitPool[3] != null) if (currentNode.unitPool[3] != null)
influencePreviewPool.Add(currentNode.unitPool[3]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[3]);
} }
else if (euler > 225 && euler < 315) else if (euler > 225 && euler < 315)
{ {
if (currentNode.unitPool[2] != null) if (currentNode.unitPool[2] != null)
influencePreviewPool.Add(currentNode.unitPool[2]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[2]);
if (currentNode.unitPool[4] != null) if (currentNode.unitPool[4] != null)
influencePreviewPool.Add(currentNode.unitPool[4]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[4]);
} }
else if (euler > 315 && euler < 360) else if (euler > 315 && euler < 360)
{ {
if (currentNode.unitPool[3] != null) if (currentNode.unitPool[3] != null)
influencePreviewPool.Add(currentNode.unitPool[3]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[3]);
if (currentNode.unitPool[5] != null) if (currentNode.unitPool[5] != null)
influencePreviewPool.Add(currentNode.unitPool[5]); cardEntity.influencePreviewPool.Add(currentNode.unitPool[5]);
} }
//influencePreviewPool.Add(currentNode); //influencePreviewPool.Add(currentNode);
//遍历影响池变色
for (int i = 0; i < influencePreviewPool.Count; i++)
{ }
influencePreviewPool[i].influenced = true;
influencePreviewPool[i].choossedMark.GetComponent<Renderer>().material = influencePreviewPool[i].yellow;
}
}
}
Debug.Log("结束影响数值" + cardEntity.influencePreviewPool.Count);
} }
private void noAinPanleWork(PointerEventData eventData)
{
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if (eventData.pointerCurrentRaycast.gameObject != null)
{
if (Physics.Raycast(ray, out RaycastHit raycastHit))
{
currentNode = raycastHit.collider.transform.GetComponent<MapUnity>();
cardEntity.influencePreviewPool.Add(currentNode);
}
}
} }
public void OnDrag(PointerEventData eventData)
{
if (!cardEntity.costEnough)
{
return;
}
if (cardEntity.cardOriginalData.CastingRange != 0)
{
ainPanleWork(eventData);
} }
else
{
//没有范围不需要射线吧,因为不需要指定目标点?
// noAinPanleWork(eventData);
} }
dyeing();
} }
private void dyeing()
{
//遍历影响池变色
for (int i = 0; i < cardEntity.influencePreviewPool.Count; i++)
{
cardEntity.influencePreviewPool[i].influenced = true;
cardEntity.influencePreviewPool[i].choossedMark.GetComponent<Renderer>().material = cardEntity.influencePreviewPool[i].yellow;
}
} }
public void OnEndDrag(PointerEventData eventData) public void OnEndDrag(PointerEventData eventData)
{ {
if (!cardEntity.costEnough)
{
return;
}
choosed = false;
if (canUse)
{
Debug.Log("进入影响数值" + cardEntity.influencePreviewPool.Count);
if (eventData.pointerCurrentRaycast.gameObject != null) if (eventData.pointerCurrentRaycast.gameObject != null)
{ {
if (eventData.pointerCurrentRaycast.gameObject.name == "Card") if (eventData.pointerCurrentRaycast.gameObject.name == "Card")
@ -179,7 +274,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
{ {
GameManager.Instance.player.influencePreviewPool[i].influenced = false; GameManager.Instance.player.influencePreviewPool[i].influenced = false;
} }
GameManager.Instance.player.influencePreviewPool.Clear(); //GameManager.Instance.player.influencePreviewPool.Clear();
return; return;
} }
@ -195,74 +290,78 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag
{ {
GameManager.Instance.player.influencePreviewPool[i].influenced = false; GameManager.Instance.player.influencePreviewPool[i].influenced = false;
} }
GameManager.Instance.player.influencePreviewPool.Clear(); //GameManager.Instance.player.influencePreviewPool.Clear();
return; return;
} }
} }
if (ainPanle.activeSelf)
{
ainPanle.SetActive(false);//关闭贝塞尔曲线 ainPanle.SetActive(false);//关闭贝塞尔曲线
}
//先判断该卡牌的类型是否是需要范围
if (cardEntity.cardOriginalData.CastingRange != 0)
{
//检测碰撞的地图节点是否被影响(可释放) //检测碰撞的地图节点是否被影响(可释放)
if (currentNode == null || currentNode.influenced == false) if (currentNode == null || currentNode.influenced == false)
{ {
//遍历范围预览池消除影响色 //遍历范围预览池消除影响色(红色,卡牌的释放范围)
for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++) for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++)
{ {
GameManager.Instance.player.influencePreviewPool[i].influenced = false; GameManager.Instance.player.influencePreviewPool[i].influenced = false;
} }
GameManager.Instance.player.influencePreviewPool.Clear(); //GameManager.Instance.player.influencePreviewPool.Clear();
} }
else if (currentNode.influenced) else if (currentNode.influenced)
{ {
//卡牌释放效果 //卡牌释放效果
CardEntity cardEntity = this.GetComponent<CardEntity>();
cardEntity.use(); cardEntity.use();
Debug.Log(Usermanager.Instance.Health); Debug.Log("玩家盾量:" + Usermanager.Instance.Shield);
//临时效果--将颜色变成玩家颜色
for (int i = 0; i < influencePreviewPool.Count; i++)
{
influencePreviewPool[i].whoColour = MapUnity.WhoColour.playerColour;
//造成伤害
if (influencePreviewPool[i].enemyNode != null)
{
influencePreviewPool[i].enemyNode.EnemyState.currentHP -= 50;
Debug.Log(influencePreviewPool[i].enemyNode.EnemyState.currentHP);
if (influencePreviewPool[i].enemyNode.EnemyState.currentHP <= 0)
{
influencePreviewPool[i].enemyNode.OnDeath();
}
}
}
//临时效果结束
//遍历影响池变色 //临时效果--将其加入墓地并销毁实体
for (int i = 0; i < influencePreviewPool.Count; i++) TurnMaster.Instance.usedCard.usedCardList.Add(this.gameObject.GetComponent<CardEntity>().CardId);
{ Destroy(this.gameObject);
influencePreviewPool[i].influenced = false;
} }
influencePreviewPool.Clear();
//遍历范围预览池消除影响色 //遍历范围预览池消除影响色
for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++) for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++)
{ {
GameManager.Instance.player.influencePreviewPool[i].influenced = false; GameManager.Instance.player.influencePreviewPool[i].influenced = false;
} }
GameManager.Instance.player.influencePreviewPool.Clear(); GameManager.Instance.player.influencePreviewPool.Clear();
//遍历影响池变色
//临时效果--将其加入墓地并销毁实体 for (int i = 0; i < cardEntity.influencePreviewPool.Count; i++)
TurnMaster.Instance.usedCard.usedCardList.Add(this.gameObject.GetComponent<CardEntity>().CardId); {
Destroy(this.gameObject); cardEntity.influencePreviewPool[i].influenced = false;
} }
cardEntity.influencePreviewPool.Clear();
GetComponent<CanvasGroup>().blocksRaycasts = true; GetComponent<CanvasGroup>().blocksRaycasts = true;
//其他位置都归位 //其他位置都归位
transform.SetParent(originalParent); transform.SetParent(originalParent);
transform.localPosition = originalpoint; transform.localPosition = originalpoint;
return; return;
}//范围类,需要指定被影响的节点才能释放
else
{
//卡牌释放效果
cardEntity.use();
Debug.Log("玩家盾量:" + Usermanager.Instance.Shield);
//临时效果--将其加入墓地并销毁实体
TurnMaster.Instance.usedCard.usedCardList.Add(this.gameObject.GetComponent<CardEntity>().CardId);
Destroy(this.gameObject);
return;
}//无范围类,直接释放
}
else
{
canUse = true;
}
} }
} }

383
ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs

@ -1,17 +1,22 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using Unity.VisualScripting; using Unity.VisualScripting;
using UnityEngine; using UnityEngine;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using UnityEngine.InputSystem; using UnityEngine.InputSystem;
using UnityEngine.UI;
public class CardEntity : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler public class CardEntity : MonoBehaviour
{ {
public CardOriginalData cardOriginalData; public CardOriginalData cardOriginalData;
//public CardOriginalData cardData; //public CardOriginalData cardData;
public List<MapUnity> influencePreviewPool;//卡牌的影响范围
public int cardId; public int cardId;
public Text cost;
public int CardId public int CardId
{ {
get { return cardId; } get { return cardId; }
@ -20,54 +25,22 @@ public class CardEntity : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDr
// public Vector3 OriginTransform; // public Vector3 OriginTransform;
//private Vector3 EndTransform; //private Vector3 EndTransform;
[Header("拖拽参数")]
public Transform originalParent;
public Vector3 originalpoint; public Text cardDescription;
public EventSystem eventSystem; public Text cardName;
bool canUse=true;//决定卡牌是否可以释放
bool choosed;//标识卡牌是否被选中 public bool costEnough=true;
[Header("贝塞尔曲线瞄准")]
public GameObject ainPanle;
[Header("影响格参数")]
public MapUnity currentNode;//瞄准的格子
public List<MapUnity> influencePreviewPool;//卡牌的影响范围
public void Start() public void Start()
{ {
//cardData = GetComponent<CardOriginalData>(); //cardData = GetComponent<CardOriginalData>();
eventSystem = GameObject.FindObjectOfType<EventSystem>(); //eventSystem = GameObject.FindObjectOfType<EventSystem>();
}
private void Update()
{
//右键取消释放
if (choosed && Mouse.current.rightButton.wasPressedThisFrame)
{
Debug.Log("1");
canUse = false;//取消释放
ainPanle.SetActive(false);
//遍历范围预览池消除影响色
for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++)
{
GameManager.Instance.player.influencePreviewPool[i].influenced = false;
} }
GameManager.Instance.player.influencePreviewPool.Clear();
//遍历影响池变色
for (int i = 0; i < influencePreviewPool.Count; i++)
{
influencePreviewPool[i].influenced = false;
}
influencePreviewPool.Clear();
//其他位置都归位
transform.SetParent(originalParent);
transform.localPosition = originalpoint;
GetComponent<CanvasGroup>().blocksRaycasts = true;
return;
}
}
public void createCard(int cardId) public void createCard(int cardId)
{ {
@ -75,6 +48,9 @@ public class CardEntity : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDr
Debug.Log(cardId + "-" + CardOriginalDataList.Instance.cardOriginalDataList[cardId]); Debug.Log(cardId + "-" + CardOriginalDataList.Instance.cardOriginalDataList[cardId]);
cardOriginalData = CardOriginalDataList.Instance.cardOriginalDataList[cardId]; cardOriginalData = CardOriginalDataList.Instance.cardOriginalDataList[cardId];
settleForStart(SettlementManager.settleTurn); settleForStart(SettlementManager.settleTurn);
createCardDescription();
createCardName();
createCardCost();
} }
//不应该为void,返回值为作用的地块 //不应该为void,返回值为作用的地块
@ -114,9 +90,65 @@ public class CardEntity : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDr
break; break;
} }
} }
TurnMaster.Instance.currentCost-=cardOriginalData.Cost;
} }
//获取卡牌名字
public void createCardName()
{
cardName.text = cardOriginalData.ChineseName;
}
public void createCardCost()
{
cost.text = cardOriginalData.Cost.ToString();
}
//获取卡牌描述
public void createCardDescription()
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < cardOriginalData.Function.Length; i++)
{
switch (cardOriginalData.Function[i])
{
case CardFunction.cardDamage:
sb.Append("造成" + cardOriginalData.FunctionVal[i]+"点伤害;");
break;
case CardFunction.cardShield:
sb.Append("获得" + cardOriginalData.FunctionVal[i] + "点护盾;");
break;
case CardFunction.posion:
sb.Append("造成" + cardOriginalData.FunctionVal[i] + "层流血;");
break;
case CardFunction.weak:
sb.Append("造成" + cardOriginalData.FunctionVal[i] + "层虚弱;");
break;
case CardFunction.coma:
sb.Append("造成" + cardOriginalData.FunctionVal[i] + "层昏迷;");
break;
case CardFunction.disarm:
sb.Append("造成" + cardOriginalData.FunctionVal[i] + "层缴械;");
break;
case CardFunction.sleep:
sb.Append("造成" + cardOriginalData.FunctionVal[i] + "层睡眠;");
break;
case CardFunction.bleed:
sb.Append("造成" + cardOriginalData.FunctionVal[i] + "层流血;");
break;
case CardFunction.thorn:
sb.Append("获得" + cardOriginalData.FunctionVal[i] + "层荆棘;");
break;
case CardFunction.costRestore:
sb.Append("获得" + cardOriginalData.FunctionVal[i] + "点费用;");
break;
case CardFunction.dyeing:
sb.Append("染色;");
break;
}
}
cardDescription.text = sb.ToString();
}
//造成异常状态
public void abnormalConditionWork(string condition, int stackVak) public void abnormalConditionWork(string condition, int stackVak)
{ {
for (int i = 0; i < influencePreviewPool.Count; i++) for (int i = 0; i < influencePreviewPool.Count; i++)
@ -128,7 +160,7 @@ public class CardEntity : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDr
} }
} }
} }
//造成伤害
private void damageWork(int damageVal) private void damageWork(int damageVal)
{ {
for (int i = 0; i < influencePreviewPool.Count; i++) for (int i = 0; i < influencePreviewPool.Count; i++)
@ -140,7 +172,7 @@ public class CardEntity : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDr
} }
} }
} }
//染色
private void dyeingWork() private void dyeingWork()
{ {
Debug.Log(influencePreviewPool.Count); Debug.Log(influencePreviewPool.Count);
@ -150,15 +182,7 @@ public class CardEntity : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDr
} }
} }
private void dyeing()
{
//遍历影响池变色
for (int i = 0; i < influencePreviewPool.Count; i++)
{
influencePreviewPool[i].influenced = true;
influencePreviewPool[i].choossedMark.GetComponent<Renderer>().material = influencePreviewPool[i].yellow;
}
}
//生成卡牌时候遗物的结算 //生成卡牌时候遗物的结算
@ -172,265 +196,12 @@ public class CardEntity : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDr
} }
public void OnBeginDrag(PointerEventData eventData)
{
// if (GameObject.Find("CardPanel") != null)
// graphicRaycaster = GameObject.Find("CardPanel").GetComponent<GraphicRaycaster>();
choosed = true;
GetComponent<CanvasGroup>().blocksRaycasts = false;
originalParent = this.gameObject.transform.parent;
originalpoint = this.transform.localPosition;
transform.SetParent(transform.parent.parent);
transform.position = eventData.position;
//根据卡牌数据决定是否调用曲线
if (cardOriginalData.CastingRange != 0)
{
//释放范围为0则不需要调用曲线
ainPanle.SetActive(true);
}
else
{
ainPanle.SetActive(false);
}
//todo-统一确定锚点位置
//重新调用范围预览--以后要写到卡牌效果里,现在默认影响1格
//GameManager.Instance.player.StepPreviewInfluencedNode(1);
}
public void OnDrag(PointerEventData eventData)
{
if (cardOriginalData.CastingRange != 0)
{
ainPanleWork(eventData);
}
else
{
//没有范围不需要射线吧,因为不需要指定目标点?
// noAinPanleWork(eventData);
}
dyeing();
}
private void ainPanleWork(PointerEventData eventData)
{
//射线检测瞄准的地图节点,判断是否可放置和改变放置影响区
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if (eventData.pointerCurrentRaycast.gameObject != null)
{
if (Physics.Raycast(ray, out RaycastHit raycastHit))
{
// Debug.Log(raycastHit.collider.gameObject.name);
//检测到跟上次瞄准地方不同,更新
if (currentNode == null || raycastHit.collider.transform.gameObject != currentNode.gameObject)
{
for (int i = 0; i < influencePreviewPool.Count; i++)
{
influencePreviewPool[i].influenced = false;
}
influencePreviewPool.Clear();
currentNode = raycastHit.collider.transform.GetComponent<MapUnity>();
//重新调用范围预览
GameManager.Instance.player.StepPreviewInfluencedNode(cardOriginalData.CastingRange);
Debug.Log(cardOriginalData.CastingRange);
//预览影响范围
if (currentNode.influenced)
{
//根据卡牌属性改变影响池
influencePreviewPool.Add(currentNode);
Vector3 face = currentNode.transform.position - GameManager.Instance.playerOn.transform.position;
float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180;
Debug.Log(euler);
if (euler > 0 && euler < 45)
{
if (currentNode.unitPool[0] != null)
influencePreviewPool.Add(currentNode.unitPool[0]);
if (currentNode.unitPool[4] != null)
influencePreviewPool.Add(currentNode.unitPool[4]);
}
else if (euler > 45 && euler < 135)
{
if (currentNode.unitPool[1] != null)
influencePreviewPool.Add(currentNode.unitPool[1]);
if (currentNode.unitPool[5] != null)
influencePreviewPool.Add(currentNode.unitPool[5]);
}
else if (euler > 135 && euler < 180)
{
if (currentNode.unitPool[2] != null)
influencePreviewPool.Add(currentNode.unitPool[2]);
if (currentNode.unitPool[0] != null)
influencePreviewPool.Add(currentNode.unitPool[0]);
}
else if (euler > 180 && euler < 225)
{
if (currentNode.unitPool[1] != null)
influencePreviewPool.Add(currentNode.unitPool[1]);
if (currentNode.unitPool[3] != null)
influencePreviewPool.Add(currentNode.unitPool[3]);
}
else if (euler > 225 && euler < 315)
{
if (currentNode.unitPool[2] != null)
influencePreviewPool.Add(currentNode.unitPool[2]);
if (currentNode.unitPool[4] != null)
influencePreviewPool.Add(currentNode.unitPool[4]);
}
else if (euler > 315 && euler < 360)
{
if (currentNode.unitPool[3] != null)
influencePreviewPool.Add(currentNode.unitPool[3]);
if (currentNode.unitPool[5] != null)
influencePreviewPool.Add(currentNode.unitPool[5]);
}
//influencePreviewPool.Add(currentNode);
}
}
}
}
Debug.Log("结束影响数值" + influencePreviewPool.Count);
}
private void noAinPanleWork(PointerEventData eventData)
{
Ray ray = Camera.main.ScreenPointToRay(Mouse.current.position.value);
if (eventData.pointerCurrentRaycast.gameObject != null)
{
if (Physics.Raycast(ray, out RaycastHit raycastHit))
{
currentNode = raycastHit.collider.transform.GetComponent<MapUnity>();
influencePreviewPool.Add(currentNode);
}
}
}
public void OnEndDrag(PointerEventData eventData)
{
choosed = false;
if(canUse )
{
Debug.Log("进入影响数值" + influencePreviewPool.Count);
if (eventData.pointerCurrentRaycast.gameObject != null)
{
if (eventData.pointerCurrentRaycast.gameObject.name == "Card")
{
transform.SetParent(eventData.pointerCurrentRaycast.gameObject.transform.parent);
transform.position = eventData.pointerCurrentRaycast.gameObject.transform.position;
eventData.pointerCurrentRaycast.gameObject.transform.position = originalParent.position;
eventData.pointerCurrentRaycast.gameObject.transform.SetParent(originalParent);
GetComponent<CanvasGroup>().blocksRaycasts = true;
ainPanle.SetActive(false);//关闭贝塞尔曲线
//遍历范围预览池消除影响色
for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++)
{
GameManager.Instance.player.influencePreviewPool[i].influenced = false;
}
//GameManager.Instance.player.influencePreviewPool.Clear();
return;
}
else if (eventData.pointerCurrentRaycast.gameObject.name == "cardSlot")
{
transform.SetParent(eventData.pointerCurrentRaycast.gameObject.transform);
transform.position = eventData.pointerCurrentRaycast.gameObject.transform.position;
GetComponent<CanvasGroup>().blocksRaycasts = true;
ainPanle.SetActive(false);//关闭贝塞尔曲线
//遍历范围预览池消除影响色
for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++)
{
GameManager.Instance.player.influencePreviewPool[i].influenced = false;
}
//GameManager.Instance.player.influencePreviewPool.Clear();
return;
}
}
if (ainPanle.activeSelf)
{
ainPanle.SetActive(false);//关闭贝塞尔曲线
}
//先判断该卡牌的类型是否是需要范围
if (cardOriginalData.CastingRange != 0)
{
//检测碰撞的地图节点是否被影响(可释放)
if (currentNode == null || currentNode.influenced == false)
{
//遍历范围预览池消除影响色(红色,卡牌的释放范围)
for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++)
{
GameManager.Instance.player.influencePreviewPool[i].influenced = false;
}
//GameManager.Instance.player.influencePreviewPool.Clear();
}
else if (currentNode.influenced)
{
//卡牌释放效果
use();
Debug.Log("玩家盾量:" + Usermanager.Instance.Shield);
//临时效果--将其加入墓地并销毁实体
TurnMaster.Instance.usedCard.usedCardList.Add(this.gameObject.GetComponent<CardEntity>().CardId);
Destroy(this.gameObject);
}
//遍历范围预览池消除影响色
for (int i = 0; i < GameManager.Instance.player.influencePreviewPool.Count; i++)
{
GameManager.Instance.player.influencePreviewPool[i].influenced = false;
}
GameManager.Instance.player.influencePreviewPool.Clear();
//遍历影响池变色
for (int i = 0; i < influencePreviewPool.Count; i++)
{
influencePreviewPool[i].influenced = false;
}
influencePreviewPool.Clear();
GetComponent<CanvasGroup>().blocksRaycasts = true;
//其他位置都归位
transform.SetParent(originalParent);
transform.localPosition = originalpoint;
return;
}//范围类,需要指定被影响的节点才能释放
else
{
//卡牌释放效果
use();
Debug.Log("玩家盾量:" + Usermanager.Instance.Shield);
//临时效果--将其加入墓地并销毁实体
TurnMaster.Instance.usedCard.usedCardList.Add(this.gameObject.GetComponent<CardEntity>().CardId);
Destroy(this.gameObject);
return;
}//无范围类,直接释放
}
else
{
canUse = true;
}
}
} }

17
ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs

@ -14,6 +14,10 @@ public class TurnMaster : Singleton<TurnMaster>
public Text cardDeckNumberText; public Text cardDeckNumberText;
public Text usedCardNumberText; public Text usedCardNumberText;
public int currentCost;
public int totalCost;
public enum Turn public enum Turn
{ {
playerTurnBegin, playerTurnBegin,
@ -23,12 +27,18 @@ public class TurnMaster : Singleton<TurnMaster>
}; };
public Turn turn = Turn.playerTurnBegin; public Turn turn = Turn.playerTurnBegin;
public void Start()
{
totalCost = Usermanager.Instance.totalCost;
currentCost=totalCost;
}
private void Update() private void Update()
{ {
if (turn == Turn.playerTurnBegin) if (turn == Turn.playerTurnBegin)
{ {
//»Ö¸´ÌåÁ¦ //»Ö¸´ÌåÁ¦
GameManager.Instance.playerState.currentStepRange = GameManager.Instance.playerState.maxStepRange; GameManager.Instance.playerState.currentStepRange = GameManager.Instance.playerState.maxStepRange;
restoreCost(0);
//Ï´ÅÆ--³é¿¨ //Ï´ÅÆ--³é¿¨
ShuffleWithLosingCards(); ShuffleWithLosingCards();
@ -61,6 +71,12 @@ public class TurnMaster : Singleton<TurnMaster>
usedCardNumberText.text = usedCard.usedCardList.Count.ToString(); usedCardNumberText.text = usedCard.usedCardList.Count.ToString();
} }
public void restoreCost(int settleTurn)
{
totalCost=Usermanager.Instance.totalCost;
currentCost = totalCost;
}
public void EndPlayerTurn() public void EndPlayerTurn()
{ {
turn = Turn.enemyTurnBegin; turn = Turn.enemyTurnBegin;
@ -101,6 +117,7 @@ public class TurnMaster : Singleton<TurnMaster>
for (int c = 0; c < usedCard.usedCardList.Count; c++) for (int c = 0; c < usedCard.usedCardList.Count; c++)
{ {
cardDeck.cardList.Add (usedCard.usedCardList[c]); cardDeck.cardList.Add (usedCard.usedCardList[c]);
cardDeck.cardList.Shuffle();
} }
usedCard.usedCardList.Clear(); usedCard.usedCardList.Clear();

21
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/randomTool.cs

@ -0,0 +1,21 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public static class randomTool
{
public static void Shuffle<T>(this List<T> list)
{
System.Random rng = new System.Random();
int n = list.Count;
while (n > 1)
{
n--;
int k = rng.Next(n + 1);
T value = list[k];
list[k] = list[n];
list[n] = value;
}
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/randomTool.cs.meta

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3061f4fb742bb964ab2590802b48933a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

4
ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs

@ -6,6 +6,8 @@ public class Usermanager : Singleton<Usermanager>
{ {
private int health; private int health;
private int shield; private int shield;
public int totalCost;
public int Health { get => health; set => health = value; } public int Health { get => health; set => health = value; }
public int Shield { get => shield; set => shield = value; } public int Shield { get => shield; set => shield = value; }
@ -13,11 +15,13 @@ public class Usermanager : Singleton<Usermanager>
{ {
Health = health; Health = health;
Shield = 0; Shield = 0;
totalCost = 1;
} }
public void Start() public void Start()
{ {
health = 100; health = 100;
Shield = 0; Shield = 0;
totalCost = 1;
} }
} }

BIN
ColorlessWorld-2024-4-2/Library/ArtifactDB

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/05/0547ba80b14b01efd24bd0a4b8124d5e

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/10/10d6c336ccb55ff09dabd02390112b01

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/13/134118ae338ec41fe951488db0efb9a5

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/14/14c8305599652b62bac329856a88f6ce

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/14/14f85c536ca5922e7b69a0a5023ef394

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/17/17975ad37a458b43502cda74cdbca4e2

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/1b/1bb2ede7c6406adc04d6c87357c25916

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/22/225d378ffa06158cb7242ae76136fa3d

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/22/22c40d41497c4b6c5d5baa21c15e9652

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/24/242232c89d1b4a4ca20490c81acbd032

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/b6/b6d04d245c81a996715d7be3e88f5dee → ColorlessWorld-2024-4-2/Library/Artifacts/24/24aa25aea6ced09d788d18a6ab1a89e4

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/27/27d7f58233ca34372beaf39726d37ec7

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/c3/c3bbfc20730b87275e399a2564dba251 → ColorlessWorld-2024-4-2/Library/Artifacts/2b/2b61cccb8178caa22854948a10dd7338

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/2b/2b6693f1bc87427f6e5a323586a28613

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/2e/2e727cda09f8605bdd99d211814a0926

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/2f/2f11125eef64e86d6002cc7f5dbac5ba

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/36/364df25186ff42c600cfcae3610cbbb0

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/38/380c7476a1d8c989188cd553217d4bf3

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/44/449960d828d26baa2db10aa77c5e6067

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/47/4760a75315aa364ce9216873cf4b1119

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/47/47c72aa726e468c0901b4404716c7681

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/47/47cee31b30379a16ecace94feea12aa3

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/4b/4b25b662c77c0d5a096f3f7ccc0c04d6

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/4f/4f2afeed96106875eadfe00801df7f17

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/4f/4f93cb12309c88b58868574cc18b3553

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/55/55d06444b212e303538d978ae59d0154

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/55/55f1b7a7c790c42982c737eae7244d43

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/57/579081a02bf73d397df28b556366ece4

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/5d/5d2f998d1675cdd4bcaff09278424434

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/61/6146dbad5fdcd08a36397108784235af

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/61/61de71d3ac941017159cbaf3a8f0f5a6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/61/61ebd552db23853b76be5fd88a24db5c

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/3c/3c64cbdf0434ab7792c76b8fdf8e3e60 → ColorlessWorld-2024-4-2/Library/Artifacts/66/6647bc5e83dd5c8edeb9b37534c4541a

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/87/87c24a0d0e4588f3567ade845692a3fa → ColorlessWorld-2024-4-2/Library/Artifacts/69/69495ec19cdd7cd61a7358fc095f8554

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/6a/6ae1acf8844434090fcd18bf17a55e76

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/7b/7b3e7cf4e7a1fb140d74d7f8cde16d51

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/82/82e43adfb7a9ca8f78e976d979d7e173

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/83/830a5c40373ffb5ab2da95492343f158

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/8c/8c15ae7af559f92be6be79536a02f498

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/92/922be178b8e3285c99829d3d8f24833e

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/95/95133132680dd6eb8fab4503095f544f

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/96/965016f26e462ec6a0bc8e5c4116bcc0

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/9b/9bb2dca49454d80ebcd7ccc68ef3dd2e

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/9c/9cac50359fc9f1a90bb7176f9f7f493a

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/3d/3d16a68bfd7733d78cf8c62ae55f55fc → ColorlessWorld-2024-4-2/Library/Artifacts/9d/9daf6c4c8e91891c568754fdb66999ea

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/17/17494287d001dabf8b6ef1528cedd76a → ColorlessWorld-2024-4-2/Library/Artifacts/a2/a2c7eeb7392a75c18aff0acb11f2134a

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/a9/a91c350e39ab39c8c01656b28d95c241

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/b6/b6fa58eca111f9efba0d442acbd26df0

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/c4/c4058199dc88d4c84214c6958bbba988

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/c4/c4a7065396d8eef59e8f337b405f8896

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/cc/cc006b3adf4f5e82f1b674f503b8785b

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/cd/cdf8f7d1b72df953b23210278819c689

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/d0/d02e174a16a6bda8d0f455a1f7373217

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/d6/d6982899effe0f7c5c4a0dbd84c6e4d0

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/dc/dcad224e234eb1a08443aad2470a5145

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/e8/e824a945b96c056813cad5a06f3ff569

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/ea/ea57de3b2d4f7989f3962004ad148475

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/ec/ec86c95a751d815468bfcc2e21be7a3a

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/ef/ef33c6f0662c6e33139df186711df4a3

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/f2/f217bb80b721d843920768c21a52a0aa

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/de/dee80e238a6b99222c29e9ec2bd01e23 → ColorlessWorld-2024-4-2/Library/Artifacts/ff/ff0390e65a5c2bd7295b71f1b69b84a1

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Artifacts/ff/ff929da23e7f750bf4395778d1c91a56

Binary file not shown.

2
ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg-inputdata.json

File diff suppressed because one or more lines are too long

BIN
ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag

Binary file not shown.

786
ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag.json

File diff suppressed because it is too large

2
ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag.outputdata

File diff suppressed because one or more lines are too long

BIN
ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag.payloads

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Library/Bee/1900b0aEDbg.dag_derived

Binary file not shown.

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/0addd3367af25da326e95d2a6cc0b83b_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/11044e0f3db1f333d6edf88564d1807a_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/16cc826b867577242537d043a30f9917_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/184a50a1b4e992993273dda3da6f257a_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/22a6851e84d2414d52ebc828df675f3a_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/23fb6bbf97ea85122a9600f74cf2ade3_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/243688fdd79c9f22c6fd8c4beb6ede1b_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/25ef2a3e7aa85778b336bbc806e48c7d_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/26e7d2ad469d9d17a6124597a2ee5937_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/29099023120d8999cb5eb3b79714ee50_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/33c505506f2569eff414568d9e90b981_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/36f2f34e7f4f48b57905f46f8c60d348_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/426911521ce766470fa7f759f3ccea67_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/49a4dedabeca7ee4402901843e620c74_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/4b2e08051477ebe67151a6506b615784_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/4e0fa280d955255f15e6e63b8375247c_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/4fcfe2eb433cc84b271ed9332efe15ca_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/6779ad0b5e8ec234a8b807896266b6b4_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/71eb0d8682db29cea1ddc8853ac43cef_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/73d68273a2d5c2fd66197b87b18a3520_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/77b0550c2601fc4c5f4bd0ad4b75915a_out

0
ColorlessWorld-2024-4-2/Library/Bee/CachedNodeOutput/7bcc80c878f2d7f708baad4c0b8bf0c3_out

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save