From c17af4d74bbf1e45a6ee97eeb2e172fec8a43388 Mon Sep 17 00:00:00 2001 From: MuHua-123 <136542559+MuHua-123@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:26:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E7=90=86=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/ModuleCore/DNDWarrior.cs | 108 ---- Assets/ModuleCore/DNDWarrior.cs.meta | 11 - Assets/ModuleCore/Module/DataCharacter.cs | 123 ----- .../ModuleCore/Module/DataCharacter.cs.meta | 11 - Assets/ModuleCore/Module/DataEquipment.cs | 31 -- .../ModuleCore/Module/DataEquipment.cs.meta | 11 - Assets/ModuleCore/Module/DataInventory.cs | 27 - .../ModuleCore/Module/DataInventory.cs.meta | 11 - Assets/ModuleCore/Module/DataItem.cs | 83 --- Assets/ModuleCore/Module/DataItem.cs.meta | 11 - Assets/ModuleCore/Module/DataUser.cs | 46 -- Assets/ModuleCore/Module/DataUser.cs.meta | 11 - Assets/ModuleCore/ModuleBattle.meta | 8 - .../ModuleCore/ModuleBattle/BattlePhase.meta | 8 - .../ModuleBattle/BattlePhase/BattlePhase.cs | 36 -- .../BattlePhase/BattlePhase.cs.meta | 11 - .../ModuleBattle/BattlePhase/PhaseAction.cs | 89 ---- .../BattlePhase/PhaseAction.cs.meta | 11 - .../ModuleBattle/BattlePhase/PhaseAssault.cs | 15 - .../BattlePhase/PhaseAssault.cs.meta | 11 - .../ModuleBattle/BattlePhase/PhaseFinish.cs | 18 - .../BattlePhase/PhaseFinish.cs.meta | 11 - .../ModuleBattle/BattlePhase/PhaseFormal.cs | 24 - .../BattlePhase/PhaseFormal.cs.meta | 11 - .../BattlePhase/PhaseInitiative.cs | 22 - .../BattlePhase/PhaseInitiative.cs.meta | 11 - Assets/ModuleCore/ModuleBattle/BattleQueue.cs | 49 -- .../ModuleBattle/BattleQueue.cs.meta | 11 - .../ModuleCore/ModuleBattle/BattleReport.cs | 105 ---- .../ModuleBattle/BattleReport.cs.meta | 11 - .../ModuleBattle/BattleSimulator.cs | 46 -- .../ModuleBattle/BattleSimulator.cs.meta | 11 - Assets/ModuleCore/ModuleBattle/BattleSkill.cs | 10 - .../ModuleBattle/BattleSkill.cs.meta | 11 - Assets/ModuleCore/ModuleBattle/BattleTeam.cs | 43 -- .../ModuleBattle/BattleTeam.cs.meta | 11 - Assets/ModuleCore/ModuleBattle/Sample.md | 26 - Assets/ModuleCore/ModuleBattle/Sample.md.meta | 7 - Assets/ModuleCore/ModuleCharacter.meta | 8 - .../ModuleCharacter/AttributeTool.cs | 48 -- .../ModuleCharacter/AttributeTool.cs.meta | 11 - .../ModuleCharacter/CharacterDictionary.cs | 56 -- .../CharacterDictionary.cs.meta | 11 - .../ModuleCharacter/CharacterTool.cs | 81 --- .../ModuleCharacter/CharacterTool.cs.meta | 11 - .../ModuleCharacter/CombatRoleTool.cs | 30 -- .../ModuleCharacter/CombatRoleTool.cs.meta | 11 - .../ModuleCharacter/MonsterDictionary.cs | 31 -- .../ModuleCharacter/MonsterDictionary.cs.meta | 11 - .../ModuleCharacter/ProfessionTool.cs | 75 --- .../ModuleCharacter/ProfessionTool.cs.meta | 11 - Assets/ModuleCore/ModuleCharacter/RaceTool.cs | 47 -- .../ModuleCharacter/RaceTool.cs.meta | 11 - Assets/ModuleCore/ModuleInventory.meta | 8 - .../ModuleInventory/ArmorDictionary.cs | 42 -- .../ModuleInventory/ArmorDictionary.cs.meta | 11 - .../ModuleInventory/EquipmentTool.cs | 105 ---- .../ModuleInventory/EquipmentTool.cs.meta | 11 - .../ModuleInventory/WeaponDictionary.cs | 71 --- .../ModuleInventory/WeaponDictionary.cs.meta | 11 - .../ModuleCore/ModuleSingle/ManagerRequest.cs | 43 -- .../ModuleSingle/ManagerRequest.cs.meta | 11 - .../ModuleSingle/ManagerSimulator.cs | 34 -- .../ModuleSingle/ManagerSimulator.cs.meta | 11 - Assets/ModuleCore/ModuleSingle/TestManager.cs | 13 - .../ModuleSingle/TestManager.cs.meta | 11 - .../ModuleUI/ModuleUIPage/UILoginPage.cs | 96 ---- .../ModuleUI/ModuleUIPage/UILoginPage.cs.meta | 11 - .../ModuleUI/ModuleUIPage/UITestPage.cs | 56 -- .../ModuleUI/ModuleUIPage/UITestPage.cs.meta | 11 - Assets/ModuleCore/Test.cs | 36 -- Assets/ModuleCore/Test.cs.meta | 11 - Assets/SceneManager/BackendAdmin.meta | 8 - .../BackendAdmin/BackendAdmin.unity | 501 ------------------ .../BackendAdmin/BackendAdmin.unity.meta | 7 - .../SampleScene/SampleScene.unity | 49 +- Assets/UI Toolkit/GamePage/BattlePage.meta | 8 - .../GamePage/BattlePage/BattlePage.uss | 11 - .../GamePage/BattlePage/BattlePage.uss.meta | 11 - .../GamePage/BattlePage/BattlePage.uxml | 47 -- .../GamePage/BattlePage/BattlePage.uxml.meta | 10 - .../GamePage/BattlePage/RoleTemplate.uxml | 21 - .../BattlePage/RoleTemplate.uxml.meta | 10 - Assets/UI Toolkit/GamePage/LoginPage.meta | 8 - .../GamePage/LoginPage/LoginPage.uss | 3 - .../GamePage/LoginPage/LoginPage.uss.meta | 11 - .../GamePage/LoginPage/LoginPage.uxml | 9 - .../GamePage/LoginPage/LoginPage.uxml.meta | 10 - .../GamePage/LoginPage/LoginPanel.meta | 8 - .../LoginPanel/ChangePasswordPanel.uxml | 14 - .../LoginPanel/ChangePasswordPanel.uxml.meta | 10 - .../LoginPage/LoginPanel/InputField.uss | 56 -- .../LoginPage/LoginPanel/InputField.uss.meta | 11 - .../LoginPage/LoginPanel/LoginPanel.uss | 65 --- .../LoginPage/LoginPanel/LoginPanel.uss.meta | 11 - .../LoginPage/LoginPanel/LoginPanel.uxml | 13 - .../LoginPage/LoginPanel/LoginPanel.uxml.meta | 10 - .../LoginPage/LoginPanel/RegisterPanel.uxml | 13 - .../LoginPanel/RegisterPanel.uxml.meta | 10 - Assets/UI Toolkit/GamePage/TestPage.meta | 8 - Assets/UI Toolkit/GamePage/TestPage/Test.uxml | 3 - .../GamePage/TestPage/Test.uxml.meta | 10 - .../GamePage/TestPage/TestScrollViewPage.meta | 8 - .../TestScrollViewPage/TestScrollViewPage.uss | 0 .../TestScrollViewPage.uss.meta | 11 - .../TestScrollViewPage.uxml | 140 ----- .../TestScrollViewPage.uxml.meta | 10 - 107 files changed, 1 insertion(+), 3301 deletions(-) delete mode 100644 Assets/ModuleCore/DNDWarrior.cs delete mode 100644 Assets/ModuleCore/DNDWarrior.cs.meta delete mode 100644 Assets/ModuleCore/Module/DataCharacter.cs delete mode 100644 Assets/ModuleCore/Module/DataCharacter.cs.meta delete mode 100644 Assets/ModuleCore/Module/DataEquipment.cs delete mode 100644 Assets/ModuleCore/Module/DataEquipment.cs.meta delete mode 100644 Assets/ModuleCore/Module/DataInventory.cs delete mode 100644 Assets/ModuleCore/Module/DataInventory.cs.meta delete mode 100644 Assets/ModuleCore/Module/DataItem.cs delete mode 100644 Assets/ModuleCore/Module/DataItem.cs.meta delete mode 100644 Assets/ModuleCore/Module/DataUser.cs delete mode 100644 Assets/ModuleCore/Module/DataUser.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/BattlePhase.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/BattlePhase.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAction.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAction.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAssault.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAssault.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFinish.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFinish.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFormal.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFormal.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseInitiative.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseInitiative.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleQueue.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleQueue.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleReport.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleReport.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleSimulator.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleSimulator.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleSkill.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleSkill.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleTeam.cs delete mode 100644 Assets/ModuleCore/ModuleBattle/BattleTeam.cs.meta delete mode 100644 Assets/ModuleCore/ModuleBattle/Sample.md delete mode 100644 Assets/ModuleCore/ModuleBattle/Sample.md.meta delete mode 100644 Assets/ModuleCore/ModuleCharacter.meta delete mode 100644 Assets/ModuleCore/ModuleCharacter/AttributeTool.cs delete mode 100644 Assets/ModuleCore/ModuleCharacter/AttributeTool.cs.meta delete mode 100644 Assets/ModuleCore/ModuleCharacter/CharacterDictionary.cs delete mode 100644 Assets/ModuleCore/ModuleCharacter/CharacterDictionary.cs.meta delete mode 100644 Assets/ModuleCore/ModuleCharacter/CharacterTool.cs delete mode 100644 Assets/ModuleCore/ModuleCharacter/CharacterTool.cs.meta delete mode 100644 Assets/ModuleCore/ModuleCharacter/CombatRoleTool.cs delete mode 100644 Assets/ModuleCore/ModuleCharacter/CombatRoleTool.cs.meta delete mode 100644 Assets/ModuleCore/ModuleCharacter/MonsterDictionary.cs delete mode 100644 Assets/ModuleCore/ModuleCharacter/MonsterDictionary.cs.meta delete mode 100644 Assets/ModuleCore/ModuleCharacter/ProfessionTool.cs delete mode 100644 Assets/ModuleCore/ModuleCharacter/ProfessionTool.cs.meta delete mode 100644 Assets/ModuleCore/ModuleCharacter/RaceTool.cs delete mode 100644 Assets/ModuleCore/ModuleCharacter/RaceTool.cs.meta delete mode 100644 Assets/ModuleCore/ModuleInventory.meta delete mode 100644 Assets/ModuleCore/ModuleInventory/ArmorDictionary.cs delete mode 100644 Assets/ModuleCore/ModuleInventory/ArmorDictionary.cs.meta delete mode 100644 Assets/ModuleCore/ModuleInventory/EquipmentTool.cs delete mode 100644 Assets/ModuleCore/ModuleInventory/EquipmentTool.cs.meta delete mode 100644 Assets/ModuleCore/ModuleInventory/WeaponDictionary.cs delete mode 100644 Assets/ModuleCore/ModuleInventory/WeaponDictionary.cs.meta delete mode 100644 Assets/ModuleCore/ModuleSingle/ManagerRequest.cs delete mode 100644 Assets/ModuleCore/ModuleSingle/ManagerRequest.cs.meta delete mode 100644 Assets/ModuleCore/ModuleSingle/ManagerSimulator.cs delete mode 100644 Assets/ModuleCore/ModuleSingle/ManagerSimulator.cs.meta delete mode 100644 Assets/ModuleCore/ModuleSingle/TestManager.cs delete mode 100644 Assets/ModuleCore/ModuleSingle/TestManager.cs.meta delete mode 100644 Assets/ModuleCore/ModuleUI/ModuleUIPage/UILoginPage.cs delete mode 100644 Assets/ModuleCore/ModuleUI/ModuleUIPage/UILoginPage.cs.meta delete mode 100644 Assets/ModuleCore/ModuleUI/ModuleUIPage/UITestPage.cs delete mode 100644 Assets/ModuleCore/ModuleUI/ModuleUIPage/UITestPage.cs.meta delete mode 100644 Assets/ModuleCore/Test.cs delete mode 100644 Assets/ModuleCore/Test.cs.meta delete mode 100644 Assets/SceneManager/BackendAdmin.meta delete mode 100644 Assets/SceneManager/BackendAdmin/BackendAdmin.unity delete mode 100644 Assets/SceneManager/BackendAdmin/BackendAdmin.unity.meta delete mode 100644 Assets/UI Toolkit/GamePage/BattlePage.meta delete mode 100644 Assets/UI Toolkit/GamePage/BattlePage/BattlePage.uss delete mode 100644 Assets/UI Toolkit/GamePage/BattlePage/BattlePage.uss.meta delete mode 100644 Assets/UI Toolkit/GamePage/BattlePage/BattlePage.uxml delete mode 100644 Assets/UI Toolkit/GamePage/BattlePage/BattlePage.uxml.meta delete mode 100644 Assets/UI Toolkit/GamePage/BattlePage/RoleTemplate.uxml delete mode 100644 Assets/UI Toolkit/GamePage/BattlePage/RoleTemplate.uxml.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPage.uss delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPage.uss.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPage.uxml delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPage.uxml.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/ChangePasswordPanel.uxml delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/ChangePasswordPanel.uxml.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/InputField.uss delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/InputField.uss.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/LoginPanel.uss delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/LoginPanel.uss.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/LoginPanel.uxml delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/LoginPanel.uxml.meta delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/RegisterPanel.uxml delete mode 100644 Assets/UI Toolkit/GamePage/LoginPage/LoginPanel/RegisterPanel.uxml.meta delete mode 100644 Assets/UI Toolkit/GamePage/TestPage.meta delete mode 100644 Assets/UI Toolkit/GamePage/TestPage/Test.uxml delete mode 100644 Assets/UI Toolkit/GamePage/TestPage/Test.uxml.meta delete mode 100644 Assets/UI Toolkit/GamePage/TestPage/TestScrollViewPage.meta delete mode 100644 Assets/UI Toolkit/GamePage/TestPage/TestScrollViewPage/TestScrollViewPage.uss delete mode 100644 Assets/UI Toolkit/GamePage/TestPage/TestScrollViewPage/TestScrollViewPage.uss.meta delete mode 100644 Assets/UI Toolkit/GamePage/TestPage/TestScrollViewPage/TestScrollViewPage.uxml delete mode 100644 Assets/UI Toolkit/GamePage/TestPage/TestScrollViewPage/TestScrollViewPage.uxml.meta diff --git a/Assets/ModuleCore/DNDWarrior.cs b/Assets/ModuleCore/DNDWarrior.cs deleted file mode 100644 index 8425839..0000000 --- a/Assets/ModuleCore/DNDWarrior.cs +++ /dev/null @@ -1,108 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; -using Random = System.Random; - -public class DNDWarrior : MonoBehaviour { - // 战士基础属性 - public int Strength { get; private set; } - public int Dexterity { get; private set; } - public int Constitution { get; private set; } - public int Intelligence { get; private set; } - public int Wisdom { get; private set; } - public int Charisma { get; private set; } - - public int Level { get; private set; } = 1; - public int HitPoints { get; private set; } - public int ArmorClass { get; private set; } - public string ArmorType { get; private set; } = "Chain Mail"; // 默认中甲 - - private Random _random = new Random(); - - private void Awake() { - Strength = Roll4d6(); - Dexterity = Roll4d6(); - Constitution = Roll4d6(); - Intelligence = Roll4d6(); - Wisdom = Roll4d6(); - Charisma = Roll4d6(); - - // 计算初始生命值(1d10+体质修正) - HitPoints = 10 + GetAbilityModifier(Constitution); - CalculateAC(); - PrintCharacterSheet(); - - Console.WriteLine("\n=== 升级到12级 ==="); - LevelUpTo(12); - PrintCharacterSheet(); - } - - // 4d6规则:投4次d6,去掉最低值 - private int Roll4d6() { - List rolls = new List(); - for (int i = 0; i < 4; i++) { - rolls.Add(_random.Next(1, 7)); - } - rolls.Sort(); - return rolls[1] + rolls[2] + rolls[3]; // 取最高3个值 - } - - // 计算属性调整值(属性值-10)/2 向下取整 - private int GetAbilityModifier(int abilityScore) { - return (int)Math.Floor((abilityScore - 10) / 2.0); - } - - // 计算护甲等级(AC) - private void CalculateAC() { - int dexModifier = GetAbilityModifier(Dexterity); - - switch (ArmorType) { - case "Plate Armor": // 重甲(敏捷修正上限+1) - ArmorClass = 18 + Math.Min(dexModifier, 1); - break; - case "Chain Mail": // 中甲(敏捷修正上限+2) - ArmorClass = 16 + Math.Min(dexModifier, 2); - break; - default: // 无甲(全敏捷修正) - ArmorClass = 10 + dexModifier; - break; - } - } - - // 升级到指定等级(模拟到12级) - public void LevelUpTo(int targetLevel) { - while (Level < targetLevel) { - Level++; - - // 每级生命值增加:1d10+体质修正 - HitPoints += _random.Next(1, 11) + GetAbilityModifier(Constitution); - - // 每4级获得属性点(4/8/12级) - if (Level % 4 == 0) { - // 战士优先提升力量或体质 - if (Strength < 20) Strength += 2; - else if (Constitution < 20) Constitution += 2; - } - - // 6级更换板甲 - if (Level == 6) ArmorType = "Plate Armor"; - - CalculateAC(); // 更新AC - } - } - - // 打印角色卡 - public void PrintCharacterSheet() { - Debug.Log($"=== 战士 LV{Level} ==="); - Debug.Log($"力量: {Strength} (+{GetAbilityModifier(Strength)})"); - Debug.Log($"敏捷: {Dexterity} (+{GetAbilityModifier(Dexterity)})"); - Debug.Log($"体质: {Constitution} (+{GetAbilityModifier(Constitution)})"); - Debug.Log($"智力: {Intelligence} (+{GetAbilityModifier(Intelligence)})"); - Debug.Log($"感知: {Wisdom} (+{GetAbilityModifier(Wisdom)})"); - Debug.Log($"魅力: {Charisma} (+{GetAbilityModifier(Charisma)})"); - Debug.Log($"生命值: {HitPoints}"); - Debug.Log($"护甲: {ArmorType} (AC: {ArmorClass})"); - } -} - - diff --git a/Assets/ModuleCore/DNDWarrior.cs.meta b/Assets/ModuleCore/DNDWarrior.cs.meta deleted file mode 100644 index d839da8..0000000 --- a/Assets/ModuleCore/DNDWarrior.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3d99eda4d1308724c8374c9e305743bc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/Module/DataCharacter.cs b/Assets/ModuleCore/Module/DataCharacter.cs deleted file mode 100644 index 7948eda..0000000 --- a/Assets/ModuleCore/Module/DataCharacter.cs +++ /dev/null @@ -1,123 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 属性 - 数据 -/// -public class DataAttribute { - /// 力量(strength) - public virtual int Str { get; set; } - /// 敏捷(dexterity) - public virtual int Dex { get; set; } - /// 体质(constitution) - public virtual int Con { get; set; } - /// 智力(intelligence) - public virtual int Int { get; set; } - /// 感知(wisdom) - public virtual int Wis { get; set; } - /// 魅力(charisma) - public virtual int Cha { get; set; } - - /// 力量调整值(strength) - public int StrModifier => AttributeTool.Modifier(Str); - /// 敏捷调整值(dexterity) - public int DexModifier => AttributeTool.Modifier(Dex); - /// 体质调整值(constitution) - public int ConModifier => AttributeTool.Modifier(Con); - /// 智力调整值(intelligence) - public int IntModifier => AttributeTool.Modifier(Int); - /// 感知调整值(wisdom) - public int WisModifier => AttributeTool.Modifier(Wis); - /// 魅力调整值(charisma) - public int ChaModifier => AttributeTool.Modifier(Cha); -} -/// -/// 角色 - 数据 -/// TODO: 补充角色的专长(Feats)、技能(Skills)、法术(Spells)等 -/// -public class DataCharacter : DataAttribute { - /// 名字 - public string name; - /// 经验 - public int expPoint; - /// 种族 - public DataRace race; - /// 属性 - public DataAttribute basis; - /// 职业 - public DataProfession profession; - /// 装备 - public DataEquipment equipment; - - /// 战斗等级 - public int Level => CharacterTool.GetLevel(this); - /// 生命点 - public int HitPoint => CharacterTool.GetHitPoint(this); - /// 护甲等级 - public int ArmorClass => CharacterTool.GetArmorClass(this); - - /// 力量(strength) 基础值 + 种族加值 - public override int Str { get => basis.Str + race.Str; } - /// 敏捷(dexterity) 基础值 + 种族加值 - public override int Dex { get => basis.Dex + race.Dex; } - /// 体质(constitution) 基础值 + 种族加值 - public override int Con { get => basis.Con + race.Con; } - /// 智力(intelligence) 基础值 + 种族加值 - public override int Int { get => basis.Int + race.Int; } - /// 感知(wisdom) 基础值 + 种族加值 - public override int Wis { get => basis.Wis + race.Wis; } - /// 魅力(charisma) 基础值 + 种族加值 - public override int Cha { get => basis.Cha + race.Cha; } -} -/// -/// 种族 - 数据 -/// TODO: 补充种族特殊能力 -/// -public class DataRace : DataAttribute { - /// 种族名称 - public string name; -} -/// -/// 职业 - 数据 -/// -public class DataProfession { - /// 职业名称 - public string name; - /// 生命骰子 - public int hitDice = 0; - /// 角色 - public DataCharacter character; - /// 职业等级 - public int level = 0; - /// 累计生命点 - public List hitPoints = new List(); -} -/// -/// 战斗角色 - 数据 -/// -public class DataCombatRole : DataAttribute { - /// 角色数据 - public readonly DataCharacter character; - /// 战斗角色 - public DataCombatRole(DataCharacter character) => this.character = character; - - /// 归属队伍 - public int team; - /// 角色名字 - public string name; - /// 战斗等级 - public int level; - /// 战场位置 - public int position; - /// 先攻顺序 - public int sequence; - /// 护甲等级 - public int armorClass; - /// 生命点 - public Vector2Int hitPoint; - /// 武器1 - public DataWeapon weapon1; - /// 武器2 - public DataWeapon weapon2; -} \ No newline at end of file diff --git a/Assets/ModuleCore/Module/DataCharacter.cs.meta b/Assets/ModuleCore/Module/DataCharacter.cs.meta deleted file mode 100644 index 84317de..0000000 --- a/Assets/ModuleCore/Module/DataCharacter.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3ae234ab6cd19bf46983ee5f38afd957 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/Module/DataEquipment.cs b/Assets/ModuleCore/Module/DataEquipment.cs deleted file mode 100644 index 18d29b1..0000000 --- a/Assets/ModuleCore/Module/DataEquipment.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 装备栏 - 库存 -/// -public class DataEquipment { - /// 武器1 - public DataWeapon weapon1; - /// 武器2 - public DataWeapon weapon2; - /// 护甲 - public DataArmor armor; - /// 头盔 - public DataWear helmets; - /// 手套 - public DataWear gloves; - /// 鞋子 - public DataWear shoes; - - /// 附加效果 - public DataAddition addition = new DataAddition(); -} -/// -/// 附加 - 数据 -/// -public class DataAddition { - /// 护甲等级 - public int armorClass = 0; -} diff --git a/Assets/ModuleCore/Module/DataEquipment.cs.meta b/Assets/ModuleCore/Module/DataEquipment.cs.meta deleted file mode 100644 index 2fc9a95..0000000 --- a/Assets/ModuleCore/Module/DataEquipment.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 62fae57d4dbef374ba92424caa7b6885 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/Module/DataInventory.cs b/Assets/ModuleCore/Module/DataInventory.cs deleted file mode 100644 index 39067fb..0000000 --- a/Assets/ModuleCore/Module/DataInventory.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 库存类型枚举,区分背包、仓库等不同库存。 -/// -public enum InventoryType { EquipmentSlot, Backpack, Storage } -/// -/// 物品库存 - 数据 -/// -public abstract class DataInventory { - /// 库存类型 - public InventoryType inventoryType; -} -/// -/// 仓库 - 库存 -/// -public class DataStorage : DataInventory { - -} -/// -/// 背包 - 库存 -/// -public class DataBackpack : DataInventory { - -} \ No newline at end of file diff --git a/Assets/ModuleCore/Module/DataInventory.cs.meta b/Assets/ModuleCore/Module/DataInventory.cs.meta deleted file mode 100644 index 32a36f2..0000000 --- a/Assets/ModuleCore/Module/DataInventory.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 278351779c3c1514bbcce18723dd500c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/Module/DataItem.cs b/Assets/ModuleCore/Module/DataItem.cs deleted file mode 100644 index e82f382..0000000 --- a/Assets/ModuleCore/Module/DataItem.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 物品类型 -/// -public enum ItemType { 材料, 装备 } -/// -/// 物品 - 数据 -/// -public class DataItem { - /// 物品名称 - public string name; - /// 物品类型 - public ItemType itemType; -} -/// -/// 材料 - 数据 -/// -public class DataMaterial : DataItem { - /// 物品数量 - public int quantity; - /// 堆叠上限 - public int maxStack; -} -/// -/// 穿戴类型 -/// -public enum WearType { 武器, 护甲, 头盔, 手套, 鞋子, } -/// -/// 穿戴 - 数据 -/// -public class DataWear : DataItem { - /// 装备类型 - public WearType wearType; - /// 附加列表 - public List additions = new List(); - /// 附加效果 - public virtual DataAddition Addition => EquipmentTool.Merge(additions); -} -/// -/// 武器类型。 -/// -public enum WeaponType { 无, 轻型武器, 中型武器, 重型武器, 盾牌, } -/// -/// 武器 - 数据 -/// -public class DataWeapon : DataWear { - /// 武器类型 - public WeaponType weaponType; - /// 伤害骰子 - public DataDamageDice damageDice; -} -/// -/// 伤害类型 -/// -public enum DamageType { 无, 穿刺, 挥砍, 钝击 } -/// -/// 伤害骰子 - 数据 -/// -public class DataDamageDice { - /// 伤害骰子 - public readonly int value; - /// 伤害类型 - public readonly DamageType type; - - public DataDamageDice(int value, DamageType type) { - this.value = value; - this.type = type; - } -} -/// -/// 护甲类型。 -/// -public enum ArmorType { 布甲, 轻甲, 中甲, 重甲, } -/// -/// 护甲 - 数据 -/// -public class DataArmor : DataWear { - /// 护甲类型 - public ArmorType armorType; -} \ No newline at end of file diff --git a/Assets/ModuleCore/Module/DataItem.cs.meta b/Assets/ModuleCore/Module/DataItem.cs.meta deleted file mode 100644 index 47b143e..0000000 --- a/Assets/ModuleCore/Module/DataItem.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 557ad290ccf27454baad3a04e41aec95 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/Module/DataUser.cs b/Assets/ModuleCore/Module/DataUser.cs deleted file mode 100644 index 6c45fd5..0000000 --- a/Assets/ModuleCore/Module/DataUser.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 用户 -/// -[Serializable] -public class DataUser { - public string id; - public string username; - public string passwordhash; -} -/// -/// 注册请求 -/// -[Serializable] -public class DataRegisterRequest { - public string username; - public string password; -} -/// -/// 登录请求 -/// -[Serializable] -public class DataLoginRequest { - public string username; - public string password; -} -/// -/// 登录响应,返回JWT。 -/// -[Serializable] -public class DataLoginResponse { - public string token; -} -/// -/// 修改密码请求。 -/// -[Serializable] -public class DataChangePasswordRequest { - public string username; - public string oldpassword; - public string newpassword; -} \ No newline at end of file diff --git a/Assets/ModuleCore/Module/DataUser.cs.meta b/Assets/ModuleCore/Module/DataUser.cs.meta deleted file mode 100644 index 51779f5..0000000 --- a/Assets/ModuleCore/Module/DataUser.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: febe432c83103fd4fbbc833bc7dd08cd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle.meta b/Assets/ModuleCore/ModuleBattle.meta deleted file mode 100644 index 1c46ad2..0000000 --- a/Assets/ModuleCore/ModuleBattle.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f7cb6057f1015c34e83bfc292a519030 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase.meta b/Assets/ModuleCore/ModuleBattle/BattlePhase.meta deleted file mode 100644 index 1b5b791..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 59e1aa3dad18b83438571f22a94d78af -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/BattlePhase.cs b/Assets/ModuleCore/ModuleBattle/BattlePhase/BattlePhase.cs deleted file mode 100644 index 7d3f465..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/BattlePhase.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 阶段类型 -/// -public enum PhaseType { - 先攻阶段, 突袭阶段, 回合阶段, 行动阶段, 结算阶段, - 选择角色, 角色攻击 -} -/// -/// 阶段 -/// -public interface IPhase { - /// 执行阶段 - public void Execute(); -} -/// -/// 战斗阶段 -/// -public abstract class BattlePhase : IPhase { - /// 模拟器 - public readonly BattleSimulator simulator; - - /// 行动角色 - public DataCombatRole ActionRole => simulator.actionRole; - /// 战斗队列 - public BattleQueue BattleQueue => simulator.battleQueue; - - public BattlePhase(BattleSimulator simulator) => this.simulator = simulator; - - public abstract void Execute(); - /// 阶段过渡 - public void Transition(PhaseType phaseType) => simulator.Transition(phaseType); -} \ No newline at end of file diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/BattlePhase.cs.meta b/Assets/ModuleCore/ModuleBattle/BattlePhase/BattlePhase.cs.meta deleted file mode 100644 index 18ee1b1..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/BattlePhase.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ee046dc0d64f6184c966baba17876ec9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAction.cs b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAction.cs deleted file mode 100644 index 72931e9..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAction.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 行动阶段 -/// -public class PhaseAction : BattlePhase { - - public PhaseAction(BattleSimulator simulator) : base(simulator) { } - - public override void Execute() { - - } -} -/// -/// 行动角色选择 -/// -public class PhaseActionRoleSelect : BattlePhase { - - public PhaseActionRoleSelect(BattleSimulator simulator) : base(simulator) { } - - public override void Execute() { - // 选择行动的角色,如果没有则进入下一回合 - if (!BattleQueue.Dequeue(out simulator.actionRole)) { Transition(PhaseType.回合阶段); return; } - // 判断是否可以行动 - if (ActionRole.hitPoint.x <= 0) { Transition(PhaseType.选择角色); return; } - // 进行ai判断 - // TODO: 进行武器攻击,使用技能,使用法术,使用物品的判断 - Transition(PhaseType.角色攻击); - } -} -/// -/// 武器攻击 -/// -public class PhaseActionRoleAttack : BattlePhase { - - public PhaseActionRoleAttack(BattleSimulator simulator) : base(simulator) { } - - public override void Execute() { - // 如果没有可以攻击的目标则结算战斗 - if (!AttackTarget(out DataCombatRole target)) { Transition(PhaseType.结算阶段); return; } - // 武器判断:轻型武器使用敏捷,其他都使用力量 - string weaponName = ActionRole.weapon1.name; - WeaponType weaponType = ActionRole.weapon1.weaponType; - int modifier = weaponType == WeaponType.轻型武器 ? ActionRole.DexModifier : ActionRole.StrModifier; - // 命中检定: d20 + 属性修正 - int hit = Dice.Roll20(modifier); - int armorClass = target.armorClass; - // 如果命中小于等于目标护甲等级,则不造成伤害 - if (hit > armorClass) { - // 获取所有武器伤害骰 - DataDamageDice damageDice = ActionRole.weapon1.damageDice; - // 伤害计算: 武器伤害骰 + 属性修正 - int damage = Dice.Roll(damageDice.value) + modifier; - target.hitPoint.x -= damage; - // 生成战斗消息 - MessageHit(hit, weaponName, target.name, armorClass, damage, damageDice.type); - } - else { - // 生成战斗消息 - MessageMiss(hit, weaponName, target.name, armorClass); - } - // 结束行动 - Transition(PhaseType.选择角色); - } - /// 攻击目标 - private bool AttackTarget(out DataCombatRole target) { - List roles = BattleQueue.Where(Hostility); - if (roles.Count == 0) { target = null; return false; } - int randomIndex = Random.Range(0, roles.Count); - target = roles[randomIndex]; - return true; - } - /// 敌对目标 - private bool Hostility(DataCombatRole role) { - return role.team != ActionRole.team && role.hitPoint.x > 0; - } - /// 战斗消息:没有命中 - private void MessageMiss(int hit, string weapon, string attacked, int armorClass) { - MissAttack message = new MissAttack(ActionRole.name, hit, weapon, attacked, armorClass); - Debug.Log(message); - } - /// 战斗消息:命中 - private void MessageHit(int hit, string weapon, string attacked, int armorClass, int damage, DamageType damageType) { - HitAttack message = new HitAttack(ActionRole.name, hit, weapon, attacked, armorClass, damage, damageType); - Debug.Log(message); - } -} \ No newline at end of file diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAction.cs.meta b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAction.cs.meta deleted file mode 100644 index c19d736..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAction.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ad6c0033db83a3c4fa9d92f3f1912d5f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAssault.cs b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAssault.cs deleted file mode 100644 index 95b2108..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAssault.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 突袭阶段 -/// -public class PhaseAssault : BattlePhase { - - public PhaseAssault(BattleSimulator simulator) : base(simulator) { } - - public override void Execute() { - - } -} diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAssault.cs.meta b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAssault.cs.meta deleted file mode 100644 index 341e9ea..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseAssault.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 620e71ced51f8e94997a198ac8b1e6c6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFinish.cs b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFinish.cs deleted file mode 100644 index 1944f4d..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFinish.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 结束阶段 -/// -public class PhaseFinish : BattlePhase { - - public PhaseFinish(BattleSimulator simulator) : base(simulator) { } - - public override void Execute() { - // TODO:需要添加结算判断 - // simulator.Transition(PhaseType.回合阶段); - // TODO:记录器 - Debug.Log("结束战斗!"); - } -} diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFinish.cs.meta b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFinish.cs.meta deleted file mode 100644 index 6b1f5ae..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFinish.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 357207f5d09ca394e84210d51916507b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFormal.cs b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFormal.cs deleted file mode 100644 index 0ddeefb..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFormal.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 正式阶段 -/// -public class PhaseFormal : BattlePhase { - /// 回合计数 - public int roundCount; - - public PhaseFormal(BattleSimulator simulator) : base(simulator) { } - - public override void Execute() { - roundCount++; - BattleQueue.UpdateQueue(); - // TODO:记录器 - Debug.Log($"正式回合:{roundCount}"); - string message = "存活"; - BattleQueue.ForEach(obj => message += $" {obj.name}({obj.hitPoint.x})"); - Debug.Log(message); - simulator.Transition(PhaseType.选择角色); - } -} diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFormal.cs.meta b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFormal.cs.meta deleted file mode 100644 index 2ffef63..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseFormal.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 066680fafb7f9cf4dbac4f7291e682cc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseInitiative.cs b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseInitiative.cs deleted file mode 100644 index 915ddd7..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseInitiative.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 先攻阶段 -/// -public class PhaseInitiative : BattlePhase { - - public PhaseInitiative(BattleSimulator simulator) : base(simulator) { } - - public override void Execute() { - BattleQueue.ForEach(obj => obj.sequence = Dice.Roll20(obj.DexModifier)); - BattleQueue.OrderByDescending(c => c.sequence); - // TODO:需要添加突袭阶段 - // TODO:记录器 - string message = "先攻"; - BattleQueue.ForEach(obj => message += $" {obj.name}({obj.sequence})"); - Debug.Log(message); - simulator.Transition(PhaseType.回合阶段); - } -} diff --git a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseInitiative.cs.meta b/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseInitiative.cs.meta deleted file mode 100644 index f141af4..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattlePhase/PhaseInitiative.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4fc0f8aced9d5f04f879b8300fd02e47 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattleQueue.cs b/Assets/ModuleCore/ModuleBattle/BattleQueue.cs deleted file mode 100644 index fb0be48..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleQueue.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - -/// -/// 战斗队列 -/// -public class BattleQueue { - /// 执行队列 - public Queue queue = new Queue(); - /// 战斗合集 - public List characters = new List(); - - /// 添加角色 - public void Add(List list) { - characters.AddRange(list); - } - /// 添加角色 - public void Add(DataCombatRole character) { - characters.Add(character); - } - /// 遍历角色 - public void ForEach(Action action) { - characters.ForEach(action); - } - // /// 排序:大到小 - public void OrderByDescending(Func func) { - characters = characters.OrderByDescending(func).ToList(); - } - /// 根据条件查询元素 - public List Where(Func predicate) { - return characters.Where(predicate).ToList(); - } - /// 根据条件查询第一个匹配的元素 - public DataCombatRole FirstOrDefault(Func predicate) { - return characters.FirstOrDefault(predicate); - } - /// 更新队列 - public void UpdateQueue() { - queue = new Queue(characters); - } - /// 取出一个 - public bool Dequeue(out DataCombatRole battle) { - battle = queue.Count > 0 ? queue.Dequeue() : null; - return battle != null; - } -} diff --git a/Assets/ModuleCore/ModuleBattle/BattleQueue.cs.meta b/Assets/ModuleCore/ModuleBattle/BattleQueue.cs.meta deleted file mode 100644 index d6aab15..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleQueue.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ed7fc5b50e619ea4a8eaf9d71dc0ec9d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattleReport.cs b/Assets/ModuleCore/ModuleBattle/BattleReport.cs deleted file mode 100644 index 18de40e..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleReport.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 战斗报告 -/// -public class BattleReport { - /// 战斗消息 - public List messages; -} -/// -/// 战斗消息 -/// -public class BattleMessage { - /// 战斗消息内容 - public string content; - /// 战斗消息内容 - public override string ToString() { - return content; - } - // 辅助方法:随机选择一个字符串,增加多样性 - public string RandomChoice(params string[] options) { - if (options.Length == 0) return ""; - return options[Random.Range(0, options.Length)]; - } -} -/// -/// 未命中攻击 - 战斗消息 -/// -public class MissAttack : BattleMessage { - public MissAttack(string attacker, int hit, string weapon, string attacked, int armorClass) { - // 托尔吉使用巨斧猛击(19)没有命中哥布林战士(AC12) - content = $"{attacker}使用{weapon}({hit})没有命中{attacked}({armorClass})"; - } -} -/// -/// 命中攻击 - 战斗消息 -/// -public class HitAttack : BattleMessage { - public HitAttack(string attacker, int hit, string weapon, string attacked, int armorClass, int damage, DamageType damageType) { - string damageTypeString = damageType == DamageType.无 ? "" : damageType.ToString(); - // 托尔吉使用巨斧猛击(19)对哥布林战士(AC12)造成了 14钝击伤害 - content = $"{attacker}使用{weapon}({hit})对{attacked}({armorClass})造成了{damage}{damageTypeString}伤害"; - } -} -/// -/// 普通攻击 - 战斗消息 -/// -public class MessageNormalAttack : BattleMessage { - /// 攻击者 - public DataCombatRole attacker; - /// 命中值 - public int hit; - /// 伤害值 - public int damage; - - /// 被攻击者 - public DataCombatRole attacked; - /// 护甲等级 - public int armorClass; - - /// 设置攻击者 - public void Settings(DataCombatRole attacker, int hit, int damage) { - this.attacker = attacker; - this.hit = hit; - this.damage = damage; - } - /// 设置被攻击者 - public void Settings(DataCombatRole attacked, int armorClass) { - this.attacked = attacked; - this.armorClass = armorClass; - } - public override string ToString() { - return $"{attacker.name}{Dynamics()}{attacked.name}({armorClass}),{attacked.name}{Result()}"; - } - - /// 动态修饰词 - private string Dynamics() { - return $"使用长剑劈向({hit})"; - } - /// 结果修饰词 - private string Result() { - return hit <= armorClass ? Miss() : Hit(); - } - // 未命中的多种情况 - private string Miss() { - string[] missText = new string[] { - "轻松避开了这一击!", - "巧妙地闪开了!", - "险之又险地躲过了!", - "成功格挡住了!" - }; - return RandomChoice(missText); - } - // 命中的情况,可根据伤害量或是否暴击细分 - private string Hit() { - string[] hitText = new string[] { - $"躲避不及遭受到了{damage}点伤害!", - $"被狠狠击中,承受了{damage}点伤害!", - $"格挡失败受到了{damage}点伤害!", - }; - return RandomChoice(hitText); - } -} \ No newline at end of file diff --git a/Assets/ModuleCore/ModuleBattle/BattleReport.cs.meta b/Assets/ModuleCore/ModuleBattle/BattleReport.cs.meta deleted file mode 100644 index 0002efb..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleReport.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 26a3fb20ae1a54143ab478049f4acd8e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattleSimulator.cs b/Assets/ModuleCore/ModuleBattle/BattleSimulator.cs deleted file mode 100644 index bf46025..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleSimulator.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 战斗 - 模拟器 -/// -public class BattleSimulator { - /// 当前行动 - public DataCombatRole actionRole; - /// 战斗队列 - public BattleQueue battleQueue = new BattleQueue(); - - /// 当前阶段 - public IPhase currentPhase; - /// 阶段字典 - public Dictionary dictionary = new Dictionary(); - - public BattleSimulator(BattleTeam team1, BattleTeam team2) { - team1.Initial(); - team2.Initial(); - - team1.Settings(1, 1); - team2.Settings(2, 1); - - battleQueue.Add(team1.battles); - battleQueue.Add(team2.battles); - - dictionary.Add(PhaseType.先攻阶段, new PhaseInitiative(this)); - dictionary.Add(PhaseType.突袭阶段, new PhaseAssault(this)); - dictionary.Add(PhaseType.回合阶段, new PhaseFormal(this)); - dictionary.Add(PhaseType.行动阶段, new PhaseAction(this)); - dictionary.Add(PhaseType.选择角色, new PhaseActionRoleSelect(this)); - dictionary.Add(PhaseType.角色攻击, new PhaseActionRoleAttack(this)); - dictionary.Add(PhaseType.结算阶段, new PhaseFinish(this)); - } - - /// 阶段过渡 - public void Transition(PhaseType phaseType) { - // 检查阶段字典中是否存在指定的阶段类型 - if (!dictionary.TryGetValue(phaseType, out IPhase newPhase)) { return; } - currentPhase = newPhase; - currentPhase?.Execute(); - } -} diff --git a/Assets/ModuleCore/ModuleBattle/BattleSimulator.cs.meta b/Assets/ModuleCore/ModuleBattle/BattleSimulator.cs.meta deleted file mode 100644 index 6e909fc..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleSimulator.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8ade6b45b3d808449b5ed0cf0810fffd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattleSkill.cs b/Assets/ModuleCore/ModuleBattle/BattleSkill.cs deleted file mode 100644 index 3985f62..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleSkill.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 战斗技能 -/// -public class BattleSkill { - -} diff --git a/Assets/ModuleCore/ModuleBattle/BattleSkill.cs.meta b/Assets/ModuleCore/ModuleBattle/BattleSkill.cs.meta deleted file mode 100644 index 6f2b63d..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleSkill.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f4f5e0db8e96cfd4d8d9243f4057f99a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/BattleTeam.cs b/Assets/ModuleCore/ModuleBattle/BattleTeam.cs deleted file mode 100644 index ed9b4e2..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleTeam.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 战斗队伍 -/// -public class BattleTeam { - /// 队伍名字 - public string name; - /// 原始数据 - public List characters = new List(); - /// 战斗数据 - public List battles = new List(); - - /// 添加角色 - public void Add(List list) { - characters.AddRange(list); - } - /// 添加角色 - public void Add(DataCharacter obj) { - characters.Add(obj); - } - /// 删除角色 - public void Remove(DataCharacter character) { - characters.Remove(character); - } - - /// 初始化 - public void Initial() { - characters.ForEach(Initial); - } - /// 初始化 - public void Initial(DataCharacter character) { - DataCombatRole role = new DataCombatRole(character); - role.Initial(); - battles.Add(role); - } - /// 战斗编队 - public void Settings(int team, int position) { - battles.ForEach(obj => obj.Settings(team, position)); - } -} \ No newline at end of file diff --git a/Assets/ModuleCore/ModuleBattle/BattleTeam.cs.meta b/Assets/ModuleCore/ModuleBattle/BattleTeam.cs.meta deleted file mode 100644 index c8c2a66..0000000 --- a/Assets/ModuleCore/ModuleBattle/BattleTeam.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 60ddd9f20d0d1bd49a6b68d86ccc904a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleBattle/Sample.md b/Assets/ModuleCore/ModuleBattle/Sample.md deleted file mode 100644 index 497912b..0000000 --- a/Assets/ModuleCore/ModuleBattle/Sample.md +++ /dev/null @@ -1,26 +0,0 @@ -### 战斗流程示例 - -#### 先攻判断 -- 艾薇拉(18) → 哥布林射手(15) → 托尔吉(7) → 哥布林战士(5) - -#### 突袭轮 -- 哥布林射手 使用短弓射击(23)对艾薇拉(AC12)造成了 5穿刺伤害 - -#### 正式回合1 -- 艾薇拉 施放纠缠术(法术豁免DC14),哥布林射手(敏捷豁免6)被束缚 -- 艾薇拉 躲至矿石掩体后(AC提升至14) - -- 哥布林射手 试图挣脱藤蔓(力量豁免3)失败了 -- 哥布林射手 使用多重射击,第一箭(劣势2)对托尔吉(AC14)未命中,第二箭(劣势9)对托尔吉(AC14)未命中 - -- 托尔吉 使用狂暴(附赠动作开启)→ 获得力量加成与抗性 -- 托尔吉 移动至哥布林战士前面 -- 托尔吉 使用巨斧猛击(19)对哥布林战士(AC12) 造成了 14钝击伤害 -- 托尔吉 使用巨斧猛击(19)没有命中哥布林战士(AC12) - -- 哥布林战士死亡 - -#### 正式回合2 -- 艾薇拉 施放奥术飞弹(法术豁免DC14),哥布林射手(敏捷豁免6)受到了 10奥术伤害 - -- 哥布林射手死亡 \ No newline at end of file diff --git a/Assets/ModuleCore/ModuleBattle/Sample.md.meta b/Assets/ModuleCore/ModuleBattle/Sample.md.meta deleted file mode 100644 index 5d1057b..0000000 --- a/Assets/ModuleCore/ModuleBattle/Sample.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: dc4066f5b83586a47bc6bc8ce0115d1d -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleCharacter.meta b/Assets/ModuleCore/ModuleCharacter.meta deleted file mode 100644 index 0b3aa13..0000000 --- a/Assets/ModuleCore/ModuleCharacter.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1f85c0d8dce903b4eb5fb0aca37d2040 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleCharacter/AttributeTool.cs b/Assets/ModuleCore/ModuleCharacter/AttributeTool.cs deleted file mode 100644 index cae1fdd..0000000 --- a/Assets/ModuleCore/ModuleCharacter/AttributeTool.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 属性 - 工具 -/// -public static class AttributeTool { - - #region 创建 - /// 随机初始属性 - public static DataAttribute Random() { - DataAttribute attribute = new DataAttribute(); - attribute.Str = Dice.RollAttribute(); - attribute.Dex = Dice.RollAttribute(); - attribute.Con = Dice.RollAttribute(); - attribute.Int = Dice.RollAttribute(); - attribute.Wis = Dice.RollAttribute(); - attribute.Cha = Dice.RollAttribute(); - return attribute; - } - #endregion - - #region 扩展 - // 计算属性调整值(属性值-10)/2 向下取整 - public static int Modifier(int value) { - return (int)System.Math.Floor((value - 10) / 2.0); - } - /// 添加属性 - public static void Add(this DataAttribute a, DataAttribute b) { - a.Str += b.Str; a.Dex += b.Dex; - a.Con += b.Con; a.Int += b.Int; - a.Wis += b.Wis; a.Cha += b.Cha; - } - /// 减少属性 - public static void Sub(this DataAttribute a, DataAttribute b) { - a.Str -= b.Str; a.Dex -= b.Dex; - a.Con -= b.Con; a.Int -= b.Int; - a.Wis -= b.Wis; a.Cha -= b.Cha; - } - /// 覆盖属性 - public static void Cover(this DataAttribute a, DataAttribute b) { - a.Str = b.Str; a.Dex = b.Dex; - a.Con = b.Con; a.Int = b.Int; - a.Wis = b.Wis; a.Cha = b.Cha; - } - #endregion -} diff --git a/Assets/ModuleCore/ModuleCharacter/AttributeTool.cs.meta b/Assets/ModuleCore/ModuleCharacter/AttributeTool.cs.meta deleted file mode 100644 index 94146d0..0000000 --- a/Assets/ModuleCore/ModuleCharacter/AttributeTool.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f6a814b3a3b754241ae35753e6d7c7f8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleCharacter/CharacterDictionary.cs b/Assets/ModuleCore/ModuleCharacter/CharacterDictionary.cs deleted file mode 100644 index 921820c..0000000 --- a/Assets/ModuleCore/ModuleCharacter/CharacterDictionary.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 角色 - 字典 -/// -public static class CharacterDictionary { - /// 艾薇拉 精灵 法师 - public static DataCharacter Character001() { - DataCharacter character = new DataCharacter(); - character.name = "艾薇拉"; - character.race = RaceTool.Elven(); - character.basis = new DataAttribute { Str = 8, Dex = 12, Con = 10, Int = 16, Wis = 14, Cha = 11 }; - character.profession = ProfessionTool.Wizard(); - character.profession.Initial(character); - character.equipment = new DataEquipment(); - // 装备法杖 - character.equipment.Wear(WeaponDictionary.Weapon302(), out DataWear old1); - // 装备法袍 - character.equipment.Wear(ArmorDictionary.Armor101(), out DataWear old2); - return character; - } - /// 托尔吉 兽人 战士 - public static DataCharacter Character002() { - DataCharacter character = new DataCharacter(); - character.name = "托尔吉"; - character.race = RaceTool.Orc(); - character.basis = new DataAttribute { Str = 16, Dex = 10, Con = 14, Int = 8, Wis = 10, Cha = 9 }; - character.profession = ProfessionTool.Warrior(); - character.profession.Initial(character); - character.equipment = new DataEquipment(); - // 装备木棒和木盾 - character.equipment.Wear(WeaponDictionary.Weapon201(), out DataWear old1); - character.equipment.Wear(WeaponDictionary.Weapon401(), out DataWear old2); - // 装备板甲 - character.equipment.Wear(ArmorDictionary.Armor401(), out DataWear old3); - return character; - } - /// 格伦布林 矮人 牧师 - public static DataCharacter Character003() { - DataCharacter character = new DataCharacter(); - character.name = "格伦布林"; - character.race = RaceTool.Dwarf(); - character.basis = new DataAttribute { Str = 14, Dex = 10, Con = 16, Int = 9, Wis = 15, Cha = 12 }; - character.profession = ProfessionTool.Cleric(); - character.profession.Initial(character); - character.equipment = new DataEquipment(); - // 装备木棒和木盾 - character.equipment.Wear(WeaponDictionary.Weapon201(), out DataWear old1); - character.equipment.Wear(WeaponDictionary.Weapon401(), out DataWear old2); - // 装备链甲 - character.equipment.Wear(ArmorDictionary.Armor301(), out DataWear old3); - return character; - } -} diff --git a/Assets/ModuleCore/ModuleCharacter/CharacterDictionary.cs.meta b/Assets/ModuleCore/ModuleCharacter/CharacterDictionary.cs.meta deleted file mode 100644 index bdb1b49..0000000 --- a/Assets/ModuleCore/ModuleCharacter/CharacterDictionary.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7c6813cdd5afeb949843c657358613db -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleCharacter/CharacterTool.cs b/Assets/ModuleCore/ModuleCharacter/CharacterTool.cs deleted file mode 100644 index d8c9298..0000000 --- a/Assets/ModuleCore/ModuleCharacter/CharacterTool.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 角色工具 -/// -public static class CharacterTool { - - #region 设置参数 - /// 设置职业 - public static void Settings(this DataCharacter character, DataRace race) { - character.race = race; - } - /// 设置职业 - public static void Settings(this DataCharacter character, DataProfession profession) { - character.profession = profession; - profession.character = character; - } - #endregion - - #region 属性扩展 - /// 战斗等级 - public static int GetLevel(this DataCharacter character) { - // TODO:需要补充多职业的等级总和 - return character.profession.level; - } - /// 生命点 - public static int GetHitPoint(this DataCharacter character) { - // TODO:需要补充多职业的生命值加成 - return character.profession.HitPoint(); - } - /// 计算护甲等级(AC) - public static int GetArmorClass(this DataCharacter character) { - // TODO:需要补充专长,技能,熟练之类的加值 - int modifier = character.DexModifier; - return character.equipment.ArmorClass(modifier); - } - #endregion - - #region 创建角色 - /// 创建默认角色 - public static DataCharacter Create(string name) { - DataCharacter character = new DataCharacter(); - character.name = name; - character.race = RaceTool.None(); - character.basis = AttributeTool.Random(); - character.profession = ProfessionTool.None(); - character.profession.Initial(character); - character.equipment = new DataEquipment(); - return character; - } - /// 创建默认角色 - public static DataCharacter Create(string name, DataRace race, DataProfession profession) { - DataCharacter character = new DataCharacter(); - character.name = name; - character.race = race; - character.basis = AttributeTool.Random(); - character.profession = profession; - character.profession.Initial(character); - character.equipment = new DataEquipment(); - return character; - } - #endregion - - // 打印角色卡 - public static void PrintCharacterSheet(this DataCharacter character) { - Debug.Log($"=== {character.name} LV{character.Level} ==="); - Debug.Log($"种族: {character.race.name}"); - Debug.Log($"职业: {character.profession.name}"); - Debug.Log($"力量: {character.Str} ({character.StrModifier.ToString("+#;-#;+0")})"); - Debug.Log($"敏捷: {character.Dex} ({character.DexModifier.ToString("+#;-#;+0")})"); - Debug.Log($"体质: {character.Con} ({character.ConModifier.ToString("+#;-#;+0")})"); - Debug.Log($"智力: {character.Int} ({character.IntModifier.ToString("+#;-#;+0")})"); - Debug.Log($"感知: {character.Wis} ({character.WisModifier.ToString("+#;-#;+0")})"); - Debug.Log($"魅力: {character.Cha} ({character.ChaModifier.ToString("+#;-#;+0")})"); - Debug.Log($"经验值: {character.expPoint}"); - Debug.Log($"生命值: {character.HitPoint}"); - Debug.Log($"护甲等级: {character.ArmorClass})"); - } -} diff --git a/Assets/ModuleCore/ModuleCharacter/CharacterTool.cs.meta b/Assets/ModuleCore/ModuleCharacter/CharacterTool.cs.meta deleted file mode 100644 index 8f34937..0000000 --- a/Assets/ModuleCore/ModuleCharacter/CharacterTool.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a6bdd4c70e0068d4dbe460c7a6961901 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleCharacter/CombatRoleTool.cs b/Assets/ModuleCore/ModuleCharacter/CombatRoleTool.cs deleted file mode 100644 index 55c9143..0000000 --- a/Assets/ModuleCore/ModuleCharacter/CombatRoleTool.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 战斗角色 - 工具 -/// -public static class CombatRoleTool { - - #region 设置参数 - /// 初始角色 - public static void Initial(this DataCombatRole role) { - AttributeTool.Cover(role, role.character); - role.name = role.character.name; - role.level = role.character.Level; - role.hitPoint = new Vector2Int(role.character.HitPoint, role.character.HitPoint); - role.armorClass = role.character.ArmorClass; - role.weapon1 = role.character.equipment.weapon1; - role.weapon2 = role.character.equipment.weapon2; - if (role.weapon1 == null) { role.weapon1 = WeaponDictionary.Weapon000(); } - if (role.weapon2 == null) { role.weapon2 = WeaponDictionary.Weapon000(); } - } - /// 设置队伍 - public static void Settings(this DataCombatRole role, int team, int position) { - role.team = team; - role.position = position; - } - #endregion - -} diff --git a/Assets/ModuleCore/ModuleCharacter/CombatRoleTool.cs.meta b/Assets/ModuleCore/ModuleCharacter/CombatRoleTool.cs.meta deleted file mode 100644 index 4cd2698..0000000 --- a/Assets/ModuleCore/ModuleCharacter/CombatRoleTool.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2eb2cecc8838b1445a24dce7aa669bd3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleCharacter/MonsterDictionary.cs b/Assets/ModuleCore/ModuleCharacter/MonsterDictionary.cs deleted file mode 100644 index 7760484..0000000 --- a/Assets/ModuleCore/ModuleCharacter/MonsterDictionary.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 怪物 - 字典 -/// -public static class MonsterDictionary { - /// 哥布林战士 怪物 - public static DataCharacter Monster001() { - DataCharacter character = new DataCharacter(); - character.name = "哥布林战士"; - character.race = RaceTool.None(); - character.basis = AttributeTool.Random(); - character.profession = ProfessionTool.None(); - character.profession.Initial(character); - character.equipment = new DataEquipment(); - return character; - } - /// 哥布林射手 怪物 - public static DataCharacter Monster002() { - DataCharacter character = new DataCharacter(); - character.name = "哥布林射手"; - character.race = RaceTool.None(); - character.basis = AttributeTool.Random(); - character.profession = ProfessionTool.None(); - character.profession.Initial(character); - character.equipment = new DataEquipment(); - return character; - } -} diff --git a/Assets/ModuleCore/ModuleCharacter/MonsterDictionary.cs.meta b/Assets/ModuleCore/ModuleCharacter/MonsterDictionary.cs.meta deleted file mode 100644 index d47fc65..0000000 --- a/Assets/ModuleCore/ModuleCharacter/MonsterDictionary.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7b03641f0b64dd44894d3b5f3cb10d5d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleCharacter/ProfessionTool.cs b/Assets/ModuleCore/ModuleCharacter/ProfessionTool.cs deleted file mode 100644 index 0e54bfb..0000000 --- a/Assets/ModuleCore/ModuleCharacter/ProfessionTool.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; - -/// -/// 种族 - 工具 -/// -public static class ProfessionTool { - - #region 扩展 - /// 初始:满生命骰子 + 体质调整值 - public static void Initial(this DataProfession profession, DataCharacter character) { - profession.character = character; - int hitPoint = profession.hitDice + character.ConModifier; - profession.level = 1; - profession.hitPoints = new List { hitPoint }; - } - /// 升级:骰生命骰子 + 体质调整值 - public static void Upgrade(this DataProfession profession) { - profession.level++; - int hitPoint = Dice.Roll(profession.hitDice); - int modifier = profession.character.ConModifier; - profession.hitPoints.Add(hitPoint + modifier); - } - /// 生命点:每级生命点总和 - public static int HitPoint(this DataProfession profession) { - return profession.hitPoints.Sum(); - } - #endregion - - #region 创建 - /// 创建 - public static DataProfession Create(string name, int hitDice) { - DataProfession profession = new DataProfession { name = name, hitDice = hitDice }; - profession.name = name; - profession.hitDice = hitDice; - return profession; - } - /// 无职业 1d4 - public static DataProfession None() { - return Create("无", 4); - } - /// 随机职业 - public static DataProfession Random() { - int index = Dice.Roll(5); - if (index == 1) { return Warrior(); } - if (index == 2) { return Wizard(); } - if (index == 3) { return Cleric(); } - if (index == 4) { return Ranger(); } - if (index == 5) { return Chanter(); } - return None(); - } - /// 战士 1d10 - public static DataProfession Warrior() { - return Create("战士", 10); - } - /// 法师 1d6 - public static DataProfession Wizard() { - return Create("法师", 6); - } - /// 牧师 1d8 - public static DataProfession Cleric() { - return Create("牧师", 8); - } - /// 游侠 1d8 - public static DataProfession Ranger() { - return Create("游侠", 8); - } - /// 歌者 1d6 - public static DataProfession Chanter() { - return Create("歌者", 6); - } - #endregion -} diff --git a/Assets/ModuleCore/ModuleCharacter/ProfessionTool.cs.meta b/Assets/ModuleCore/ModuleCharacter/ProfessionTool.cs.meta deleted file mode 100644 index 3fb23d7..0000000 --- a/Assets/ModuleCore/ModuleCharacter/ProfessionTool.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bd48318dcbe216449a81d70622f8ba35 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleCharacter/RaceTool.cs b/Assets/ModuleCore/ModuleCharacter/RaceTool.cs deleted file mode 100644 index 936cc72..0000000 --- a/Assets/ModuleCore/ModuleCharacter/RaceTool.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 种族 - 工具 -/// -public static class RaceTool { - - #region 创建 - // 混血人类,木精灵,丘陵矮人(Hill Dwarf),龙裔,半精灵 - /// 无种族 - public static DataRace None() { - return new DataRace { name = "未知" }; - } - /// 随机职业 - public static DataRace Random() { - int index = Dice.Roll(5); - if (index == 1) { return Human(); } - if (index == 2) { return Elven(); } - if (index == 3) { return Dwarf(); } - if (index == 4) { return Orc(); } - if (index == 5) { return Halfling(); } - return None(); - } - /// 人类(Human) 全属性+1 - public static DataRace Human() { - return new DataRace { name = "人类", Str = 1, Dex = 1, Con = 1, Int = 1, Wis = 1, Cha = 1 }; - } - /// 精灵(Elven) 敏捷+2 智力+2 感知+1 - public static DataRace Elven() { - return new DataRace { name = "精灵", Dex = 2, Int = 2, Wis = 1 }; - } - /// 矮人(Dwarf) 力量+2 体质+2 感知+1 - public static DataRace Dwarf() { - return new DataRace { name = "矮人", Str = 2, Con = 2, Wis = 1 }; - } - /// 半兽人(Orc) 力量+3 体质+2 - public static DataRace Orc() { - return new DataRace { name = "半兽人", Str = 3, Con = 2 }; - } - /// 半身人(Halfling) 敏捷+2 魅力+2 体质+1 - public static DataRace Halfling() { - return new DataRace { name = "半身人", Dex = 2, Cha = 2, Con = 1 }; - } - #endregion -} diff --git a/Assets/ModuleCore/ModuleCharacter/RaceTool.cs.meta b/Assets/ModuleCore/ModuleCharacter/RaceTool.cs.meta deleted file mode 100644 index 4f587b7..0000000 --- a/Assets/ModuleCore/ModuleCharacter/RaceTool.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9694db834fdbe8744882901e02003034 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleInventory.meta b/Assets/ModuleCore/ModuleInventory.meta deleted file mode 100644 index b1cff23..0000000 --- a/Assets/ModuleCore/ModuleInventory.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c29e0b5bff9f654439aa3e867ac20484 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleInventory/ArmorDictionary.cs b/Assets/ModuleCore/ModuleInventory/ArmorDictionary.cs deleted file mode 100644 index be211f5..0000000 --- a/Assets/ModuleCore/ModuleInventory/ArmorDictionary.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 装备 - 字典 -/// -public static class ArmorDictionary { - /// 护甲 - public static DataArmor Armor(string name, ArmorType armorType) { - DataArmor armor = new DataArmor(); - armor.name = name; - armor.itemType = ItemType.装备; - armor.wearType = WearType.护甲; - armor.armorType = armorType; - return armor; - } - /// 法师袍 ac10 - public static DataArmor Armor101() { - DataArmor armor = Armor("法师袍", ArmorType.布甲); - armor.additions.Add(new DataAddition { armorClass = 10 }); - return armor; - } - /// 皮甲 ac11 - public static DataArmor Armor201() { - DataArmor armor = Armor("皮甲", ArmorType.轻甲); - armor.additions.Add(new DataAddition { armorClass = 11 }); - return armor; - } - /// 链甲 ac15 - public static DataArmor Armor301() { - DataArmor armor = Armor("链甲", ArmorType.中甲); - armor.additions.Add(new DataAddition { armorClass = 15 }); - return armor; - } - /// 板甲 ac18 - public static DataArmor Armor401() { - DataArmor armor = Armor("板甲", ArmorType.重甲); - armor.additions.Add(new DataAddition { armorClass = 18 }); - return armor; - } -} diff --git a/Assets/ModuleCore/ModuleInventory/ArmorDictionary.cs.meta b/Assets/ModuleCore/ModuleInventory/ArmorDictionary.cs.meta deleted file mode 100644 index 7c9e28e..0000000 --- a/Assets/ModuleCore/ModuleInventory/ArmorDictionary.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f13627182bd77434991f32751b8c15f7 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleInventory/EquipmentTool.cs b/Assets/ModuleCore/ModuleInventory/EquipmentTool.cs deleted file mode 100644 index 8077587..0000000 --- a/Assets/ModuleCore/ModuleInventory/EquipmentTool.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 装备栏 - 工具 -/// -public static class EquipmentTool { - - #region 附加 - /// 添加属性 - public static void Add(this DataAddition a, DataAddition b) { - a.armorClass += b.armorClass; - } - /// 合并属性 - public static DataAddition Merge(List additions) { - DataAddition addition = new DataAddition(); - additions.ForEach(obj => addition.Add(obj)); - return addition; - } - /// 更新附加值 - public static void UpdateAddition(this DataEquipment equipment) { - DataAddition addition = new DataAddition(); - if (equipment.weapon1 != null) { addition.Add(equipment.weapon1.Addition); } - if (equipment.weapon2 != null) { addition.Add(equipment.weapon2.Addition); } - if (equipment.armor != null) { addition.Add(equipment.armor.Addition); } - if (equipment.helmets != null) { addition.Add(equipment.helmets.Addition); } - if (equipment.gloves != null) { addition.Add(equipment.gloves.Addition); } - if (equipment.shoes != null) { addition.Add(equipment.shoes.Addition); } - equipment.addition = addition; - } - /// 获取护甲等级 - public static int ArmorClass(this DataEquipment equipment, int modifier) { - int addValue = equipment.addition.armorClass; - // 无甲 基础AC = 10 + 调整值 + 附加值 - if (equipment.armor == null) { return 10 + modifier + addValue; } - // 布甲/轻甲 调整值全额生效 - if (equipment.armor.armorType == ArmorType.布甲) { } - // 调整值全额生效 - if (equipment.armor.armorType == ArmorType.轻甲) { } - // 中甲 调整值上限=2 - if (equipment.armor.armorType == ArmorType.中甲) { modifier = Mathf.Min(modifier, 2); } - // 重甲 调整值无效‌ - if (equipment.armor.armorType == ArmorType.重甲) { modifier = 0; } - // 调整值 + 附加值 - return modifier + addValue; - } - #endregion - - #region 穿戴 - /// 穿戴装备 - public static bool Wear(this DataEquipment equipment, DataWear wear, out DataWear old) { - old = wear; bool isWear = false; - if (wear.wearType == WearType.武器) { isWear = WearWeapon(equipment, wear, out old); } - if (wear.wearType == WearType.护甲) { isWear = WearArmor(equipment, wear, out old); } - if (wear.wearType == WearType.头盔) { isWear = WearHelmets(equipment, wear, out old); } - if (wear.wearType == WearType.手套) { isWear = WearGloves(equipment, wear, out old); } - if (wear.wearType == WearType.鞋子) { isWear = WearShoes(equipment, wear, out old); } - equipment.UpdateAddition(); - return isWear; - } - /// 穿戴武器 - public static bool WearWeapon(this DataEquipment equipment, DataWear wear, out DataWear old) { - old = null; - // 校验是否为武器类型 - if (!(wear is DataWeapon newWeapon)) { return false; } - // 情况1:主手为空,直接装备主手 - if (equipment.weapon1 == null) { equipment.weapon1 = newWeapon; return true; } - // 情况2:副手为空,直接装备副手 - if (equipment.weapon2 == null) { equipment.weapon2 = newWeapon; return true; } - // 情况3:主手副手都不为空,默认替换主手 - old = equipment.weapon1; - equipment.weapon1 = newWeapon; - equipment.UpdateAddition(); - return true; - } - /// 穿戴护甲 - public static bool WearArmor(this DataEquipment equipment, DataWear wear, out DataWear old) { - old = null; - // 校验是否为护甲类型 - if (!(wear is DataArmor newArmor)) { return false; } - old = equipment.armor; - equipment.armor = newArmor; - return true; - } - /// 穿戴头盔 - public static bool WearHelmets(this DataEquipment equipment, DataWear wear, out DataWear old) { - old = equipment.helmets; - equipment.helmets = wear; - return true; - } - /// 穿戴手套 - public static bool WearGloves(this DataEquipment equipment, DataWear wear, out DataWear old) { - old = equipment.gloves; - equipment.gloves = wear; - return true; - } - /// 穿戴鞋子 - public static bool WearShoes(this DataEquipment equipment, DataWear wear, out DataWear old) { - old = equipment.shoes; - equipment.shoes = wear; - return true; - } - #endregion -} diff --git a/Assets/ModuleCore/ModuleInventory/EquipmentTool.cs.meta b/Assets/ModuleCore/ModuleInventory/EquipmentTool.cs.meta deleted file mode 100644 index 3e56f89..0000000 --- a/Assets/ModuleCore/ModuleInventory/EquipmentTool.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1fd627b70f23dd44493bf8fb1e577370 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleInventory/WeaponDictionary.cs b/Assets/ModuleCore/ModuleInventory/WeaponDictionary.cs deleted file mode 100644 index 6084059..0000000 --- a/Assets/ModuleCore/ModuleInventory/WeaponDictionary.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -/// -/// 武器 - 字典 -/// -public static class WeaponDictionary { - /// 武器 - public static DataWeapon Weapon(string name, WeaponType weaponType) { - DataWeapon weapon = new DataWeapon(); - weapon.name = name; - weapon.itemType = ItemType.装备; - weapon.wearType = WearType.武器; - weapon.weaponType = weaponType; - return weapon; - } - - /// 空手 1d2 - public static DataWeapon Weapon000() { - DataWeapon weapon = Weapon("空手", WeaponType.无); - weapon.damageDice = new DataDamageDice(2, DamageType.无); - return weapon; - } - - /// 匕首 1d4 - public static DataWeapon Weapon101() { - DataWeapon weapon = Weapon("匕首", WeaponType.轻型武器); - weapon.damageDice = new DataDamageDice(4, DamageType.穿刺); - return weapon; - } - /// 短弓 1d6 - public static DataWeapon Weapon102() { - DataWeapon weapon = Weapon("短弓", WeaponType.轻型武器); - weapon.damageDice = new DataDamageDice(6, DamageType.穿刺); - return weapon; - } - - /// 木棒 1d6 - public static DataWeapon Weapon201() { - DataWeapon weapon = Weapon("木棒", WeaponType.中型武器); - weapon.damageDice = new DataDamageDice(6, DamageType.钝击); - return weapon; - } - - /// 巨棒 1d8 - public static DataWeapon Weapon301() { - DataWeapon weapon = Weapon("巨棒", WeaponType.重型武器); - weapon.damageDice = new DataDamageDice(8, DamageType.钝击); - return weapon; - } - /// 法杖 1d6 - public static DataWeapon Weapon302() { - DataWeapon weapon = Weapon("法杖", WeaponType.重型武器); - weapon.damageDice = new DataDamageDice(6, DamageType.钝击); - return weapon; - } - - /// 木盾 ac1 - public static DataWeapon Weapon401() { - DataWeapon weapon = Weapon("木盾", WeaponType.盾牌); - weapon.additions.Add(new DataAddition { armorClass = 1 }); - return weapon; - } - /// 箭袋 +20 - public static DataWeapon Weapon402() { - DataWeapon weapon = Weapon("箭袋", WeaponType.盾牌); - weapon.additions.Add(new DataAddition { armorClass = 1 }); - return weapon; - } -} diff --git a/Assets/ModuleCore/ModuleInventory/WeaponDictionary.cs.meta b/Assets/ModuleCore/ModuleInventory/WeaponDictionary.cs.meta deleted file mode 100644 index d5ffe84..0000000 --- a/Assets/ModuleCore/ModuleInventory/WeaponDictionary.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 32522aef438403f4d9ed01fe6650243b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleSingle/ManagerRequest.cs b/Assets/ModuleCore/ModuleSingle/ManagerRequest.cs deleted file mode 100644 index 5199c90..0000000 --- a/Assets/ModuleCore/ModuleSingle/ManagerRequest.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using MuHua; - -/// -/// 请求 - 管理器 -/// -public class ManagerRequest : ModuleSingle { - - /// 域名 - public static string Address => "http://localhost:5086"; - - protected override void Awake() => NoReplace(false); - - #region 用户 - /// 登录 - public void Login(string username, string password, Action callback) { - string url = Address + "/api/user/login"; - DataLoginRequest login = new DataLoginRequest { username = username, password = password }; - PostForm(url, login, callback); - } - #endregion - - #region 请求类型 - public void PostForm(string url, T data, Action callback) { - string json = JsonTool.ToJson(data); - Debug.Log(json); - DataRequestPost request = new DataRequestPost(url, json); - request.OnError = (json) => { ErrorHandle(url, json); }; - request.OnCallback = callback; - NetworkRequestAsync.Execute(request); - } - #endregion - - #region 结果处理 - /// 错误处理 - private void ErrorHandle(string url, string json) { - Debug.LogError($"{url} \n {json}"); - } - #endregion -} diff --git a/Assets/ModuleCore/ModuleSingle/ManagerRequest.cs.meta b/Assets/ModuleCore/ModuleSingle/ManagerRequest.cs.meta deleted file mode 100644 index 7155a72..0000000 --- a/Assets/ModuleCore/ModuleSingle/ManagerRequest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2b4112fa4a2bfe84984b0472be3af46c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleSingle/ManagerSimulator.cs b/Assets/ModuleCore/ModuleSingle/ManagerSimulator.cs deleted file mode 100644 index 68f65c1..0000000 --- a/Assets/ModuleCore/ModuleSingle/ManagerSimulator.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using MuHua; - -/// -/// 模拟器 - 管理 -/// -public class ManagerSimulator : ModuleSingle { - - /// 队伍1 - public BattleTeam team1; - /// 队伍2 - public BattleTeam team2; - - public BattleSimulator battleSimulator; - - protected override void Awake() => NoReplace(false); - - private void Start() { - team1 = new BattleTeam(); - team1.Add(CharacterDictionary.Character001()); - team1.Add(CharacterDictionary.Character002()); - team1.Add(CharacterDictionary.Character003()); - - team2 = new BattleTeam(); - team2.Add(MonsterDictionary.Monster001()); - team2.Add(MonsterDictionary.Monster002()); - team2.Add(MonsterDictionary.Monster002()); - - battleSimulator = new BattleSimulator(team1, team2); - battleSimulator.Transition(PhaseType.先攻阶段); - } -} diff --git a/Assets/ModuleCore/ModuleSingle/ManagerSimulator.cs.meta b/Assets/ModuleCore/ModuleSingle/ManagerSimulator.cs.meta deleted file mode 100644 index 8a506dc..0000000 --- a/Assets/ModuleCore/ModuleSingle/ManagerSimulator.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3ce4cafcd40fff3428928289fa060de4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleSingle/TestManager.cs b/Assets/ModuleCore/ModuleSingle/TestManager.cs deleted file mode 100644 index 4980953..0000000 --- a/Assets/ModuleCore/ModuleSingle/TestManager.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using MuHua; - -/// -/// 测试管理器 -/// -public class TestManager : ModuleSingle { - - protected override void Awake() => NoReplace(); - -} diff --git a/Assets/ModuleCore/ModuleSingle/TestManager.cs.meta b/Assets/ModuleCore/ModuleSingle/TestManager.cs.meta deleted file mode 100644 index e01eaa6..0000000 --- a/Assets/ModuleCore/ModuleSingle/TestManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 48413b9054701704499e7cb2c698ac97 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ModuleCore/ModuleUI/ModuleUIPage/UILoginPage.cs b/Assets/ModuleCore/ModuleUI/ModuleUIPage/UILoginPage.cs deleted file mode 100644 index 2f2d3e3..0000000 --- a/Assets/ModuleCore/ModuleUI/ModuleUIPage/UILoginPage.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UIElements; -using MuHua; - -/// -/// 登录页面 -/// -public class UILoginPage : ModuleUIPage { - - private UILoginPanel loginPanel; - private UIRegisterPanel registerPanel; - - public override VisualElement Element => root.Q("LoginPage"); - - public VisualElement LoginPanel => Q("LoginPanel"); - public VisualElement RegisterPanel => Q("RegisterPanel"); - - private void Awake() { - loginPanel = new UILoginPanel(LoginPanel, this); - registerPanel = new UIRegisterPanel(RegisterPanel, this); - - ModuleUI.OnJumpPage += ModuleUI_OnJumpPage; - } - - private void ModuleUI_OnJumpPage(Page page) { - Element.EnableInClassList("document-page-hide", page != Page.Login); - if (page != Page.Login) { return; } - OpenLoginPanel(); - } - public void OpenLoginPanel() { - loginPanel.Resetting(false); - registerPanel.Resetting(true); - } - public void OpenRegisterPanel() { - loginPanel.Resetting(true); - registerPanel.Resetting(false); - } -} -/// -/// 登录面板 -/// -public class UILoginPanel : ModuleUIPanel { - - private string username; - private string password; - - public Label Title => Q