This commit is contained in:
MuHua-123
2025-09-29 17:58:53 +08:00
parent 153e254d33
commit a18bea561a
180 changed files with 1325 additions and 189 deletions
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1eaf517ccfb649341aa59df1d7d437c2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 饰品类型
/// </summary>
public enum AccessoryType {
= 0,
= 1,
= 2
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5bc9afb170700e64a902cc2b868b8b04
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,14 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 护甲类型
/// </summary>
public enum ArmorType {
= 0,
= 1,
= 2,
= 3,
= 4
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3851fbd666690f247b52ab57af296c62
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,23 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 插槽类型
/// </summary>
public enum EquipmentSlotType {
= 0,
= 1,
= 10,
= 11,
= 12,
= 13,
= 14,
= 20,
1 = 21,
2 = 22,
1 = 23,
2 = 24
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d79bc5d78a1f1124093253ca1cd314f2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 装备类型
/// </summary>
public enum EquipmentType {
= 0,
= 1,
= 2
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 505a2c6d7fed9924591dfcdccbe928c9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 武器类型
/// </summary>
public enum WeaponType {
= 0,
= 1,
= 2
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5d1d95d68b876be4c9d6fb7d25113dee
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fa01c7c9647ebd6468b17280d5065639
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,18 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Accessory : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7cfcaecd119af2f48adf5a4649d88360
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,18 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Armor : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: de8ae08be418e3c48a7f938b6b842caa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,13 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 装备
/// </summary>
public class Equipment : InventoryItem {
/// <summary> 装备类型 (类型1/类型2 </summary>
public string type;
/// <summary> 词缀列表 </summary>
public List<EquipmentAffix> affixes = new List<EquipmentAffix>();
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3d078f2759ef3ef4bb65217dd9b2fb94
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,18 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Weapon : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4fdef6696992dc94f977f5ca3a2cc528
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,19 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 装备词缀
/// </summary>
public class EquipmentAffix {
/// <summary> 名字 </summary>
public string name;
/// <summary> 数值 </summary>
public float value;
/// <summary> 最大值 </summary>
public float minValue;
/// <summary> 最小值 </summary>
public float maxValue = float.MaxValue;
/// <summary> 属性类型 </summary>
public AttributeType attributeType;
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9eb47618daf43564cbc94b780e6b03f0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,73 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 装备栏
/// </summary>
public class EquipmentColumn {
/// <summary> 插槽字典 </summary>
public Dictionary<string, EquipmentSlot> dictionary = new Dictionary<string, EquipmentSlot>();
/// <summary> 索引器 </summary>
public EquipmentSlot this[string key] => dictionary[key];
public EquipmentColumn() {
AddSlot(WeaponSlot());
AddSlot(DeputySlot());
AddSlot(ArmorSlot(EquipmentSlotType., ArmorType.));
AddSlot(ArmorSlot(EquipmentSlotType., ArmorType.));
AddSlot(ArmorSlot(EquipmentSlotType., ArmorType.));
AddSlot(ArmorSlot(EquipmentSlotType., ArmorType.));
AddSlot(ArmorSlot(EquipmentSlotType., ArmorType.));
AddSlot(AccessorySlot(EquipmentSlotType., AccessoryType.));
AddSlot(AccessorySlot(EquipmentSlotType.1, AccessoryType.));
AddSlot(AccessorySlot(EquipmentSlotType.2, AccessoryType.));
AddSlot(AccessorySlot(EquipmentSlotType.1, AccessoryType.));
AddSlot(AccessorySlot(EquipmentSlotType.2, AccessoryType.));
}
public bool ContainsKey(string key) => dictionary.ContainsKey(key);
/// <summary> 添加插槽 </summary>
public void AddSlot(EquipmentSlot slot) => dictionary.Add(slot.name, slot);
/// <summary> 武器插槽 </summary>
public EquipmentSlot WeaponSlot() {
return new EquipmentSlot(EquipmentSlotType., VerifyWeapon);
}
/// <summary> 副手插槽 </summary>
public EquipmentSlot DeputySlot() {
return new EquipmentSlot(EquipmentSlotType., VerifyDeputy);
}
/// <summary> 护甲插槽 </summary>
public EquipmentSlot ArmorSlot(EquipmentSlotType type, ArmorType armor) {
return new EquipmentSlot(type, (equipment) => VerifyCommon(equipment, armor.ToString()));
}
/// <summary> 饰品插槽 </summary>
public EquipmentSlot AccessorySlot(EquipmentSlotType type, AccessoryType accessory) {
return new EquipmentSlot(type, (equipment) => VerifyCommon(equipment, accessory.ToString()));
}
/// <summary> 通用校验 </summary>
public static bool VerifyCommon(Equipment equipment, string type) {
string[] types = equipment.type.Split("/");
if (types[0] == type) { return true; }
return false;
}
/// <summary> 主手校验 </summary>
public static bool VerifyWeapon(Equipment equipment) {
string[] type = equipment.type.Split("/");
if (type[0] == WeaponType..ToString()) { return true; }
if (type[0] == WeaponType..ToString()) { return true; }
return false;
}
/// <summary> 副手校验 </summary>
public static bool VerifyDeputy(Equipment equipment) {
string[] type = equipment.type.Split("/");
if (type[0] == WeaponType..ToString()) { return true; }
return false;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 13afb37aea13dc94b97e8e85af77b5b8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e0cd838d2a0877c4780133f6dcb808f3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 饰品 - 物品常量
/// </summary>
[CreateAssetMenu(menuName = "MuHua/物品系统/饰品")]
public class AccessoryConst : EquipmentConst {
/// <summary> 饰品类型 </summary>
public AccessoryType type;
public override InventoryItem To() {
Equipment item = new Equipment();
item.name = name;
item.sprite = sprite;
item.type = type.ToString();
return item;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: fe5fcaac3685ff2408432feaa1d0999a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,21 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 护甲 - 物品常量
/// </summary>
[CreateAssetMenu(menuName = "MuHua/物品系统/护甲")]
public class ArmorConst : EquipmentConst {
/// <summary> 护甲类型 </summary>
public ArmorType type;
public override InventoryItem To() {
Equipment item = new Equipment();
item.name = name;
item.sprite = sprite;
item.type = type.ToString();
return item;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 33876f23eac24b14e8ba9cca9d545a4a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,10 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 装备 - 物品常量
/// </summary>
public class EquipmentConst : InventoryItemConst {
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5f4628602f47a4241837820971e174a3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,22 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 武器 - 物品常量
/// </summary>
[CreateAssetMenu(menuName = "MuHua/物品系统/武器")]
public class WeaponConst : EquipmentConst {
/// <summary> 武器类型 </summary>
public WeaponType type;
/// <summary> 武器类别 </summary>
public string category;
public override InventoryItem To() {
Equipment item = new Equipment();
item.name = name;
item.sprite = sprite;
item.type = $"{type}/{category}";
return item;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 45818eb64c9b04441b20b29f0230edb7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,27 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 装备插槽
/// </summary>
public class EquipmentSlot {
/// <summary> 名字 </summary>
public string name;
/// <summary> 物品 </summary>
public Equipment item;
/// <summary> 装备验证 </summary>
public Func<Equipment, bool> verify;
public EquipmentSlot(EquipmentSlotType slot, Func<Equipment, bool> verify) {
name = slot.ToString();
this.verify = verify;
}
/// <summary> 设置 </summary>
public void Settings(InventoryItem item) {
if (item is Equipment equipment) { this.item = equipment; }
else { this.item = null; }
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f1d68199e9959734e85efd7a39d4d78c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: