技能主要更新,修复卡顿并加入动画,以及各种其他更新。
This commit is contained in:
@@ -1,92 +1,92 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
|
||||
[CreateAssetMenu(fileName = "NewAllyHero", menuName = "SO_Data/AllyHero")]
|
||||
public class AllyHero_SO : ScriptableObject
|
||||
{
|
||||
[Header("友方英雄基本信息")]
|
||||
[Header("友方英雄基本信息")]
|
||||
public string ally_heroName;
|
||||
public string ally_heroDesignation;
|
||||
public int ally_heroID;
|
||||
|
||||
[Header("英雄立绘")]
|
||||
[Header("英雄立绘")]
|
||||
public Sprite ally_heroImage;
|
||||
[Header("英雄局内头像")]
|
||||
[Header("英雄局内头像")]
|
||||
public Sprite ally_heroProfile;
|
||||
[Header("英雄选择界面头像")]
|
||||
[Header("英雄选择界面头像")]
|
||||
public Sprite ally_heroSelectIcon;
|
||||
[Header("英雄轨道icon")]
|
||||
[Header("英雄轨道icon")]
|
||||
public Sprite ally_heroIcon;
|
||||
[Header("英雄编队界面海报")]
|
||||
[Header("英雄编队界面海报")]
|
||||
public Sprite ally_heroPoster;
|
||||
[Header("角色带通道立绘")]
|
||||
[Header("角色带通道立绘")]
|
||||
public Sprite ally_hero_HD_image;
|
||||
[Header("角色正方形头像")]
|
||||
[Header("角色正方形头像")]
|
||||
public Sprite ally_hero_squareProfile;
|
||||
|
||||
[Header("主题色")]
|
||||
[Header("主题色")]
|
||||
public Color ally_heroThemeColor;
|
||||
|
||||
[Header("英雄简介")]
|
||||
[Header("英雄简介")]
|
||||
[TextArea(3, 10)]
|
||||
[Tooltip("英雄的详细简介信息")]
|
||||
[Tooltip("英雄的详细简介信息")]
|
||||
public string ally_heroDescription;
|
||||
|
||||
[Header("等级属性列表")]
|
||||
[Header("等级属性列表")]
|
||||
public List<AllyLevelInfo> levelStats = new List<AllyLevelInfo>();
|
||||
|
||||
[System.Serializable]
|
||||
public class AllyLevelInfo
|
||||
{
|
||||
[Tooltip("等级名称或标识")]
|
||||
[Tooltip("等级名称或标识")]
|
||||
public string levelName;
|
||||
public int levelID;
|
||||
|
||||
[Tooltip("基础攻击力")]
|
||||
[Tooltip("基础攻击力")]
|
||||
public int attack = 0;
|
||||
|
||||
[Tooltip("最大生命值")]
|
||||
[Tooltip("最大生命值")]
|
||||
public int maxHP = 100;
|
||||
|
||||
[Tooltip("伤害抗性 (0-1), 用于减少所受伤害")]
|
||||
[Tooltip("伤害抗性 (0-1), 用于减少所受伤害")]
|
||||
public float damageResistance = 0f;
|
||||
|
||||
[Tooltip("最大法力值")]
|
||||
[Tooltip("最大法力值")]
|
||||
public int maxMana = 100;
|
||||
|
||||
[Tooltip("得分效率")]
|
||||
[Tooltip("得分效率")]
|
||||
public float scoreEfficiency = 1f;
|
||||
|
||||
[Header("升到本等级所需经验")]
|
||||
[Tooltip("升到本等级所需经验")]
|
||||
[Header("升到本等级所需经验")]
|
||||
[Tooltip("升到本等级所需经验")]
|
||||
public int requiredEXP;
|
||||
|
||||
[Header("本等级限制解锁技能槽位数量")]
|
||||
[Tooltip("本等级限制解锁技能槽位数量")]
|
||||
[Header("本等级限制解锁技能槽位数量")]
|
||||
[Tooltip("本等级限制解锁技能槽位数量")]
|
||||
public int skill_slot_limited;
|
||||
|
||||
[Header("Note-hit shared parameters")]
|
||||
[Tooltip("Good 判定时获得的法力值(整数)")]
|
||||
[Tooltip("Good 判定时获得的法力值(整数)")]
|
||||
public int manaGainGood = 1;
|
||||
[Tooltip("Great 判定时获得的法力值(整数)")]
|
||||
[Tooltip("Great 判定时获得的法力值(整数)")]
|
||||
public int manaGainGreat = 2;
|
||||
[Tooltip("Perfect 判定时获得的法力值(整数)")]
|
||||
[Tooltip("Perfect 判定时获得的法力值(整数)")]
|
||||
public int manaGainPerfect = 3;
|
||||
[Tooltip("Miss 判定时获得的法力值(整数)")]
|
||||
[Tooltip("Miss 判定时获得的法力值(整数)")]
|
||||
public int manaGainOnMiss = 5;
|
||||
|
||||
[Tooltip("Good 判定时基于英雄攻击力的伤害倍率,例如 0.5 表示造成 50% 的基础攻击力伤害")]
|
||||
[Tooltip("Good 判定时基于英雄攻击力的伤害倍率,例如 0.5 表示造成 50% 的基础攻击力伤害")]
|
||||
public float damageMultiplierGood = 0.5f;
|
||||
[Tooltip("Great 判定时基于英雄攻击力的伤害倍率,例如 0.75 表示造成 75% 的基础攻击力伤害")]
|
||||
[Tooltip("Great 判定时基于英雄攻击力的伤害倍率,例如 0.75 表示造成 75% 的基础攻击力伤害")]
|
||||
public float damageMultiplierGreat = 0.75f;
|
||||
[Tooltip("Perfect 判定时基于英雄攻击力的伤害倍率,例如 1.0 表示造成 100% 的基础攻击力伤害")]
|
||||
[Tooltip("Perfect 判定时基于英雄攻击力的伤害倍率,例如 1.0 表示造成 100% 的基础攻击力伤害")]
|
||||
public float damageMultiplierPerfect = 1f;
|
||||
|
||||
[Tooltip("Miss 时造成的基础生命损失基数。最终扣血将按 (missHpLossBase * (1 - damageResistance)) 计算,以考虑抗性")]
|
||||
[Tooltip("Miss 时造成的基础生命损失基数。最终扣血将按 (missHpLossBase * (1 - damageResistance)) 计算,以考虑抗性")]
|
||||
public float missHpLossBase = 10f;
|
||||
}
|
||||
|
||||
[Header("当前经验")]
|
||||
[Header("当前经验")]
|
||||
public int ally_currentEXP;
|
||||
|
||||
[Header("Skills")]
|
||||
@@ -97,7 +97,7 @@ public class AllyHero_SO : ScriptableObject
|
||||
[Tooltip("Primary selected skill index into availableSkills (-1 = none)")]
|
||||
public int primarySkillIndex = -1;
|
||||
|
||||
// --- 技能组逻辑(已修复) ---
|
||||
// --- 技能组逻辑(已修复) ---
|
||||
|
||||
[Tooltip("Skill groups defined on this hero. Each SkillGroup has a numeric skillGroupID which can be equipped into slots to allow activation of the entire group via that ID.")]
|
||||
public SkillGroup[] skillGroups = new SkillGroup[0];
|
||||
@@ -105,7 +105,7 @@ public class AllyHero_SO : ScriptableObject
|
||||
[Tooltip("Equipped skill group IDs for this ally. Each int references a skillGroupID defined in skillGroups. Use 0 to indicate empty.")]
|
||||
public int[] equippedSkillGroupIDs = new int[0];
|
||||
|
||||
// --- 技能方法 ---
|
||||
// --- 技能方法 ---
|
||||
|
||||
public SkillDefinition GetPrimarySkill()
|
||||
{
|
||||
@@ -171,4 +171,4 @@ public class AllyHero_SO : ScriptableObject
|
||||
if (best == null) return levelStats[0];
|
||||
return best;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user