From 541ff30186a59504ce60b61e0b31d9fea4a19cdb Mon Sep 17 00:00:00 2001 From: xianyi Date: Tue, 5 Aug 2025 15:18:42 +0800 Subject: [PATCH 1/7] =?UTF-8?q?4=E5=8D=A1=E6=A7=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + Assets/TcgEngine/Scripts/GameLogic/Slot.cs | 2 +- Packages/packages-lock.json | 656 ------------------ .../BurstAotSettings_StandaloneOSX.json | 17 + ProjectSettings/EditorBuildSettings.asset | 10 +- 5 files changed, 24 insertions(+), 662 deletions(-) delete mode 100644 Packages/packages-lock.json create mode 100644 ProjectSettings/BurstAotSettings_StandaloneOSX.json diff --git a/.gitignore b/.gitignore index e96408f..4dbaecd 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,4 @@ ProjectSettings/ProjectVersion.txt ProjectSettings/PackageManagerSettings.asset ProjectSettings/AutoStreamingSettings.asset ProjectSettings/ProjectSettings.asset +Packages/packages-lock.json diff --git a/Assets/TcgEngine/Scripts/GameLogic/Slot.cs b/Assets/TcgEngine/Scripts/GameLogic/Slot.cs index aa81d39..ebdcfd1 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/Slot.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/Slot.cs @@ -17,7 +17,7 @@ namespace TcgEngine public int p; //0 or 1, represent player ID public static int x_min = 1; //Dont change this, should start at 1 (0,0,0 represent invalid slot) - public static int x_max = 5; //Number of slots in a row/zone + public static int x_max = 4; //Number of slots in a row/zone public static int y_min = 1; //Dont change this, should start at 1 (0,0,0 represent invalid slot) public static int y_max = 1; //Set this to the number of rows/locations you want to have diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json deleted file mode 100644 index 4864e65..0000000 --- a/Packages/packages-lock.json +++ /dev/null @@ -1,656 +0,0 @@ -{ - "dependencies": { - "com.unity.2d.animation": { - "version": "7.0.12", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.2d.common": "6.0.6", - "com.unity.2d.sprite": "1.0.0", - "com.unity.modules.animation": "1.0.0", - "com.unity.modules.uielements": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.2d.aseprite": { - "version": "1.0.1", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.2d.common": "6.0.6", - "com.unity.2d.sprite": "1.0.0", - "com.unity.mathematics": "1.2.6", - "com.unity.modules.animation": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.2d.common": { - "version": "6.0.6", - "depth": 2, - "source": "registry", - "dependencies": { - "com.unity.burst": "1.5.1", - "com.unity.2d.sprite": "1.0.0", - "com.unity.mathematics": "1.1.0", - "com.unity.modules.uielements": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.2d.path": { - "version": "5.0.2", - "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.2d.pixel-perfect": { - "version": "5.0.3", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.2d.psdimporter": { - "version": "6.0.7", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.2d.common": "6.0.6", - "com.unity.2d.sprite": "1.0.0", - "com.unity.2d.animation": "7.0.9" - }, - "url": "https://packages.unity.com" - }, - "com.unity.2d.sprite": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.2d.spriteshape": { - "version": "7.0.7", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.2d.path": "5.0.2", - "com.unity.2d.common": "6.0.6", - "com.unity.mathematics": "1.1.0", - "com.unity.modules.physics2d": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.2d.tilemap": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.2d.tilemap.extras": { - "version": "2.2.7", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0", - "com.unity.2d.tilemap": "1.0.0", - "com.unity.modules.tilemap": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.ads": { - "version": "4.4.2", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.analytics": { - "version": "3.6.12", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.burst": { - "version": "1.8.11", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.mathematics": "1.2.1" - }, - "url": "https://packages.unity.com" - }, - "com.unity.collab-proxy": { - "version": "2.2.0", - "depth": 0, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.collections": { - "version": "1.2.4", - "depth": 2, - "source": "registry", - "dependencies": { - "com.unity.burst": "1.6.6", - "com.unity.test-framework": "1.1.31" - }, - "url": "https://packages.unity.com" - }, - "com.unity.ext.nunit": { - "version": "1.0.6", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.feature.2d": { - "version": "2.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.2d.animation": "7.0.12", - "com.unity.2d.pixel-perfect": "5.0.3", - "com.unity.2d.psdimporter": "6.0.7", - "com.unity.2d.sprite": "1.0.0", - "com.unity.2d.spriteshape": "7.0.7", - "com.unity.2d.tilemap": "1.0.0", - "com.unity.2d.tilemap.extras": "2.2.7", - "com.unity.2d.aseprite": "1.0.1" - } - }, - "com.unity.ide.rider": { - "version": "3.0.26", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ext.nunit": "1.0.6" - }, - "url": "https://packages.unity.com" - }, - "com.unity.ide.visualstudio": { - "version": "2.0.22", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.test-framework": "1.1.9" - }, - "url": "https://packages.unity.com" - }, - "com.unity.ide.vscode": { - "version": "1.2.5", - "depth": 0, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.mathematics": { - "version": "1.2.6", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.netcode.gameobjects": { - "version": "1.7.1", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.transport": "1.4.0", - "com.unity.nuget.mono-cecil": "1.10.1" - }, - "url": "https://packages.unity.com" - }, - "com.unity.nuget.mono-cecil": { - "version": "1.10.1", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.nuget.newtonsoft-json": { - "version": "3.2.1", - "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.postprocessing": { - "version": "3.2.2", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.modules.physics": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.purchasing": { - "version": "4.9.3", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0", - "com.unity.modules.unityanalytics": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.androidjni": "1.0.0", - "com.unity.services.core": "1.8.1" - }, - "url": "https://packages.unity.com" - }, - "com.unity.render-pipelines.core": { - "version": "12.1.13", - "depth": 1, - "source": "builtin", - "dependencies": { - "com.unity.ugui": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - } - }, - "com.unity.render-pipelines.universal": { - "version": "12.1.13", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.mathematics": "1.2.1", - "com.unity.burst": "1.8.9", - "com.unity.render-pipelines.core": "12.1.13", - "com.unity.shadergraph": "12.1.13" - } - }, - "com.unity.searcher": { - "version": "4.9.1", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.services.core": { - "version": "1.12.0", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.nuget.newtonsoft-json": "3.2.1", - "com.unity.modules.androidjni": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.shadergraph": { - "version": "12.1.13", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.render-pipelines.core": "12.1.13", - "com.unity.searcher": "4.9.1" - } - }, - "com.unity.sysroot": { - "version": "2.0.10", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.sysroot.linux-x86_64": { - "version": "2.0.9", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.sysroot": "2.0.10" - }, - "url": "https://packages.unity.com" - }, - "com.unity.test-framework": { - "version": "1.1.33", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ext.nunit": "1.0.6", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.textmeshpro": { - "version": "3.0.6", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.timeline": { - "version": "1.6.5", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.director": "1.0.0", - "com.unity.modules.animation": "1.0.0", - "com.unity.modules.particlesystem": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.toolchain.macos-x86_64-linux-x86_64": { - "version": "2.0.10", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.sysroot": "2.0.10", - "com.unity.sysroot.linux-x86_64": "2.0.9" - }, - "url": "https://packages.unity.com" - }, - "com.unity.toolchain.win-x86_64-linux-x86_64": { - "version": "2.0.10", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.sysroot": "2.0.10", - "com.unity.sysroot.linux-x86_64": "2.0.9" - }, - "url": "https://packages.unity.com" - }, - "com.unity.transport": { - "version": "1.4.0", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.burst": "1.6.6", - "com.unity.collections": "1.2.4", - "com.unity.mathematics": "1.2.6" - }, - "url": "https://packages.unity.com" - }, - "com.unity.ugui": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0" - } - }, - "com.unity.visualscripting": { - "version": "1.9.1", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.xr.legacyinputhelpers": { - "version": "2.1.10", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.modules.vr": "1.0.0", - "com.unity.modules.xr": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.modules.ai": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.androidjni": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.animation": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.assetbundle": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.audio": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.cloth": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0" - } - }, - "com.unity.modules.director": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.animation": "1.0.0" - } - }, - "com.unity.modules.imageconversion": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.imgui": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.jsonserialize": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.particlesystem": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.physics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.physics2d": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.screencapture": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.subsystems": { - "version": "1.0.0", - "depth": 1, - "source": "builtin", - "dependencies": { - "com.unity.modules.jsonserialize": "1.0.0" - } - }, - "com.unity.modules.terrain": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.terrainphysics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.terrain": "1.0.0" - } - }, - "com.unity.modules.tilemap": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics2d": "1.0.0" - } - }, - "com.unity.modules.ui": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.uielements": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.uielementsnative": "1.0.0" - } - }, - "com.unity.modules.uielementsnative": { - "version": "1.0.0", - "depth": 1, - "source": "builtin", - "dependencies": { - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - } - }, - "com.unity.modules.umbra": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.unityanalytics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - } - }, - "com.unity.modules.unitywebrequest": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.unitywebrequestassetbundle": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0" - } - }, - "com.unity.modules.unitywebrequestaudio": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.audio": "1.0.0" - } - }, - "com.unity.modules.unitywebrequesttexture": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.unitywebrequestwww": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.unitywebrequestassetbundle": "1.0.0", - "com.unity.modules.unitywebrequestaudio": "1.0.0", - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.vehicles": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0" - } - }, - "com.unity.modules.video": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0" - } - }, - "com.unity.modules.vr": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.xr": "1.0.0" - } - }, - "com.unity.modules.wind": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.xr": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.subsystems": "1.0.0" - } - } - } -} diff --git a/ProjectSettings/BurstAotSettings_StandaloneOSX.json b/ProjectSettings/BurstAotSettings_StandaloneOSX.json new file mode 100644 index 0000000..ca7cf1a --- /dev/null +++ b/ProjectSettings/BurstAotSettings_StandaloneOSX.json @@ -0,0 +1,17 @@ +{ + "MonoBehaviour": { + "Version": 4, + "EnableBurstCompilation": true, + "EnableOptimisations": true, + "EnableSafetyChecks": false, + "EnableDebugInAllBuilds": false, + "DebugDataKind": 1, + "EnableArmv9SecurityFeatures": false, + "CpuMinTargetX32": 0, + "CpuMaxTargetX32": 0, + "CpuMinTargetX64": 0, + "CpuMaxTargetX64": 0, + "CpuTargetsX64": 72, + "OptimizeFor": 0 + } +} diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 16bf863..f8700de 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,19 +5,19 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: - - enabled: 0 + - enabled: 1 path: Assets/TcgEngine/Scenes/Menu/LoginMenu.unity guid: 35845f83f169a8249ba97386e43cc114 - - enabled: 0 + - enabled: 1 path: Assets/TcgEngine/Scenes/Menu/Menu.unity guid: 4566b59cd2acb7347b68ebb689bbe171 - - enabled: 0 + - enabled: 1 path: Assets/TcgEngine/Scenes/Menu/OpenPack.unity guid: dd0a2914a3401da438f8a990f15395d1 - - enabled: 0 + - enabled: 1 path: Assets/TcgEngine/Scenes/Game/Game.unity guid: be2ace95e45905b49ad984cce7ea70e5 - - enabled: 1 + - enabled: 0 path: Assets/TcgEngine/Scenes/Server/Server.unity guid: acefba10b24d5f14aa51f6451ec467bf m_configObjects: {} From 6aca8dfb82cf4a4f35d46014a9e08bac61943134 Mon Sep 17 00:00:00 2001 From: xianyi Date: Tue, 5 Aug 2025 15:35:28 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=BC=83=E7=89=8C=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E7=89=8C=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs b/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs index 8460924..b4b6aa1 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs @@ -1793,6 +1793,7 @@ namespace TcgEngine.Gameplay } } + // 换牌 public virtual void Mulligan(Player player, string[] cards) { if (game_data.phase == GamePhase.Mulligan && !player.ready) @@ -1808,14 +1809,24 @@ namespace TcgEngine.Gameplay } } + // 将换掉的卡牌临时存储,不放入弃牌堆 + List mulligan_cards = new List(); foreach (Card card in remove_list) { player.RemoveCardFromAllGroups(card); - player.cards_discard.Add(card); + mulligan_cards.Add(card); } player.ready = true; DrawCard(player, count); + + // 将换掉的卡牌重新加入牌组并洗牌 + foreach (Card card in mulligan_cards) + { + player.cards_deck.Add(card); + } + ShuffleDeck(player.cards_deck); + RefreshData(); if (game_data.AreAllPlayersReady()) From 1fcf19215736d2a188612d73cc846393bab53988 Mon Sep 17 00:00:00 2001 From: xianyi Date: Tue, 5 Aug 2025 18:23:04 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E8=B0=83=E6=95=B4Game=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/TcgEngine/Prefabs/UI/ManaBar.prefab | 475 +------- Assets/TcgEngine/Scenes/Game/Game.unity | 1244 ++++++++++++++++++++ 2 files changed, 1257 insertions(+), 462 deletions(-) diff --git a/Assets/TcgEngine/Prefabs/UI/ManaBar.prefab b/Assets/TcgEngine/Prefabs/UI/ManaBar.prefab index e1762ea..7c7b719 100644 --- a/Assets/TcgEngine/Prefabs/UI/ManaBar.prefab +++ b/Assets/TcgEngine/Prefabs/UI/ManaBar.prefab @@ -28,6 +28,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1789197561201869425} m_RootOrder: 4 @@ -103,6 +104,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1789197561201869425} m_RootOrder: 0 @@ -150,81 +152,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &1251903309759418269 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8513107529100910434} - - component: {fileID: 2922564618384027479} - - component: {fileID: 6792911071355521265} - m_Layer: 5 - m_Name: Circle (9) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8513107529100910434 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1251903309759418269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1789197561201869425} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 250, y: 0} - m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2922564618384027479 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1251903309759418269} - m_CullTransparentMesh: 1 ---- !u!114 &6792911071355521265 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1251903309759418269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &1806244588100620830 GameObject: m_ObjectHideFlags: 0 @@ -252,6 +179,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4252802152300486646} - {fileID: 986898120135215223} @@ -259,12 +187,6 @@ RectTransform: - {fileID: 2256103390049534263} - {fileID: 3432178305605222404} - {fileID: 4218971555065273629} - - {fileID: 7123811701191868703} - - {fileID: 672918710076619102} - - {fileID: 4688949436229540639} - - {fileID: 8513107529100910434} - - {fileID: 4613611874449522969} - - {fileID: 6921059308528279234} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -295,89 +217,14 @@ MonoBehaviour: - {fileID: 4514427913678441131} - {fileID: 5257734512775747297} - {fileID: 6056840011816395962} - - {fileID: 200319602932645013} - - {fileID: 1989007023016700808} - - {fileID: 3752606892120397597} - - {fileID: 6792911071355521265} - - {fileID: 7474841143375406029} - - {fileID: 3337199690031680873} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} sprite_full: {fileID: 21300000, guid: 2b8a2aed9882e774bba6723260f7a6fc, type: 3} sprite_empty: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} ---- !u!1 &3587532460191014061 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4613611874449522969} - - component: {fileID: 3921489829429765997} - - component: {fileID: 7474841143375406029} - m_Layer: 5 - m_Name: Circle (10) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4613611874449522969 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3587532460191014061} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1789197561201869425} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 300, y: 0} - m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3921489829429765997 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3587532460191014061} - m_CullTransparentMesh: 1 ---- !u!114 &7474841143375406029 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3587532460191014061} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &3823079684456776761 GameObject: m_ObjectHideFlags: 0 @@ -406,6 +253,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1789197561201869425} m_RootOrder: 3 @@ -453,156 +301,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &3845324022426336555 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4688949436229540639} - - component: {fileID: 3013504736111544342} - - component: {fileID: 3752606892120397597} - m_Layer: 5 - m_Name: Circle (8) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4688949436229540639 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3845324022426336555} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1789197561201869425} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 200, y: 0} - m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3013504736111544342 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3845324022426336555} - m_CullTransparentMesh: 1 ---- !u!114 &3752606892120397597 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3845324022426336555} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &3884284812324538286 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7123811701191868703} - - component: {fileID: 1872197894128031683} - - component: {fileID: 200319602932645013} - m_Layer: 5 - m_Name: Circle (6) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7123811701191868703 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3884284812324538286} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1789197561201869425} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 100, y: 0} - m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1872197894128031683 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3884284812324538286} - m_CullTransparentMesh: 1 ---- !u!114 &200319602932645013 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3884284812324538286} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &7840828242269513024 GameObject: m_ObjectHideFlags: 0 @@ -631,6 +329,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1789197561201869425} m_RootOrder: 2 @@ -706,6 +405,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1789197561201869425} m_RootOrder: 5 @@ -753,156 +453,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &7977288626612905298 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 672918710076619102} - - component: {fileID: 1787421651570579534} - - component: {fileID: 1989007023016700808} - m_Layer: 5 - m_Name: Circle (7) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &672918710076619102 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7977288626612905298} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1789197561201869425} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 150, y: 0} - m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1787421651570579534 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7977288626612905298} - m_CullTransparentMesh: 1 ---- !u!114 &1989007023016700808 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7977288626612905298} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!1 &8515898123334996254 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6921059308528279234} - - component: {fileID: 1220484261464694873} - - component: {fileID: 3337199690031680873} - m_Layer: 5 - m_Name: Circle (11) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6921059308528279234 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8515898123334996254} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1789197561201869425} - m_RootOrder: 11 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 350, y: 0} - m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1220484261464694873 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8515898123334996254} - m_CullTransparentMesh: 1 ---- !u!114 &3337199690031680873 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8515898123334996254} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &8581907445084959352 GameObject: m_ObjectHideFlags: 0 @@ -931,6 +481,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1789197561201869425} m_RootOrder: 1 diff --git a/Assets/TcgEngine/Scenes/Game/Game.unity b/Assets/TcgEngine/Scenes/Game/Game.unity index fc05e1f..516622b 100644 --- a/Assets/TcgEngine/Scenes/Game/Game.unity +++ b/Assets/TcgEngine/Scenes/Game/Game.unity @@ -325,6 +325,274 @@ Transform: type: 3} m_PrefabInstance: {fileID: 5621716279108096101} m_PrefabAsset: {fileID: 0} +--- !u!1001 &586676445 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 962576083989124240} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -153.09961 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -145 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar_4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} +--- !u!1001 &586821846 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 962576083989124241} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 234.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 85 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar_2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &629549709 PrefabInstance: m_ObjectHideFlags: 0 @@ -537,6 +805,274 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &746266444 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 962576083989124240} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -153.09961 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -55 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar_1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} +--- !u!1001 &827800334 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 962576083989124241} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 234.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 145 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar_4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &839364591 PrefabInstance: m_ObjectHideFlags: 0 @@ -832,6 +1368,140 @@ Transform: type: 3} m_PrefabInstance: {fileID: 978862161} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1130443655 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 962576083989124241} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 234.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 115 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar_3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &1156614218 PrefabInstance: m_ObjectHideFlags: 0 @@ -1007,6 +1677,274 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1307629563} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1322746473 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 962576083989124240} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -153.09961 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -115 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar_3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} +--- !u!1001 &1452264122 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 962576083989124241} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 234.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 55 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar_1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &1475694346 PrefabInstance: m_ObjectHideFlags: 0 @@ -1187,6 +2125,140 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1591726936} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1701871964 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 962576083989124240} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -153.09961 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -85 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar_2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &1735995983 PrefabInstance: m_ObjectHideFlags: 0 @@ -1726,6 +2798,41 @@ PrefabInstance: propertyPath: m_Name value: GameUI objectReference: {fileID: 0} + - target: {fileID: 962576085182764131, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1101561091231836486, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -167.53027 + objectReference: {fileID: 0} + - target: {fileID: 1101561091231836486, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -139.46002 + objectReference: {fileID: 0} + - target: {fileID: 1125385974310192336, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2283109594846186678, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -580.5001 + objectReference: {fileID: 0} + - target: {fileID: 2461441034697482380, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 381 + objectReference: {fileID: 0} + - target: {fileID: 2461441034697482380, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 315 + objectReference: {fileID: 0} - target: {fileID: 2552961730338996592, guid: b2cda006105c05b428bace831c06c984, type: 3} propertyPath: m_RootOrder @@ -1781,23 +2888,160 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 3729425982851814796, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3793233286561025186, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -153.09961 + objectReference: {fileID: 0} + - target: {fileID: 3793233286561025186, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -25 + objectReference: {fileID: 0} + - target: {fileID: 3891856200958776947, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 234.5 + objectReference: {fileID: 0} + - target: {fileID: 3891856200958776947, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 5099985182589560896, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 171.72998 + objectReference: {fileID: 0} + - target: {fileID: 5099985182589560896, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 145 + objectReference: {fileID: 0} + - target: {fileID: 6701265588960253628, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_MatchWidthOrHeight + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6815232970635902458, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6885117329821805969, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 580.5 + objectReference: {fileID: 0} + - target: {fileID: 6974005516898178294, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6998234637461408072, guid: b2cda006105c05b428bace831c06c984, type: 3} propertyPath: m_Camera value: objectReference: {fileID: 1477232087} + - target: {fileID: 7071674103025143898, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7071674103025143898, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7071674103025143898, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7071674103025143898, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7071674103025143898, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -322.2 + objectReference: {fileID: 0} + - target: {fileID: 7071674103025143898, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 76.16995 + objectReference: {fileID: 0} + - target: {fileID: 8092412741755098697, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8197888988113745815, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -320 + objectReference: {fileID: 0} + - target: {fileID: 8197888988113745815, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -50 + objectReference: {fileID: 0} + - target: {fileID: 8559980341625567388, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -374 + objectReference: {fileID: 0} + - target: {fileID: 8559980341625567388, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -290 + objectReference: {fileID: 0} - target: {fileID: 8602402450329033153, guid: b2cda006105c05b428bace831c06c984, type: 3} propertyPath: m_Camera value: objectReference: {fileID: 1477232087} + - target: {fileID: 8614465963966285697, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -145.25684 + objectReference: {fileID: 0} - target: {fileID: 8643991012816148233, guid: b2cda006105c05b428bace831c06c984, type: 3} propertyPath: m_Camera value: objectReference: {fileID: 1477232087} + - target: {fileID: 8662033240955052386, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 5.5999756 + objectReference: {fileID: 0} + - target: {fileID: 8662033240955052386, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 9.099976 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: b2cda006105c05b428bace831c06c984, type: 3} +--- !u!224 &962576083989124240 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4134376404653246773, guid: b2cda006105c05b428bace831c06c984, + type: 3} + m_PrefabInstance: {fileID: 962576083989124239} + m_PrefabAsset: {fileID: 0} +--- !u!224 &962576083989124241 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6667627304093701143, guid: b2cda006105c05b428bace831c06c984, + type: 3} + m_PrefabInstance: {fileID: 962576083989124239} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1242784128520851866 PrefabInstance: m_ObjectHideFlags: 0 From 80549b8e490f0b2481fbdd5da205745cba07be46 Mon Sep 17 00:00:00 2001 From: xianyi Date: Wed, 6 Aug 2025 09:34:12 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E8=B0=83=E6=95=B4Game=E5=B8=83=E5=B1=80=20?= =?UTF-8?q?-=20=E8=B0=83=E6=95=B4=E5=8D=A1=E6=A7=BD=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/TcgEngine/Scenes/Game/Game.unity | 230 ++---------------------- 1 file changed, 19 insertions(+), 211 deletions(-) diff --git a/Assets/TcgEngine/Scenes/Game/Game.unity b/Assets/TcgEngine/Scenes/Game/Game.unity index 516622b..2ecb10a 100644 --- a/Assets/TcgEngine/Scenes/Game/Game.unity +++ b/Assets/TcgEngine/Scenes/Game/Game.unity @@ -191,101 +191,6 @@ LightingSettings: m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 m_PVRTiledBaking: 0 ---- !u!1001 &531038259 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1892906616} - m_Modifications: - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: type - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: index - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162978, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_Name - value: BoardSlot (8) - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalPosition.y - value: -1.4 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 683a057051c59804eb32a44954f69029, type: 3} ---- !u!4 &531038260 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - m_PrefabInstance: {fileID: 531038259} - m_PrefabAsset: {fileID: 0} --- !u!1 &533642365 GameObject: m_ObjectHideFlags: 0 @@ -633,7 +538,7 @@ PrefabInstance: - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_LocalPosition.x - value: 0 + value: 1.5 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} @@ -1113,7 +1018,7 @@ PrefabInstance: - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_LocalPosition.x - value: 2.5 + value: 4.5 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} @@ -1208,12 +1113,12 @@ PrefabInstance: - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_RootOrder - value: 8 + value: 7 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_LocalPosition.x - value: -2.5 + value: -1.5 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} @@ -1308,12 +1213,12 @@ PrefabInstance: - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_RootOrder - value: 7 + value: 6 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_LocalPosition.x - value: -5 + value: -4.5 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} @@ -1622,7 +1527,7 @@ PrefabInstance: - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_LocalPosition.x - value: -2.5 + value: -1.5 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} @@ -2065,12 +1970,12 @@ PrefabInstance: - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_RootOrder - value: 10 + value: 9 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_LocalPosition.x - value: 2.5 + value: 4.5 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} @@ -2259,106 +2164,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} ---- !u!1001 &1735995983 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1892906616} - m_Modifications: - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: type - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: index - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162908, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: opponent - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162978, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_Name - value: BoardSlotO (13) - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_RootOrder - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalPosition.y - value: 1.5 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 683a057051c59804eb32a44954f69029, type: 3} ---- !u!4 &1735995984 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, - type: 3} - m_PrefabInstance: {fileID: 1735995983} - m_PrefabAsset: {fileID: 0} --- !u!1001 &1743420990 PrefabInstance: m_ObjectHideFlags: 0 @@ -2561,12 +2366,12 @@ PrefabInstance: - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_RootOrder - value: 9 + value: 8 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_LocalPosition.x - value: 0 + value: 1.5 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} @@ -2657,12 +2462,10 @@ Transform: - {fileID: 1307629564} - {fileID: 629549710} - {fileID: 839364592} - - {fileID: 531038260} - {fileID: 978862162} - {fileID: 970335328} - {fileID: 1856883458} - {fileID: 1591726937} - - {fileID: 1735995984} - {fileID: 2066253603} - {fileID: 1896079016} m_Father: {fileID: 679643787} @@ -2709,7 +2512,7 @@ PrefabInstance: - target: {fileID: 1242784130044925625, guid: 0238b0974c923864aa29b71669692c93, type: 3} propertyPath: m_RootOrder - value: 13 + value: 11 objectReference: {fileID: 0} - target: {fileID: 1242784130044925625, guid: 0238b0974c923864aa29b71669692c93, type: 3} @@ -3057,7 +2860,7 @@ PrefabInstance: - target: {fileID: 1242784130044925625, guid: 0238b0974c923864aa29b71669692c93, type: 3} propertyPath: m_RootOrder - value: 12 + value: 10 objectReference: {fileID: 0} - target: {fileID: 1242784130044925625, guid: 0238b0974c923864aa29b71669692c93, type: 3} @@ -3511,6 +3314,11 @@ PrefabInstance: propertyPath: opponent value: 0 objectReference: {fileID: 0} + - target: {fileID: 5621716279381743939, guid: 310f492c3e6afc24b9cb0f4f467ec27d, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 310f492c3e6afc24b9cb0f4f467ec27d, type: 3} --- !u!1001 &6356727807455473990 @@ -3622,7 +3430,7 @@ PrefabInstance: - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} propertyPath: m_LocalPosition.x - value: -5 + value: -4.5 objectReference: {fileID: 0} - target: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, type: 3} From f6262481dc24da479c1a8fad82d5318ab7e473f3 Mon Sep 17 00:00:00 2001 From: xianyi Date: Wed, 6 Aug 2025 11:35:29 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8D=A1=E7=89=8C?= =?UTF-8?q?=E6=94=BB=E5=87=BB=20-=20=E5=9C=BA=E4=B8=8A=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E5=8D=A1=E7=89=8C=E6=97=B6=E6=97=A0=E6=B3=95=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E6=94=BB=E5=87=BB=E6=95=8C=E6=96=B9=E7=8E=A9=E5=AE=B6=20-=20?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=8D=A1=E7=89=8C=E6=94=BB=E5=87=BB=E6=95=8C?= =?UTF-8?q?=E6=96=B9=E7=8E=A9=E5=AE=B6=E9=AB=98=E4=BA=AE=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=20-=20=E4=B8=80=E5=9B=9E=E5=90=88=E5=8F=AA=E8=83=BD=E4=B8=8A?= =?UTF-8?q?=E5=9C=BA=E4=B8=80=E5=BC=A0=E8=A7=92=E8=89=B2=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TcgEngine/Scripts/GameClient/BoardSlot.cs | 8 ++++---- .../Scripts/GameClient/BoardSlotGroup.cs | 4 ++-- .../Scripts/GameClient/BoardSlotPlayer.cs | 19 ++++++++++--------- .../TcgEngine/Scripts/GameClient/HandCard.cs | 5 +++-- Assets/TcgEngine/Scripts/GameLogic/Game.cs | 4 ++++ .../Scripts/GameServer/GameServer.cs | 11 +++++++++++ Assets/TcgEngine/Scripts/UI/IconBar.cs | 12 +++++++++++- 7 files changed, 45 insertions(+), 18 deletions(-) diff --git a/Assets/TcgEngine/Scripts/GameClient/BoardSlot.cs b/Assets/TcgEngine/Scripts/GameClient/BoardSlot.cs index dc6e573..9ea583f 100644 --- a/Assets/TcgEngine/Scripts/GameClient/BoardSlot.cs +++ b/Assets/TcgEngine/Scripts/GameClient/BoardSlot.cs @@ -57,14 +57,14 @@ namespace TcgEngine.Client //Find target opacity value target_alpha = 0f; - if (your_turn && dcard != null && dcard.CardData.IsBoardCard() && gdata.CanPlayCard(dcard, slot)) + if (your_turn && dcard != null && dcard.CardData.IsBoardCard() && gdata.CanPlayCard(dcard, slot, true)) { - target_alpha = 1f; //hightlight when dragging a character or artifact + target_alpha = 1f; //hightlight when dragging a character or artifact (skip mana cost) } - if (your_turn && dcard != null && dcard.CardData.IsRequireTarget() && gdata.CanPlayCard(dcard, slot)) + if (your_turn && dcard != null && dcard.CardData.IsRequireTarget() && gdata.CanPlayCard(dcard, slot, true)) { - target_alpha = 1f; //Highlight when dragin a spell with target + target_alpha = 1f; //Highlight when dragin a spell with target (skip mana cost) } if (gdata.selector == SelectorType.SelectTarget && player.player_id == gdata.selector_player_id) diff --git a/Assets/TcgEngine/Scripts/GameClient/BoardSlotGroup.cs b/Assets/TcgEngine/Scripts/GameClient/BoardSlotGroup.cs index e455f04..ad3502c 100644 --- a/Assets/TcgEngine/Scripts/GameClient/BoardSlotGroup.cs +++ b/Assets/TcgEngine/Scripts/GameClient/BoardSlotGroup.cs @@ -77,8 +77,8 @@ namespace TcgEngine.Client { foreach (GroupSlot slot in group_slots) { - if(gdata.CanPlayCard(dcard, slot.slot)) - target_alpha = 1f; //hightlight when dragging a character or artifact + if(gdata.CanPlayCard(dcard, slot.slot, true)) + target_alpha = 1f; //hightlight when dragging a character or artifact (skip mana cost) } } diff --git a/Assets/TcgEngine/Scripts/GameClient/BoardSlotPlayer.cs b/Assets/TcgEngine/Scripts/GameClient/BoardSlotPlayer.cs index e2fca41..b1ac1dc 100644 --- a/Assets/TcgEngine/Scripts/GameClient/BoardSlotPlayer.cs +++ b/Assets/TcgEngine/Scripts/GameClient/BoardSlotPlayer.cs @@ -67,16 +67,17 @@ namespace TcgEngine.Client target_alpha = 0f; Card select_card = bcard_selected?.GetCard(); - if (select_card != null) - { - bool can_do_attack = gdata.IsPlayerActionTurn(player) && select_card.CanAttack(); - bool can_be_attacked = gdata.CanAttackTarget(select_card, oplayer); + // if (select_card != null) + // { + // bool can_do_attack = gdata.IsPlayerActionTurn(player) && select_card.CanAttack(); + // bool can_be_attacked = gdata.CanAttackTarget(select_card, oplayer); - if (can_do_attack && can_be_attacked) - { - target_alpha = 1f; - } - } + // 敌方可被攻击时高亮 + // if (can_do_attack && can_be_attacked) + // { + // target_alpha = 1f; + // } + //} if (your_turn && drag_card != null && drag_card.CardData.IsRequireTargetSpell() && gdata.IsPlayTargetValid(drag_card.GetCard(), GetPlayer())) { diff --git a/Assets/TcgEngine/Scripts/GameClient/HandCard.cs b/Assets/TcgEngine/Scripts/GameClient/HandCard.cs index cd3d871..985f2f3 100644 --- a/Assets/TcgEngine/Scripts/GameClient/HandCard.cs +++ b/Assets/TcgEngine/Scripts/GameClient/HandCard.cs @@ -231,9 +231,10 @@ namespace TcgEngine.Client return; } - if (!player.CanPayMana(card)) + // 检查本回合是否已经上场过场上卡牌(只有怪物牌等场上卡牌受限制) + if (card.CardData.IsBoardCard() && player.cards_played_this_turn >= 1) { - WarningText.ShowNoMana(); + Debug.Log("本回合只能上场一张场上卡牌"); return; } diff --git a/Assets/TcgEngine/Scripts/GameLogic/Game.cs b/Assets/TcgEngine/Scripts/GameLogic/Game.cs index fe1086e..940284d 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/Game.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/Game.cs @@ -186,6 +186,10 @@ namespace TcgEngine if (target.HasStatus(StatusType.Protected) && !attacker.HasStatus(StatusType.Flying)) return false; //Protected by taunt + // 检查目标玩家场上是否有卡牌,如有则无法直接攻击玩家 + if (target.cards_board.Count > 0) + return false; //Cannot attack player when they have cards on board + return true; } diff --git a/Assets/TcgEngine/Scripts/GameServer/GameServer.cs b/Assets/TcgEngine/Scripts/GameServer/GameServer.cs index 0ddc637..9798111 100644 --- a/Assets/TcgEngine/Scripts/GameServer/GameServer.cs +++ b/Assets/TcgEngine/Scripts/GameServer/GameServer.cs @@ -303,7 +303,18 @@ namespace TcgEngine.Server { Card card = player.GetCard(msg.card_uid); if (card != null && card.player_id == player.player_id) + { + // 检查本回合是否已经上场过场上卡牌(只有怪物牌等场上卡牌受限制) + if (card.CardData.IsBoardCard() && player.cards_played_this_turn >= 1) + return; // 已经上场过场上卡牌,不能再上场 + + // 手动上场卡牌:跳过mana消耗 + // gameplay.PlayCard(card, msg.slot, true); gameplay.PlayCard(card, msg.slot); + // 只有场上卡牌才增加计数 + if (card.CardData.IsBoardCard()) + player.cards_played_this_turn++; + } } } diff --git a/Assets/TcgEngine/Scripts/UI/IconBar.cs b/Assets/TcgEngine/Scripts/UI/IconBar.cs index afa4ea2..cf81c6c 100644 --- a/Assets/TcgEngine/Scripts/UI/IconBar.cs +++ b/Assets/TcgEngine/Scripts/UI/IconBar.cs @@ -33,9 +33,15 @@ namespace TcgEngine.UI public void Refresh() { + if (icons == null) + return; + int index = 0; foreach (Image icon in icons) { + if (icon == null) + continue; + icon.gameObject.SetActive(index < value || index < max_value); icon.sprite = (index < value) ? sprite_full : sprite_empty; index++; @@ -44,9 +50,13 @@ namespace TcgEngine.UI public void SetMat(Material mat) { + if (icons == null) + return; + foreach (Image icon in icons) { - icon.material = mat; + if (icon != null) + icon.material = mat; } } } From 6a7da249653ac82017a8e7ede72e4420754165ba Mon Sep 17 00:00:00 2001 From: xianyi Date: Wed, 6 Aug 2025 16:33:48 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E5=9C=BA=E4=B8=8A=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=8D=A1=E7=89=8C=E6=97=B6=E8=87=AA=E5=8A=A8=E4=B8=8A=E5=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TcgEngine/Scripts/GameLogic/GameLogic.cs | 78 +++++++++++++++++++ Assets/TcgEngine/Scripts/GameLogic/Player.cs | 14 +++- 2 files changed, 89 insertions(+), 3 deletions(-) diff --git a/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs b/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs index b4b6aa1..9c46f95 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs @@ -174,6 +174,9 @@ namespace TcgEngine.Gameplay game_data.turn_timer = GameplayData.Get().turn_duration; player.history_list.Clear(); + //清除本回合已上场的卡牌数量 + player.cards_played_this_turn = 0; + //Player poison if (player.HasStatus(StatusType.Poisoned)) player.hp -= player.GetStatusValue(StatusType.Poisoned); @@ -997,6 +1000,81 @@ namespace TcgEngine.Gameplay cards_to_clear.Add(card); //Will be Clear() in the next UpdateOngoing, so that simultaneous damage effects work onCardDiscarded?.Invoke(card); + + // 检查场上是否为空,如果为空则强制召唤角色牌 + if (was_on_board) + { + CheckAndForceSummonCharacter(player); + } + } + + // 检查并强制召唤角色牌 + public virtual void CheckAndForceSummonCharacter(Player player) + { + // 检查场上是否为空 + if (player.cards_board.Count > 0) + return; // 场上还有牌,不需要强制召唤 + + // 检查手牌中是否有角色牌 + Card characterCard = GetRandomCharacterFromHand(player); + if (characterCard != null) + { + // 从手牌强制上场角色牌 + ForceSummonCharacterFromHand(player, characterCard); + } + else if (player.cards_hand.Count == 0 && player.cards_deck.Count > 0) + { + // 没有手牌但卡组还有牌,判为输 + EndGame(GetOpponentId(player.player_id)); + } + } + + // 从手牌中获取随机角色牌 + private Card GetRandomCharacterFromHand(Player player) + { + List characterCards = new List(); + foreach (Card card in player.cards_hand) + { + if (card.CardData.IsCharacter()) + { + characterCards.Add(card); + } + } + + if (characterCards.Count > 0) + { + return characterCards[random.Next(0, characterCards.Count)]; + } + + return null; + } + + // 强制从手牌召唤角色牌,设置为疲劳状态,不消耗mana + private void ForceSummonCharacterFromHand(Player player, Card characterCard) + { + // 找到一个空的卡槽 + Slot emptySlot = player.GetRandomEmptySlot(random); + if (emptySlot.IsValid()) + { + // 不消耗mana强制上场 + PlayCard(characterCard, emptySlot, true); // skip_cost = true + + // 设置为疲劳状态 + characterCard.exhausted = true; + } + } + + // 获取对手ID + private int GetOpponentId(int playerId) + { + foreach (Player player in game_data.players) + { + if (player.player_id != playerId) + { + return player.player_id; + } + } + return -1; // 找不到对手时返回-1 } public int RollRandomValue(int dice) diff --git a/Assets/TcgEngine/Scripts/GameLogic/Player.cs b/Assets/TcgEngine/Scripts/GameLogic/Player.cs index b49c73b..51db653 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/Player.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/Player.cs @@ -26,7 +26,7 @@ namespace TcgEngine public int mana = 0; public int mana_max = 0; public int kill_count = 0; - + public int cards_played_this_turn = 0; // 本回合已上场的卡牌数量 public Dictionary cards_all = new Dictionary(); //Dictionnary for quick access to any card by UID public Card hero = null; @@ -556,10 +556,18 @@ namespace TcgEngine public virtual bool IsDead() { - if (cards_hand.Count == 0 && cards_board.Count == 0 && cards_deck.Count == 0) - return true; + // 原有的死亡判定:血量为0 if (hp <= 0) return true; + + // 新增的死亡判定:无手牌、无场上卡牌,且卡组中还有牌 + if (cards_hand.Count == 0 && cards_board.Count == 0 && cards_deck.Count > 0) + return true; + + // 原有的死亡判定:所有牌都没有了 + if (cards_hand.Count == 0 && cards_board.Count == 0 && cards_deck.Count == 0) + return true; + return false; } From ca64c08f7e9477c9c3a3b2f803f2bcf68d4066ba Mon Sep 17 00:00:00 2001 From: xianyi Date: Mon, 11 Aug 2025 14:09:21 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=89=E9=98=B5?= =?UTF-8?q?=E8=90=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/TcgEngine/Resources/GameplayData.asset | 8 +- Assets/TcgEngine/Scenes/Game/Game.unity | 648 +++--------------- .../Scripts/Conditions/ConditionPlayerStat.cs | 18 + .../Scripts/Conditions/ConditionStat.cs | 39 ++ .../Scripts/Conditions/FilterHighestStat.cs | 16 + .../Scripts/Conditions/FilterLowestStat.cs | 15 + Assets/TcgEngine/Scripts/Data/CardData.cs | 29 +- .../Scripts/Effects/EffectAddStat.cs | 40 +- .../Scripts/Effects/EffectAddStatCount.cs | 34 +- .../Scripts/Effects/EffectAddStatRoll.cs | 23 + .../TcgEngine/Scripts/Effects/EffectMana.cs | 29 +- .../Scripts/Effects/EffectSetStat.cs | 30 +- Assets/TcgEngine/Scripts/GameLogic/Card.cs | 87 ++- Assets/TcgEngine/Scripts/GameLogic/Game.cs | 12 +- .../TcgEngine/Scripts/GameLogic/GameLogic.cs | 43 +- Assets/TcgEngine/Scripts/GameLogic/Player.cs | 191 +++++- Assets/TcgEngine/Scripts/UI/PlayerUI.cs | 55 +- 17 files changed, 734 insertions(+), 583 deletions(-) diff --git a/Assets/TcgEngine/Resources/GameplayData.asset b/Assets/TcgEngine/Resources/GameplayData.asset index c569501..940f195 100644 --- a/Assets/TcgEngine/Resources/GameplayData.asset +++ b/Assets/TcgEngine/Resources/GameplayData.asset @@ -13,14 +13,18 @@ MonoBehaviour: m_Name: GameplayData m_EditorClassIdentifier: hp_start: 999 - mana_start: 2 + # 起始mana + mana_start: 1 + # 每回合增加mana mana_per_turn: 1 + # 最大mana上限 mana_max: 10 # 初始化手牌数量 cards_start: 3 cards_per_turn: 1 cards_max: 10 - turn_duration: 60 + # 超时时间 + turn_duration: 600 second_bonus: {fileID: 11400000, guid: 9503f60659f1df04eb3dd7fa925885fb, type: 2} mulligan: 1 deck_size: 8 diff --git a/Assets/TcgEngine/Scenes/Game/Game.unity b/Assets/TcgEngine/Scenes/Game/Game.unity index 2ecb10a..62f194a 100644 --- a/Assets/TcgEngine/Scenes/Game/Game.unity +++ b/Assets/TcgEngine/Scenes/Game/Game.unity @@ -123,6 +123,18 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!114 &56302001 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 209928453693938780, guid: b2cda006105c05b428bace831c06c984, + type: 3} + m_PrefabInstance: {fileID: 962576083989124239} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf1498eac12d8c14e98918e5ac2baf2c, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!4 &87995967 stripped Transform: m_CorrespondingSourceObject: {fileID: 7426997187891162979, guid: 683a057051c59804eb32a44954f69029, @@ -224,146 +236,24 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &570405431 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3188539720586938462, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + m_PrefabInstance: {fileID: 1701871964} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf1498eac12d8c14e98918e5ac2baf2c, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!4 &572134229 stripped Transform: m_CorrespondingSourceObject: {fileID: 5621716278606480176, guid: 310f492c3e6afc24b9cb0f4f467ec27d, type: 3} m_PrefabInstance: {fileID: 5621716279108096101} m_PrefabAsset: {fileID: 0} ---- !u!1001 &586676445 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 962576083989124240} - m_Modifications: - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_RootOrder - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.x - value: 450 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.y - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -153.09961 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -145 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Name - value: ManaBar_4 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &586821846 PrefabInstance: m_ObjectHideFlags: 0 @@ -844,140 +734,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} ---- !u!1001 &827800334 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 962576083989124241} - m_Modifications: - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_RootOrder - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.x - value: 450 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.y - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 234.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 145 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Name - value: ManaBar_4 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &839364591 PrefabInstance: m_ObjectHideFlags: 0 @@ -1273,140 +1029,6 @@ Transform: type: 3} m_PrefabInstance: {fileID: 978862161} m_PrefabAsset: {fileID: 0} ---- !u!1001 &1130443655 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 962576083989124241} - m_Modifications: - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_RootOrder - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.x - value: 450 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.y - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 234.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 115 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Name - value: ManaBar_3 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &1156614218 PrefabInstance: m_ObjectHideFlags: 0 @@ -1487,6 +1109,18 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1156614218} m_PrefabAsset: {fileID: 0} +--- !u!114 &1236539333 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3188539720586938462, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + m_PrefabInstance: {fileID: 586821846} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf1498eac12d8c14e98918e5ac2baf2c, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1307629563 PrefabInstance: m_ObjectHideFlags: 0 @@ -1582,140 +1216,18 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1307629563} m_PrefabAsset: {fileID: 0} ---- !u!1001 &1322746473 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 962576083989124240} - m_Modifications: - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_RootOrder - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.x - value: 450 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.y - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalScale.z - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -153.09961 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -115 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Name - value: ManaBar_3 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} +--- !u!114 &1310842031 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 22293539287746189, guid: b2cda006105c05b428bace831c06c984, + type: 3} + m_PrefabInstance: {fileID: 962576083989124239} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf1498eac12d8c14e98918e5ac2baf2c, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1452264122 PrefabInstance: m_ObjectHideFlags: 0 @@ -1930,6 +1442,18 @@ Camera: type: 3} m_PrefabInstance: {fileID: 4127392486269000878} m_PrefabAsset: {fileID: 0} +--- !u!114 &1516502394 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3188539720586938462, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + m_PrefabInstance: {fileID: 746266444} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf1498eac12d8c14e98918e5ac2baf2c, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1591726936 PrefabInstance: m_ObjectHideFlags: 0 @@ -2426,6 +1950,18 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1856883457} m_PrefabAsset: {fileID: 0} +--- !u!114 &1858421782 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3188539720586938462, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + m_PrefabInstance: {fileID: 1452264122} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf1498eac12d8c14e98918e5ac2baf2c, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1892906615 GameObject: m_ObjectHideFlags: 0 @@ -2706,6 +2242,11 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -25 objectReference: {fileID: 0} + - target: {fileID: 3846590587645140173, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_Name + value: ManaBar_0 + objectReference: {fileID: 0} - target: {fileID: 3891856200958776947, guid: b2cda006105c05b428bace831c06c984, type: 3} propertyPath: m_AnchoredPosition.x @@ -2716,6 +2257,11 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 25 objectReference: {fileID: 0} + - target: {fileID: 4019241431521019420, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: m_Name + value: ManaBar_0 + objectReference: {fileID: 0} - target: {fileID: 5099985182589560896, guid: b2cda006105c05b428bace831c06c984, type: 3} propertyPath: m_AnchoredPosition.x @@ -2781,6 +2327,21 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 76.16995 objectReference: {fileID: 0} + - target: {fileID: 8064129199798896601, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: team_mana_bars.Array.data[0] + value: + objectReference: {fileID: 1310842031} + - target: {fileID: 8064129199798896601, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: team_mana_bars.Array.data[1] + value: + objectReference: {fileID: 1516502394} + - target: {fileID: 8064129199798896601, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: team_mana_bars.Array.data[2] + value: + objectReference: {fileID: 570405431} - target: {fileID: 8092412741755098697, guid: b2cda006105c05b428bace831c06c984, type: 3} propertyPath: m_IsActive @@ -2796,6 +2357,21 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -50 objectReference: {fileID: 0} + - target: {fileID: 8236030736308582322, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: team_mana_bars.Array.data[0] + value: + objectReference: {fileID: 56302001} + - target: {fileID: 8236030736308582322, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: team_mana_bars.Array.data[1] + value: + objectReference: {fileID: 1858421782} + - target: {fileID: 8236030736308582322, guid: b2cda006105c05b428bace831c06c984, + type: 3} + propertyPath: team_mana_bars.Array.data[2] + value: + objectReference: {fileID: 1236539333} - target: {fileID: 8559980341625567388, guid: b2cda006105c05b428bace831c06c984, type: 3} propertyPath: m_AnchoredPosition.x diff --git a/Assets/TcgEngine/Scripts/Conditions/ConditionPlayerStat.cs b/Assets/TcgEngine/Scripts/Conditions/ConditionPlayerStat.cs index 5a6b497..bef7e10 100644 --- a/Assets/TcgEngine/Scripts/Conditions/ConditionPlayerStat.cs +++ b/Assets/TcgEngine/Scripts/Conditions/ConditionPlayerStat.cs @@ -34,6 +34,24 @@ namespace TcgEngine return CompareInt(target.mana, oper, value); } + // 新增:火系法力值检查 + if (type == ConditionStatType.ManaFire) + { + return CompareInt(target.mana_fire, oper, value); + } + + // 新增:森林法力值检查 + if (type == ConditionStatType.ManaForest) + { + return CompareInt(target.mana_forest, oper, value); + } + + // 新增:水系法力值检查 + if (type == ConditionStatType.ManaWater) + { + return CompareInt(target.mana_water, oper, value); + } + return false; } } diff --git a/Assets/TcgEngine/Scripts/Conditions/ConditionStat.cs b/Assets/TcgEngine/Scripts/Conditions/ConditionStat.cs index a062a72..6961bef 100644 --- a/Assets/TcgEngine/Scripts/Conditions/ConditionStat.cs +++ b/Assets/TcgEngine/Scripts/Conditions/ConditionStat.cs @@ -10,6 +10,9 @@ namespace TcgEngine Attack = 10, HP = 20, Mana = 30, + ManaFire = 40, + ManaForest = 50, + ManaWater = 60, } /// @@ -41,6 +44,24 @@ namespace TcgEngine return CompareInt(target.GetMana(), oper, value); } + // 新增:火系法力值检查 + if (type == ConditionStatType.ManaFire) + { + return CompareInt(target.GetManaFire(), oper, value); + } + + // 新增:森林法力值检查 + if (type == ConditionStatType.ManaForest) + { + return CompareInt(target.GetManaForest(), oper, value); + } + + // 新增:水系法力值检查 + if (type == ConditionStatType.ManaWater) + { + return CompareInt(target.GetManaWater(), oper, value); + } + return false; } @@ -56,6 +77,24 @@ namespace TcgEngine return CompareInt(target.mana, oper, value); } + // 新增:火系法力值检查 + if (type == ConditionStatType.ManaFire) + { + return CompareInt(target.mana_fire, oper, value); + } + + // 新增:森林法力值检查 + if (type == ConditionStatType.ManaForest) + { + return CompareInt(target.mana_forest, oper, value); + } + + // 新增:水系法力值检查 + if (type == ConditionStatType.ManaWater) + { + return CompareInt(target.mana_water, oper, value); + } + return false; } } diff --git a/Assets/TcgEngine/Scripts/Conditions/FilterHighestStat.cs b/Assets/TcgEngine/Scripts/Conditions/FilterHighestStat.cs index cad93d5..474174d 100644 --- a/Assets/TcgEngine/Scripts/Conditions/FilterHighestStat.cs +++ b/Assets/TcgEngine/Scripts/Conditions/FilterHighestStat.cs @@ -47,6 +47,22 @@ namespace TcgEngine { return card.GetMana(); } + // 新增:火系法力值检查 + if (stat == ConditionStatType.ManaFire) + { + return card.GetManaFire(); + } + // 新增:森林法力值检查 + if (stat == ConditionStatType.ManaForest) + { + return card.GetManaForest(); + } + // 新增:水系法力值检查 + if (stat == ConditionStatType.ManaWater) + { + return card.GetManaWater(); + } + return 0; } } diff --git a/Assets/TcgEngine/Scripts/Conditions/FilterLowestStat.cs b/Assets/TcgEngine/Scripts/Conditions/FilterLowestStat.cs index 33c2529..b36e93f 100644 --- a/Assets/TcgEngine/Scripts/Conditions/FilterLowestStat.cs +++ b/Assets/TcgEngine/Scripts/Conditions/FilterLowestStat.cs @@ -47,6 +47,21 @@ namespace TcgEngine { return card.GetMana(); } + // 新增:火系法力值检查 + if (stat == ConditionStatType.ManaFire) + { + return card.GetManaFire(); + } + // 新增:森林法力值检查 + if (stat == ConditionStatType.ManaForest) + { + return card.GetManaForest(); + } + // 新增:水系法力值检查 + if (stat == ConditionStatType.ManaWater) + { + return card.GetManaWater(); + } return 0; } } diff --git a/Assets/TcgEngine/Scripts/Data/CardData.cs b/Assets/TcgEngine/Scripts/Data/CardData.cs index 14dcbc9..0f0fb6b 100644 --- a/Assets/TcgEngine/Scripts/Data/CardData.cs +++ b/Assets/TcgEngine/Scripts/Data/CardData.cs @@ -36,6 +36,11 @@ namespace TcgEngine public int attack; public int hp; + // 新增:三种元素法力值 + public int mana_fire; + public int mana_forest; + public int mana_water;  + [Header("Traits")] public TraitData[] traits; public TraitStat[] stats; @@ -166,7 +171,23 @@ namespace TcgEngine public bool IsDynamicManaCost() { - return mana > 99; + // 检查通用法力值是否为动态消耗 + if (mana > 99) + return true; + + // 检查火系法力值是否为动态消耗 + if (mana_fire > 99) + return true; + + // 检查森林法力值是否为动态消耗 + if (mana_forest > 99) + return true; + + // 检查水系法力值是否为动态消耗 + if (mana_water > 99) + return true; + + return false; } public bool HasTrait(string trait) @@ -181,7 +202,7 @@ namespace TcgEngine public bool HasTrait(TraitData trait) { - if(trait != null) + if (trait != null) return HasTrait(trait.id); return false; } @@ -201,7 +222,7 @@ namespace TcgEngine public bool HasStat(TraitData trait) { - if(trait != null) + if (trait != null) return HasStat(trait.id); return false; } @@ -221,7 +242,7 @@ namespace TcgEngine public int GetStat(TraitData trait) { - if(trait != null) + if (trait != null) return GetStat(trait.id); return 0; } diff --git a/Assets/TcgEngine/Scripts/Effects/EffectAddStat.cs b/Assets/TcgEngine/Scripts/Effects/EffectAddStat.cs index 19fc538..99c02ae 100644 --- a/Assets/TcgEngine/Scripts/Effects/EffectAddStat.cs +++ b/Assets/TcgEngine/Scripts/Effects/EffectAddStat.cs @@ -13,6 +13,9 @@ namespace TcgEngine public class EffectAddStat : EffectData { public EffectStatType type; + + [Header("Team Mana (only for Mana type)")] + public string team_id = ""; // 当type为Mana时,指定影响的阵营 public override void DoEffect(GameLogic logic, AbilityData ability, Card caster, Player target) { @@ -24,13 +27,23 @@ namespace TcgEngine if (type == EffectStatType.Mana) { - target.mana += ability.value; - target.mana_max += ability.value; - target.mana = Mathf.Max(target.mana, 0); - target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max); + // 如果指定了阵营,影响阵营mana;否则影响通用mana + if (!string.IsNullOrEmpty(team_id)) + { + target.AddTeamMana(team_id, ability.value, ability.value); + } + else + { + Debug.Log($"AddStat Mana 通用: {ability.value}"); + target.mana += ability.value; + target.mana_max += ability.value; + target.mana = Mathf.Max(target.mana, 0); + target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max); + } } } + // 永久效果 public override void DoEffect(GameLogic logic, AbilityData ability, Card caster, Card target) { if (type == EffectStatType.Attack) @@ -39,8 +52,16 @@ namespace TcgEngine target.hp += ability.value; if (type == EffectStatType.Mana) target.mana += ability.value; + + if (type == EffectStatType.ManaFire) + target.mana_fire += ability.value; + if (type == EffectStatType.ManaForest) + target.mana_forest += ability.value; + if (type == EffectStatType.ManaWater) + target.mana_water += ability.value; } + // 临时效果 public override void DoOngoingEffect(GameLogic logic, AbilityData ability, Card caster, Card target) { if (type == EffectStatType.Attack) @@ -49,6 +70,13 @@ namespace TcgEngine target.hp_ongoing += ability.value; if (type == EffectStatType.Mana) target.mana_ongoing += ability.value; + + if (type == EffectStatType.ManaFire) + target.mana_fire_ongoing += ability.value; + if (type == EffectStatType.ManaForest) + target.mana_forest_ongoing += ability.value; + if (type == EffectStatType.ManaWater) + target.mana_water_ongoing += ability.value; } } @@ -59,5 +87,9 @@ namespace TcgEngine Attack = 10, HP = 20, Mana = 30, + // 新增:三种元素法力值 + ManaFire = 40, + ManaForest = 50, + ManaWater = 60, } } \ No newline at end of file diff --git a/Assets/TcgEngine/Scripts/Effects/EffectAddStatCount.cs b/Assets/TcgEngine/Scripts/Effects/EffectAddStatCount.cs index e5f1782..3ab4cf1 100644 --- a/Assets/TcgEngine/Scripts/Effects/EffectAddStatCount.cs +++ b/Assets/TcgEngine/Scripts/Effects/EffectAddStatCount.cs @@ -19,6 +19,9 @@ namespace TcgEngine public CardType has_type; public TeamData has_team; public TraitData has_trait; + + [Header("Team Mana (only for Mana type)")] + public string team_id = ""; // 当type为Mana时,指定影响的阵营 public override void DoEffect(GameLogic logic, AbilityData ability, Card caster, Player target) { @@ -31,10 +34,19 @@ namespace TcgEngine if (type == EffectStatType.Mana) { - target.mana += val; - target.mana_max += val; - target.mana = Mathf.Max(target.mana, 0); - target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max); + // 如果指定了阵营,影响阵营mana;否则影响通用mana + if (!string.IsNullOrEmpty(team_id)) + { + target.AddTeamMana(team_id, val, val); + } + else + { + Debug.Log($"AddStatCount Mana 通用: {val}"); + target.mana += val; + target.mana_max += val; + target.mana = Mathf.Max(target.mana, 0); + target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max); + } } } @@ -47,6 +59,13 @@ namespace TcgEngine target.hp += val; if (type == EffectStatType.Mana) target.mana += val; + + if (type == EffectStatType.ManaFire) + target.mana_fire += val; + if (type == EffectStatType.ManaForest) + target.mana_forest += val; + if (type == EffectStatType.ManaWater) + target.mana_water += val; } public override void DoOngoingEffect(GameLogic logic, AbilityData ability, Card caster, Card target) @@ -58,6 +77,13 @@ namespace TcgEngine target.hp_ongoing += val; if (type == EffectStatType.Mana) target.mana_ongoing += val; + + if (type == EffectStatType.ManaFire) + target.mana_fire_ongoing += val; + if (type == EffectStatType.ManaForest) + target.mana_forest_ongoing += val; + if (type == EffectStatType.ManaWater) + target.mana_water_ongoing += val; } private int GetCount(Game data, Card caster) diff --git a/Assets/TcgEngine/Scripts/Effects/EffectAddStatRoll.cs b/Assets/TcgEngine/Scripts/Effects/EffectAddStatRoll.cs index ba437b4..b1a9d7e 100644 --- a/Assets/TcgEngine/Scripts/Effects/EffectAddStatRoll.cs +++ b/Assets/TcgEngine/Scripts/Effects/EffectAddStatRoll.cs @@ -31,6 +31,22 @@ namespace TcgEngine target.mana = Mathf.Max(target.mana, 0); target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max); } + + if (type == EffectStatType.ManaFire) + target.mana_fire += data.rolled_value; + target.mana_fire_max += data.rolled_value; + target.mana_fire = Mathf.Max(target.mana_fire, 0); + target.mana_fire_max = Mathf.Clamp(target.mana_fire_max, 0, GameplayData.Get().mana_max); + if (type == EffectStatType.ManaForest) + target.mana_forest += data.rolled_value; + target.mana_forest_max += data.rolled_value; + target.mana_forest = Mathf.Max(target.mana_forest, 0); + target.mana_forest_max = Mathf.Clamp(target.mana_forest_max, 0, GameplayData.Get().mana_max); + if (type == EffectStatType.ManaWater) + target.mana_water += data.rolled_value; + target.mana_water_max += data.rolled_value; + target.mana_water = Mathf.Max(target.mana_water, 0); + target.mana_water_max = Mathf.Clamp(target.mana_water_max, 0, GameplayData.Get().mana_max); } public override void DoEffect(GameLogic logic, AbilityData ability, Card caster, Card target) @@ -43,6 +59,13 @@ namespace TcgEngine target.hp += data.rolled_value; if (type == EffectStatType.Mana) target.mana += data.rolled_value; + + if (type == EffectStatType.ManaFire) + target.mana_fire += data.rolled_value; + if (type == EffectStatType.ManaForest) + target.mana_forest += data.rolled_value; + if (type == EffectStatType.ManaWater) + target.mana_water += data.rolled_value; } } } \ No newline at end of file diff --git a/Assets/TcgEngine/Scripts/Effects/EffectMana.cs b/Assets/TcgEngine/Scripts/Effects/EffectMana.cs index 7408988..1c037a7 100644 --- a/Assets/TcgEngine/Scripts/Effects/EffectMana.cs +++ b/Assets/TcgEngine/Scripts/Effects/EffectMana.cs @@ -14,19 +14,34 @@ namespace TcgEngine { public bool increase_value; public bool increase_max; + + [Header("Team Mana")] + public string team_id = ""; // 指定影响的阵营,空值表示影响通用mana public override void DoEffect(GameLogic logic, AbilityData ability, Card caster, Player target) { - if (increase_max) + // 如果指定了阵营,影响阵营mana;否则影响通用mana + if (!string.IsNullOrEmpty(team_id)) { - target.mana_max += ability.value; - target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max); + // 影响阵营mana + int current_add = increase_value ? ability.value : 0; + int max_add = increase_max ? ability.value : 0; + target.AddTeamMana(team_id, current_add, max_add); } - - if(increase_value) + else { - target.mana += ability.value; - target.mana = Mathf.Max(target.mana, 0); + // 影响通用mana(保持原有逻辑) + if (increase_max) + { + target.mana_max += ability.value; + target.mana_max = Mathf.Clamp(target.mana_max, 0, GameplayData.Get().mana_max); + } + + if(increase_value) + { + target.mana += ability.value; + target.mana = Mathf.Max(target.mana, 0); + } } } diff --git a/Assets/TcgEngine/Scripts/Effects/EffectSetStat.cs b/Assets/TcgEngine/Scripts/Effects/EffectSetStat.cs index df62bd2..37164b7 100644 --- a/Assets/TcgEngine/Scripts/Effects/EffectSetStat.cs +++ b/Assets/TcgEngine/Scripts/Effects/EffectSetStat.cs @@ -13,6 +13,9 @@ namespace TcgEngine public class EffectSetStat : EffectData { public EffectStatType type; + + [Header("Team Mana (only for Mana type)")] + public string team_id = ""; // 当type为Mana时,指定影响的阵营 public override void DoEffect(GameLogic logic, AbilityData ability, Card caster, Player target) { @@ -23,8 +26,17 @@ namespace TcgEngine if (type == EffectStatType.Mana) { - target.mana = ability.value; - target.mana = Mathf.Max(target.mana, 0); + // 如果指定了阵营,设置阵营mana;否则设置通用mana + if (!string.IsNullOrEmpty(team_id)) + { + target.SetTeamMana(team_id, ability.value); + } + else + { + Debug.Log($"SetStat Mana 通用: {ability.value}"); + target.mana = ability.value; + target.mana = Mathf.Max(target.mana, 0); + } } } @@ -39,6 +51,13 @@ namespace TcgEngine target.hp = ability.value; target.damage = 0; } + + if (type == EffectStatType.ManaFire) + target.mana_fire = ability.value; + if (type == EffectStatType.ManaForest) + target.mana_forest = ability.value; + if (type == EffectStatType.ManaWater) + target.mana_water = ability.value; } public override void DoOngoingEffect(GameLogic logic, AbilityData ability, Card caster, Card target) @@ -49,6 +68,13 @@ namespace TcgEngine target.hp = ability.value; if (type == EffectStatType.Mana) target.mana = ability.value; + + if (type == EffectStatType.ManaFire) + target.mana_fire = ability.value; + if (type == EffectStatType.ManaForest) + target.mana_forest = ability.value; + if (type == EffectStatType.ManaWater) + target.mana_water = ability.value; } } diff --git a/Assets/TcgEngine/Scripts/GameLogic/Card.cs b/Assets/TcgEngine/Scripts/GameLogic/Card.cs index 00c01ec..249aee8 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/Card.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/Card.cs @@ -22,6 +22,16 @@ namespace TcgEngine public int attack = 0; public int hp = 0; + // 新增:三种元素法力值 + public int mana_fire = 0; + public int mana_forest = 0; + public int mana_water = 0; + + // 新增:三种元素法力值的临时加成 + public int mana_fire_ongoing = 0; + public int mana_forest_ongoing = 0; + public int mana_water_ongoing = 0; + public int mana_ongoing = 0; public int attack_ongoing = 0; public int hp_ongoing = 0; @@ -45,11 +55,18 @@ namespace TcgEngine public Card(string card_id, string uid, int player_id) { this.card_id = card_id; this.uid = uid; this.player_id = player_id; } public virtual void Refresh() { exhausted = false; } - public virtual void ClearOngoing() { ongoing_status.Clear(); ongoing_traits.Clear(); ClearOngoingAbility(); attack_ongoing = 0; hp_ongoing = 0; mana_ongoing = 0; } + public virtual void ClearOngoing() + { + ongoing_status.Clear(); ongoing_traits.Clear(); ClearOngoingAbility(); attack_ongoing = 0; hp_ongoing = 0; mana_ongoing = 0; + // 新增:清除元素法力值临时加成 + mana_fire_ongoing = 0; + mana_forest_ongoing = 0; + mana_water_ongoing = 0; + } public virtual void Clear() { - ClearOngoing(); Refresh(); damage = 0; status.Clear(); + ClearOngoing(); Refresh(); damage = 0; status.Clear(); SetCard(CardData, VariantData); //Reset to initial stats equipped_uid = null; } @@ -67,7 +84,11 @@ namespace TcgEngine variant_id = cvariant.id; attack = icard.attack; hp = icard.hp; + // 设置法力值 mana = icard.mana; + mana_fire = icard.mana_fire; + mana_forest = icard.mana_forest; + mana_water = icard.mana_water; SetTraits(icard); SetAbilities(icard); } @@ -93,7 +114,7 @@ namespace TcgEngine foreach (AbilityData ability in icard.abilities) AddAbility(ability); } - + //------ Custom Traits/Stats --------- public void SetTrait(string id, int value) @@ -200,7 +221,7 @@ namespace TcgEngine all_traits.AddRange(ongoing_traits); return all_traits; } - + //Alternate names since traits/stats are stored in same var public void SetStat(string id, int value) => SetTrait(id, value); public void AddStat(string id, int value) => AddTrait(id, value); @@ -212,6 +233,27 @@ namespace TcgEngine public bool HasStat(string id) => HasTrait(id); public List GetAllStats() => GetAllTraits(); + // 新增:获取元素法力值的方法 + public virtual int GetManaFire() { return Mathf.Max(mana_fire + mana_fire_ongoing, 0); } + public virtual int GetManaForest() { return Mathf.Max(mana_forest + mana_forest_ongoing, 0); } + public virtual int GetManaWater() { return Mathf.Max(mana_water + mana_water_ongoing, 0); } + + +// 新增:设置元素法力值的方法 + public void SetManaFire(int value) { mana_fire = value; } + public void SetManaForest(int value) { mana_forest = value; } + public void SetManaWater(int value) { mana_water = value; } + + // 新增:增加元素法力值的方法 + public void AddManaFire(int value) { mana_fire += value; } + public void AddManaForest(int value) { mana_forest += value; } + public void AddManaWater(int value) { mana_water += value; } + + // 新增:增加元素法力值临时加成的方法 + public void AddManaFireOngoing(int value) { mana_fire_ongoing += value; } + public void AddManaForestOngoing(int value) { mana_forest_ongoing += value; } + public void AddManaWaterOngoing(int value) { mana_water_ongoing += value; } + //------ Status Effects --------- public void AddStatus(StatusData status, int value, int duration) @@ -331,8 +373,8 @@ namespace TcgEngine public void AddAbility(AbilityData ability) { abilities.Add(ability.id); - if (abilities_data != null) - abilities_data.Add(ability); + if (abilities_data != null) + abilities_data.Add(ability); } public void RemoveAbility(AbilityData ability) @@ -457,7 +499,7 @@ namespace TcgEngine // return false; //if (!skip_cost && exhausted) // return false; //no more action - return true; + return true; } public virtual bool CanDoActivatedAbilities() @@ -484,13 +526,14 @@ namespace TcgEngine //---------------- - public CardData CardData - { - get { - if(data == null || data.id != card_id) + public CardData CardData + { + get + { + if (data == null || data.id != card_id) data = CardData.Get(card_id); //Optimization, store for future use return data; - } + } } public VariantData VariantData @@ -507,7 +550,8 @@ namespace TcgEngine public int Hash { - get { + get + { if (hash == 0) hash = Mathf.Abs(uid.GetHashCode()); //Optimization, store for future use return hash; @@ -550,6 +594,14 @@ namespace TcgEngine dest.hp = source.hp; dest.mana = source.mana; + dest.mana_fire = source.mana_fire; + dest.mana_forest = source.mana_forest; + dest.mana_water = source.mana_water; + + dest.mana_fire_ongoing = source.mana_fire_ongoing; + dest.mana_forest_ongoing = source.mana_forest_ongoing; + dest.mana_water_ongoing = source.mana_water_ongoing; + dest.mana_ongoing = source.mana_ongoing; dest.attack_ongoing = source.attack_ongoing; dest.hp_ongoing = source.hp_ongoing; @@ -560,8 +612,8 @@ namespace TcgEngine CardTrait.CloneList(source.ongoing_traits, dest.ongoing_traits); CardStatus.CloneList(source.status, dest.status); CardStatus.CloneList(source.ongoing_status, dest.ongoing_status); - GameTool.CloneList(source.abilities, dest.abilities); - GameTool.CloneList(source.abilities_ongoing, dest.abilities_ongoing); + GameTool.CloneList(source.abilities, dest.abilities); + GameTool.CloneList(source.abilities_ongoing, dest.abilities_ongoing); GameTool.CloneListRefNull(source.abilities_data, ref dest.abilities_data); //No need to deep copy since AbilityData doesn't change dynamically, its just a reference } @@ -615,7 +667,7 @@ namespace TcgEngine } } - if(dest.Count > source.Count) + if (dest.Count > source.Count) dest.RemoveRange(source.Count, dest.Count - source.Count); } } @@ -641,7 +693,8 @@ namespace TcgEngine this.permanent = (duration == 0); } - public StatusData StatusData { + public StatusData StatusData + { get { if (data == null || data.effect != type) diff --git a/Assets/TcgEngine/Scripts/GameLogic/Game.cs b/Assets/TcgEngine/Scripts/GameLogic/Game.cs index 940284d..bd90d31 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/Game.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/Game.cs @@ -106,12 +106,18 @@ namespace TcgEngine return false; Player player = GetPlayer(card.player_id); - if (!skip_cost && !player.CanPayMana(card)) + if (!skip_cost && !player.CanPayTeamMana(card)) return false; //Cant pay mana if (!player.HasCard(player.cards_hand, card)) return false; // Card not in hand - if (player.is_ai && card.CardData.IsDynamicManaCost() && player.mana == 0) - return false; // AI cant play X-cost card at 0 cost + // AI 不能在没有对应阵营mana时使用动态费用卡牌 + if (player.is_ai && card.CardData.IsDynamicManaCost()) + { + string team_id = card.CardData.team?.id; + int available_mana = string.IsNullOrEmpty(team_id) ? player.mana : player.GetTeamMana(team_id); + if (available_mana == 0) + return false; // AI cant play X-cost card at 0 cost + } if (card.CardData.IsBoardCard()) { diff --git a/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs b/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs index 9c46f95..05feab4 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/GameLogic.cs @@ -124,6 +124,12 @@ namespace TcgEngine.Gameplay player.mana_max = pdeck != null ? pdeck.start_mana : GameplayData.Get().mana_start; player.mana = player.mana_max; + //初始化三种阵营mana + int start_mana = pdeck != null ? pdeck.start_mana : GameplayData.Get().mana_start; + player.SetTeamMana("fire", start_mana, start_mana); + player.SetTeamMana("forest", start_mana, start_mana); + player.SetTeamMana("water", start_mana, start_mana); + //Draw starting cards 开始抽卡 int dcards = pdeck != null ? pdeck.start_cards : GameplayData.Get().cards_start; DrawCard(player, dcards); @@ -147,6 +153,7 @@ namespace TcgEngine.Gameplay StartTurn(); } + //开始回合 public virtual void StartTurn() { if (game_data.state == GameState.GameEnded) @@ -165,11 +172,27 @@ namespace TcgEngine.Gameplay DrawCard(player, GameplayData.Get().cards_per_turn); } + //Mana player.mana_max += GameplayData.Get().mana_per_turn; player.mana_max = Mathf.Min(player.mana_max, GameplayData.Get().mana_max); player.mana = player.mana_max; + //阵营Mana增长:基础每回合+1,场上有对应阵营角色额外+1 + UpdateTeamMana(player, "fire"); + UpdateTeamMana(player, "forest"); + UpdateTeamMana(player, "water"); + + // 回合开始时检查所有阵营mana,如果超过5则设置为5 + if (player.GetTeamMana("fire") > 5) + player.SetTeamMana("fire", 5); + if (player.GetTeamMana("forest") > 5) + player.SetTeamMana("forest", 5); + if (player.GetTeamMana("water") > 5) + player.SetTeamMana("water", 5); + if (player.mana > 5) + player.mana = 5; + //Turn timer and history game_data.turn_timer = GameplayData.Get().turn_duration; player.history_list.Clear(); @@ -425,9 +448,9 @@ namespace TcgEngine.Gameplay { Player player = game_data.GetPlayer(card.player_id); - //Cost + //Cost - 使用阵营mana支付 if (!skip_cost) - player.PayMana(card); + player.PayTeamMana(card); //Play card player.RemoveCardFromAllGroups(card); @@ -1999,6 +2022,22 @@ namespace TcgEngine.Gameplay return random; } + /// + /// 更新指定阵营的mana,基础每回合+1,场上有对应阵营角色额外+角色数量 + /// + private void UpdateTeamMana(Player player, string team_id) + { + int base_increase = GameplayData.Get().mana_per_turn; // 基础增长 + int team_bonus = player.GetBoardTeamCount(team_id); // 场上同阵营角色数量 + int total_increase = base_increase + team_bonus; + + // 增加最大mana + player.AddTeamMana(team_id, 0, total_increase); + + // 当前mana设置为最大值 + player.SetTeamMana(team_id, player.GetTeamManaMax(team_id)); + } + public Game GameData { get { return game_data; } } public ResolveQueue ResolveQueue { get { return resolve_queue; } } } diff --git a/Assets/TcgEngine/Scripts/GameLogic/Player.cs b/Assets/TcgEngine/Scripts/GameLogic/Player.cs index 51db653..62abddd 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/Player.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/Player.cs @@ -23,8 +23,34 @@ namespace TcgEngine public int hp; public int hp_max; + + // 三种阵营mana系统 + [System.Serializable] + public class TeamMana + { + public int current = 0; + public int max = 0; + + public TeamMana(int start_value = 0) + { + current = start_value; + max = start_value; + } + } + // 新mana + + public int mana_fire = 0; + public int mana_forest = 0; + public int mana_water = 0; + + // 保留原有mana属性以兼容现有代码,将作为通用mana使用 public int mana = 0; public int mana_max = 0; + + // 新增:三种元素法力值的最大值 + public int mana_fire_max = 0; + public int mana_forest_max = 0; + public int mana_water_max = 0; public int kill_count = 0; public int cards_played_this_turn = 0; // 本回合已上场的卡牌数量 public Dictionary cards_all = new Dictionary(); //Dictionnary for quick access to any card by UID @@ -591,7 +617,11 @@ namespace TcgEngine dest.hp_max = source.hp_max; dest.mana = source.mana; dest.mana_max = source.mana_max; - dest.kill_count = source.kill_count; + + // 复制新mana + dest.mana_fire = source.mana; + dest.mana_forest = source.mana; + dest.mana_water = source.mana; Card.CloneNull(source.hero, ref dest.hero); Card.CloneDict(source.cards_all, dest.cards_all); @@ -606,6 +636,165 @@ namespace TcgEngine CardStatus.CloneList(source.status, dest.status); CardStatus.CloneList(source.ongoing_status, dest.ongoing_status); } + + //------------- 阵营Mana相关方法 ------------- + + /// + /// 获取指定阵营的当前mana值 + /// + public int GetTeamMana(string team_id) + { + if (team_id == "fire") return mana_fire; + if (team_id == "forest") return mana_forest; + if (team_id == "water") return mana_water; + + Debug.Log($"GetTeamMana: {team_id} not found"); + return 0; + } + + /// + /// 获取指定阵营的最大mana值 + /// + public int GetTeamManaMax(string team_id) + { + return mana_max; + } + + /// + /// 设置指定阵营的mana值 + /// + public void SetTeamMana(string team_id, int current, int max = -1) + { + if (team_id == "fire") + { + mana_fire = current; + if (max >= 0) mana_fire = max; + } + else if (team_id == "forest") + { + mana_forest = current; + if (max >= 0) mana_forest = max; + } + else if (team_id == "water") + { + mana_water = current; + if (max >= 0) mana_water = max; + } + } + + /// + /// 增加指定阵营的mana值 + /// + public void AddTeamMana(string team_id, int current_add = 0, int max_add = 0) + { + if (team_id == "fire") + { + mana_fire += current_add; + mana_fire = Mathf.Max(mana_fire, 0); + mana_fire = Mathf.Clamp(mana_fire, 0, GameplayData.Get().mana_max); + } + else if (team_id == "forest") + { + mana_forest += current_add; + mana_forest = Mathf.Max(mana_forest, 0); + mana_forest = Mathf.Clamp(mana_forest, 0, GameplayData.Get().mana_max); + } + else if (team_id == "water") + { + mana_water += current_add; + mana_water = Mathf.Max(mana_water, 0); + mana_water = Mathf.Clamp(mana_water, 0, GameplayData.Get().mana_max); + } + } + + /// + /// 检查是否有足够的阵营mana支付卡牌费用 + /// + public virtual bool CanPayTeamMana(Card card) + { + if (card.CardData.IsDynamicManaCost()) + return true; + + string team_id = card.CardData.team?.id; + if (string.IsNullOrEmpty(team_id)){ + Debug.Log($"not CanPayTeamMana checking team mana: {mana} >= {card.GetMana()}"); + return mana >= card.GetMana(); // 使用通用mana + } + else + { + Debug.Log($"Checking team mana for {team_id}: {GetTeamMana(team_id)} >= {card.GetMana()}"); + return GetTeamMana(team_id) >= card.GetMana(); + } + } + + /// + /// 支付卡牌的阵营mana费用 + /// + public virtual void PayTeamMana(Card card) + { + if (card.CardData.IsDynamicManaCost()) + return; + + string team_id = card.CardData.team?.id; + if (string.IsNullOrEmpty(team_id)) + { + Debug.Log($"PayTeamMana 通用mana: {mana} -= {card.GetMana()}"); + mana -= card.GetMana(); // 使用通用mana + return; + } + + int cost = card.GetMana(); + if (team_id == "fire") + { + mana_fire -= cost; + mana_fire = Mathf.Max(mana_fire, 0); + } + else if (team_id == "forest") + { + mana_forest -= cost; + mana_forest = Mathf.Max(mana_forest, 0); + } + else if (team_id == "water") + { + mana_water -= cost; + mana_water = Mathf.Max(mana_water, 0); + } + } + + /// + /// 获取场上指定阵营的角色数量 + /// + public int GetBoardTeamCount(string team_id) + { + int count = 0; + Debug.Log($"Checking board for {team_id} characters. Total cards on board: {cards_board.Count}"); + + foreach (Card card in cards_board) + { + if (card.CardData.IsCharacter() && card.CardData.team?.id == team_id) + { + count++; + Debug.Log($"Found {team_id} character: {card.CardData.title}"); + } + } + + Debug.Log($"Total {team_id} characters on board: {count}"); + return count; + } + + /// + /// 测试方法:打印当前所有阵营mana状态 + /// + public void DebugTeamMana() + { + Debug.Log($"=== Player {player_id} Team Mana Debug ==="); + Debug.Log($"General: {mana}/{mana_max}"); + Debug.Log($"Board cards: {cards_board.Count}"); + Debug.Log($"Fire characters on board: {GetBoardTeamCount("fire")}"); + Debug.Log($"Forest characters on board: {GetBoardTeamCount("forest")}"); + Debug.Log($"Water characters on board: {GetBoardTeamCount("water")}"); + Debug.Log("====================================="); + } } [System.Serializable] diff --git a/Assets/TcgEngine/Scripts/UI/PlayerUI.cs b/Assets/TcgEngine/Scripts/UI/PlayerUI.cs index 0c0830c..4e22d1c 100644 --- a/Assets/TcgEngine/Scripts/UI/PlayerUI.cs +++ b/Assets/TcgEngine/Scripts/UI/PlayerUI.cs @@ -17,7 +17,11 @@ namespace TcgEngine.UI public bool is_opponent; public Text pname; public AvatarUI avatar; - public IconBar mana_bar; + public IconBar mana_bar; // 保留原有mana条,作为通用mana显示 + + [Header("Team Mana Bars")] + public IconBar[] team_mana_bars = new IconBar[3]; // ManaBar_0, ManaBar_1, ManaBar_2 + public Text hp_txt; public Text hp_max_txt; @@ -68,8 +72,57 @@ namespace TcgEngine.UI if (player != null) { pname.text = player.username; + + // 更新通用mana条 mana_bar.value = player.mana; mana_bar.max_value = player.mana_max; + + // 更新阵营mana条 - fire, forest, water + if (team_mana_bars.Length >= 3) + { + // ManaBar_0 = fire + if (team_mana_bars[0] != null) + { + team_mana_bars[0].value = player.mana_fire; + team_mana_bars[0].max_value = player.mana_max; + Debug.Log($"Fire Mana: {player.mana_fire}/{player.mana_max}"); + } + else + { + Debug.LogWarning("team_mana_bars[0] is null!"); + } + + // ManaBar_1 = forest + if (team_mana_bars[1] != null) + { + team_mana_bars[1].value = player.mana_forest; + team_mana_bars[1].max_value = player.mana_max; + Debug.Log($"Forest Mana: {player.mana_forest}/{player.mana_max}"); + } + else + { + Debug.LogWarning("team_mana_bars[1] is null!"); + } + + // ManaBar_2 = water + if (team_mana_bars[2] != null) + { + team_mana_bars[2].value = player.mana_water; + team_mana_bars[2].max_value = player.mana_max; + Debug.Log($"Water Mana: {player.mana_water}/{player.mana_max}"); + } + else + { + Debug.LogWarning("team_mana_bars[2] is null!"); + } + } + else + { + Debug.LogWarning($"team_mana_bars.Length = {team_mana_bars.Length}, expected 3"); + } + + + hp_txt.text = prev_hp.ToString(); hp_max_txt.text = "/" + player.hp_max.ToString();