2
0
Fork 0

蓝条系统

master
cd 2 years ago
parent f51a3368ad
commit 4b352d4f7b

Binary file not shown.

Binary file not shown.

@ -16,11 +16,11 @@ MonoBehaviour:
mIsImporting: 0
mAwaitingModelImport: 0
mAwaitingFragmentsImport: 0
mLastUsedObjectDefinitionHash: C56D7EF4F39B52D4737E16FEF4DDDE5EAB18AEFDEAFA0D2478B56AB7D7882401
mLastUsedObjectDefinitionHash: 5529BBCC74A8B00AD9C188E4416314151B57098D41DEA54621E8BEBAD2A1DB76
mLastUsedScriptFragmentsHash: 0000000000
mLastUsedPackagesHash: 1177269412
mLastUsedPackagesCount: 1
mLastBuildCode: 1
mLastEditorStartupTimeTicks: 638229670598460600
mNewVersionAvailable: 1
mLastEditorStartupTimeTicks: 638245973289081679
mNewVersionAvailable: 0
mLastAttachedFlowPlayerValue: 0

@ -20,7 +20,7 @@ namespace Articy.Touhou.GlobalVariables
{
[Articy.Unity.ArticyCodeGenerationHashAttribute(638222141002450560)]
[Articy.Unity.ArticyCodeGenerationHashAttribute(638246277501474476)]
public class ArticyScriptFragments : BaseScriptFragments, ISerializationCallbackReceiver
{

@ -61,6 +61,12 @@ namespace Articy.Touhou.Features
[SerializeField()]
private ArticyValueArticyObject mHitBoxParam = new ArticyValueArticyObject();
[SerializeField()]
private Int32 mMpMax;
[SerializeField()]
private Int32 mSubMpMax;
[SerializeField()]
private UInt64 mOwnerId;
@ -235,6 +241,34 @@ namespace Articy.Touhou.Features
}
}
public Int32 MpMax
{
get
{
return mMpMax;
}
set
{
var oldValue = mMpMax;
mMpMax = value;
Articy.Unity.ArticyDatabase.ObjectNotifications.ReportChanged(OwnerId, OwnerInstanceId, "EntityParamBattle.MpMax", oldValue, mMpMax);
}
}
public Int32 SubMpMax
{
get
{
return mSubMpMax;
}
set
{
var oldValue = mSubMpMax;
mSubMpMax = value;
Articy.Unity.ArticyDatabase.ObjectNotifications.ReportChanged(OwnerId, OwnerInstanceId, "EntityParamBattle.SubMpMax", oldValue, mSubMpMax);
}
}
public UInt64 OwnerId
{
get
@ -286,6 +320,8 @@ namespace Articy.Touhou.Features
{
newClone.mHitBoxParam = ((ArticyValueArticyObject)(mHitBoxParam.CloneObject(newClone, aFirstClassParent)));
}
newClone.MpMax = MpMax;
newClone.SubMpMax = SubMpMax;
newClone.OwnerId = OwnerId;
}
@ -364,6 +400,16 @@ namespace Articy.Touhou.Features
HitBoxParam = Articy.Unity.Interfaces.BaseScriptFragments.ObjectToModelRep(aValue);
return;
}
if ((aProperty == "MpMax"))
{
MpMax = System.Convert.ToInt32(aValue);
return;
}
if ((aProperty == "SubMpMax"))
{
SubMpMax = System.Convert.ToInt32(aValue);
return;
}
}
public Articy.Unity.Interfaces.ScriptDataProxy getProp(string aProperty)
@ -416,6 +462,14 @@ namespace Articy.Touhou.Features
{
return new Articy.Unity.Interfaces.ScriptDataProxy(HitBoxParam);
}
if ((aProperty == "MpMax"))
{
return new Articy.Unity.Interfaces.ScriptDataProxy(MpMax);
}
if ((aProperty == "SubMpMax"))
{
return new Articy.Unity.Interfaces.ScriptDataProxy(SubMpMax);
}
return null;
}
#endregion

@ -51,6 +51,10 @@ namespace Articy.Touhou.Features
private ReferenceSlotConstraint mHitBoxParam;
private NumberConstraint mMpMax;
private NumberConstraint mSubMpMax;
public ReferenceSlotConstraint MoveParam
{
get
@ -159,6 +163,24 @@ namespace Articy.Touhou.Features
}
}
public NumberConstraint MpMax
{
get
{
EnsureConstraints();
return mMpMax;
}
}
public NumberConstraint SubMpMax
{
get
{
EnsureConstraints();
return mSubMpMax;
}
}
public virtual void EnsureConstraints()
{
if ((mLoadedConstraints == true))
@ -178,6 +200,8 @@ namespace Articy.Touhou.Features
mFuryThreshold = new Articy.Unity.Constraints.NumberConstraint(0D, 100D, 0, 0, 0, null);
mStunParam = new Articy.Unity.Constraints.ReferenceSlotConstraint("Entity;", "", "None;", "_;");
mHitBoxParam = new Articy.Unity.Constraints.ReferenceSlotConstraint("Entity;", "", "None;", "ShieldParam_02;");
mMpMax = new Articy.Unity.Constraints.NumberConstraint(-3.40282346638529E+38D, 3.40282346638529E+38D, 0, 0, 0, null);
mSubMpMax = new Articy.Unity.Constraints.NumberConstraint(-3.40282346638529E+38D, 3.40282346638529E+38D, 0, 0, 0, null);
}
}
}

@ -22,7 +22,7 @@ namespace Articy.Touhou
[Serializable()]
[Articy.Unity.ArticyCodeGenerationHashAttribute(638222140788663376)]
[Articy.Unity.ArticyCodeGenerationHashAttribute(638246277361362024)]
public class InputPin : ArticyPrimitive, IInputPin
{

@ -13,6 +13,25 @@ MonoBehaviour:
m_Name: HierarchyManager
m_EditorClassIdentifier:
serializedNodes: []
--- !u!114 &-8226824443437470148
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ab8bedcae6c8fc0448f1b9e7bc8c751a, type: 3}
m_Name: DefaultGlobalVariables
m_EditorClassIdentifier:
BoolVariableCache: []
IntVariableCache: []
StringVariableCache: []
LiveBoolVariableCache: []
LiveIntVariableCache: []
LiveStringVariableCache: []
isInitialized: 1
--- !u!114 &-8060311902172184737
MonoBehaviour:
m_ObjectHideFlags: 3
@ -39,6 +58,25 @@ MonoBehaviour:
m_Name: HierarchyManager
m_EditorClassIdentifier:
serializedNodes: []
--- !u!114 &-7115670206165563418
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1655710724, guid: 23cdf4a0ba64c164d8ffb0c744ae259d, type: 3}
m_Name: HierarchyManager
m_EditorClassIdentifier:
serializedNodes:
- id: 72057594037927937
parent: 0
technicalName: Touhou
articyType: Project
childCount: 0
indexOfFirstChild: 1
--- !u!114 &-6531137462612857089
MonoBehaviour:
m_ObjectHideFlags: 3
@ -445,7 +483,7 @@ MonoBehaviour:
m_Script: {fileID: -1676762633, guid: 23cdf4a0ba64c164d8ffb0c744ae259d, type: 3}
m_Name: ArticyDatabase
m_EditorClassIdentifier:
mHierarchy: {fileID: -7157632089595105858}
mHierarchy: {fileID: -7115670206165563418}
mLocalization: {fileID: -4256971298007036964}
mInternalProject:
mName: touhou
@ -521,8 +559,8 @@ MonoBehaviour:
- "Assets/\u7CBE\u7075\u56FE/\u5B50\u5F39/pt_blue"
- "Assets/\u7CBE\u7075\u56FE/\u5B50\u5F39/pt_red"
- "Assets/\u7CBE\u7075\u56FE/\u4EA4\u4E92\u7269/light1"
mDefaultGlobalVariables: {fileID: 3423444516077795561}
mScriptFragments: {fileID: -2710827813016667703}
mDefaultGlobalVariables: {fileID: -8226824443437470148}
mScriptFragments: {fileID: 4714340434247993358}
mPackages:
- PackageName: gamedata
PackagePath: gamedata
@ -744,6 +782,18 @@ MonoBehaviour:
m_Name: HierarchyManager
m_EditorClassIdentifier:
serializedNodes: []
--- !u!114 &4714340434247993358
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4488511c690d7d247bc45f2106962d66, type: 3}
m_Name: ArticyScriptFragments
m_EditorClassIdentifier:
--- !u!114 &5319978887503100866
MonoBehaviour:
m_ObjectHideFlags: 3

@ -13,34 +13,37 @@ namespace Game
public bool CancelIgore;
public bool Active;
}
//武器携带的技能数据
public class WeaponSkill
{
public Dictionary<Tuple<EComboStance, EComboTriggerType>, string> SkillDict = new Dictionary<Tuple<EComboStance, EComboTriggerType>, string>();
public Dictionary<Tuple<EComboStance, EComboTriggerType>, string> SkillDict =
new Dictionary<Tuple<EComboStance, EComboTriggerType>, string>();
public Dictionary<EComboTriggerType, string> SkillAnyDict = new Dictionary<EComboTriggerType, string>();
public HashSet<string> SkillSet = new HashSet<string>();
}
}
[Game]
public class ComboComponent : IComponent
{
public List<string> WeaponList = new List<string>(); //武器列表
public MetaData<int> WeaponNow = new MetaData<int>();//当前武器下标
public Dictionary<string, WeaponSkill> WeaponSkillDict = new Dictionary<string, WeaponSkill>();//武器技能
public EComboStance Stance; //当前真正的姿态,进入后摇后更新
public EComboStance PreStance; //当前技能的后摇姿态,释放技能时更新
public List<ComboInputRecord> InputQueue = new List<ComboInputRecord>();//指令缓存
public MetaData<int> WeaponNow = new MetaData<int>(); //当前武器下标
public Dictionary<string, WeaponSkill> WeaponSkillDict = new Dictionary<string, WeaponSkill>(); //武器技能
public EComboStance Stance; //当前真正的姿态,进入后摇后更新
public EComboStance PreStance; //当前技能的后摇姿态,释放技能时更新
public List<ComboInputRecord> InputQueue = new List<ComboInputRecord>(); //指令缓存
public float TriggerCancelSafeTime = 0; //清除cache的保护时间
public HashSet<EFunctionKey> KeyPressSet = new HashSet<EFunctionKey>(); //按下状态的按键
public EMoveCommand MoveCommand = EMoveCommand.Stop; //移动指令 技能释放时会根据最新的移动指令调整方向
public bool IsJumpCancelable = false; //当前技能是否能通过跳跃取消
public bool IsGroundCancelable = false; //当前技能是否能通过落地取消
public bool IsSkillCancelable = false; //当前技能是否能通过其他技能取消
public int TargetLock = 0; //锁定的目标id 0为当前无目标 -1为当前范围内找不到目标
public Dictionary<int, float> TargetLastLockTime = new Dictionary<int, float>(); //距离目标上次锁定的时间 一段时间内无法重复锁定相同目标以便切换目标
public MetaData<int> TargetInteract = new MetaData<int>(); //交互的目标id 0为当前无目标
public EMoveCommand MoveCommand = EMoveCommand.Stop; //移动指令 技能释放时会根据最新的移动指令调整方向
public bool IsJumpCancelable = false; //当前技能是否能通过跳跃取消
public bool IsGroundCancelable = false; //当前技能是否能通过落地取消
public bool IsSkillCancelable = false; //当前技能是否能通过其他技能取消
public int TargetLock = 0; //锁定的目标id 0为当前无目标 -1为当前范围内找不到目标
public Dictionary<int, float> TargetLastLockTime = new Dictionary<int, float>(); //距离目标上次锁定的时间 一段时间内无法重复锁定相同目标以便切换目标
public MetaData<int> TargetInteract = new MetaData<int>(); //交互的目标id 0为当前无目标
}
namespace Game
@ -54,8 +57,10 @@ namespace Game
{
return false;
}
return weaponSkill.SkillSet.Contains(skillId);
}
public static void AddSkillAll(GameEntity entity)
{
var skillCfgDatas = Util.GetSkillMasterConfigDataAll();
@ -64,6 +69,7 @@ namespace Game
AddSkill(entity, skillCfgData.TechnicalName);
}
}
public static void AddSkill(GameEntity entity, string skillId)
{
var weaponSkill = GetWeaponSkillBySkillId(entity, skillId);
@ -71,10 +77,12 @@ namespace Game
{
return;
}
if (weaponSkill.SkillSet.Contains(skillId))
{
return;
}
weaponSkill.SkillSet.Add(skillId);
var skillCfg = Util.GetSkillMasterConfig(skillId);
@ -88,6 +96,7 @@ namespace Game
{
RemoveSkill(entity, weaponSkill.SkillAnyDict[triggerType]);
}
weaponSkill.SkillAnyDict.Add(triggerType, skillId);
}
else
@ -98,9 +107,11 @@ namespace Game
{
RemoveSkill(entity, weaponSkill.SkillDict[skillKey]);
}
weaponSkill.SkillDict.Add(skillKey, skillId);
}
}
public static void RemoveSkill(GameEntity entity, string skillId)
{
var weaponSkill = GetWeaponSkillBySkillId(entity, skillId);
@ -108,29 +119,32 @@ namespace Game
{
return;
}
if (!weaponSkill.SkillSet.Contains(skillId))
{
return;
}
weaponSkill.SkillSet.Remove(skillId);
foreach (var item in weaponSkill.SkillDict)
{
if (item.Value == skillId)
{
weaponSkill.SkillDict.Remove(item.Key);
break;//原则上只有一个
break; //原则上只有一个
}
}
foreach (var item in weaponSkill.SkillAnyDict)
{
if (item.Value == skillId)
{
weaponSkill.SkillAnyDict.Remove(item.Key);
break;//原则上只有一个
break; //原则上只有一个
}
}
}
public static WeaponSkill GetWeaponSkillBySkillId(GameEntity entity, string skillId)
{
var combo = entity.combo;
@ -140,31 +154,37 @@ namespace Game
{
return combo.WeaponSkillDict[weaponId];
}
return null;
}
public static WeaponSkill GetWeaponSkillNow(GameEntity entity)
{
var combo = entity.combo;
return combo.WeaponSkillDict[combo.WeaponList[combo.WeaponNow.Value]];
}
public static bool HasComboAny(GameEntity entity, EComboTriggerType triggerType)
{
var combo = entity.combo;
var weaponSkill = GetWeaponSkillNow(entity);
return weaponSkill.SkillAnyDict.ContainsKey(triggerType);
}
public static string GetComboAny(GameEntity entity, EComboTriggerType triggerType)
{
var combo = entity.combo;
var weaponSkill = GetWeaponSkillNow(entity);
return weaponSkill.SkillAnyDict[triggerType];
}
public static bool HasCombo(GameEntity entity, Tuple<EComboStance, EComboTriggerType> skillKey)
{
var combo = entity.combo;
var weaponSkill = GetWeaponSkillNow(entity);
return weaponSkill.SkillDict.ContainsKey(skillKey);
}
public static string GetCombo(GameEntity entity, Tuple<EComboStance, EComboTriggerType> skillKey)
{
var combo = entity.combo;
@ -182,6 +202,7 @@ namespace Game
combo.WeaponSkillDict[item] = new WeaponSkill();
}
}
public static void SetWeaponListAll(GameEntity entity)
{
var weaponCfgDatas = Util.GetWeaponConfigDataAll();
@ -190,6 +211,7 @@ namespace Game
{
weaponIdList.Add(weaponCfgData.TechnicalName);
}
SetWeaponList(entity, weaponIdList);
}

@ -11,6 +11,10 @@ public class HpComponent : IComponent
public MetaData<float> ShieldMax = new MetaData<float>();
public MetaData<float> Stun = new MetaData<float>();
public MetaData<float> StunMax = new MetaData<float>();
public MetaData<int> Mp = new MetaData<int>();
public MetaData<int> MpMax = new MetaData<int>();
public MetaData<float> SubMp = new MetaData<float>();
public MetaData<float> SubMpMax = new MetaData<float>();
public MetaData<bool> IsDamaged = new MetaData<bool>();
public Shape HitBoxShape; //受击框形状

@ -3,6 +3,8 @@ using System.Collections.Generic;
using UnityEngine;
using Game;
// ReSharper disable All
public class SettleSystem : IExecuteSystem, IInitializeSystem
{
private IGroup<GameEntity> _entities;
@ -118,6 +120,22 @@ public class SettleSystem : IExecuteSystem, IInitializeSystem
target.hp.StunRecoverTime = target.hp.StunRecoverTimeMax;
}
//蓝量增加
{
if (entity.hasHp)
{
var hp = entity.hp;
hp.SubMp.Value += 1;
hp.SubMp.Value = Mathf.Min(hp.SubMp.Value, hp.SubMpMax.Value);
if (hp.SubMp.Value == hp.SubMpMax.Value)
{
hp.SubMp.Value = 0;
hp.Mp.Value += 1;
hp.Mp.Value = Mathf.Min(hp.Mp.Value, hp.MpMax.Value);
}
}
}
//异常值积累
{
if (targetHp.StunMax.Value > targetHp.Stun.Value)

@ -250,6 +250,13 @@ namespace Game
//护盾
hp.ShieldMax.Value = cfg.ShieldMax;
hp.Shield.Value = cfg.ShieldMax;
//蓝量
hp.MpMax.Value = cfg.MpMax;
hp.Mp.Value = 0;
//次级蓝量
hp.SubMpMax.Value = cfg.SubMpMax;
hp.SubMp.Value = 0;
//护盾参数
if (!(shieldParamCfg is null))
{

@ -1,20 +1,22 @@
using System.Collections.Generic;
using Game.Battle;
namespace Game
{
public class PageHud : UIPageBase<ViewHud>
{
public int TargetCache = 0;
public PageHud()
{
}
private int _targetCache = 0;
private readonly List<UIPoolItem<ViewMpItem>> _mpItemList = new List<UIPoolItem<ViewMpItem>>();
protected override void OnCreate()
{
CreateUI(true);
}
protected override void OnDestroy()
{
}
protected override void OnOpen()
{
// UIManager.instance.Open(EUIPage.BlessList);
@ -26,44 +28,55 @@ namespace Game
EventManager.Instance.AddEvent<PEntityHit>(EEvent.EntityHit, OnEntityHit);
EventManager.Instance.AddEvent<string>(EEvent.ShowLevelName, OnShowLevelName);
}
protected override void OnClose()
{
foreach (var item in _mpItemList)
item.Destroy();
_mpItemList.Clear();
EventManager.Instance.RemoveEvent<PEntityAlive>(EEvent.EntityAlive, OnEntityAlive);
EventManager.Instance.RemoveEvent<PEntityHit>(EEvent.EntityHit, OnEntityHit);
EventManager.Instance.RemoveEvent<string>(EEvent.ShowLevelName, OnShowLevelName);
}
private void OnEntityAlive(PEntityAlive param)
{
if (TargetCache == 0)
if (_targetCache == 0)
{
return;
}
var entity = param.Entity;
if (!param.IsAlive && entity == TargetCache)
if (!param.IsAlive && entity == _targetCache)
{
BindMonsterInfo(null);
}
}
private void OnEntityHit(PEntityHit param)
{
if (!param.IsSkill)
{
return;
}
var entity = Util.GetEntity(param.Target);
if (!entity.hp.IsAlive)
{
return;
}
if (entity.Team() != ETeam.Monster)
{
return;
}
if (TargetCache != param.Entity)
if (_targetCache != param.Entity)
{
BindMonsterInfo(entity);
}
}
private void OnShowLevelName(string levelName)
{
View.m_showLevelName.selectedIndex = 1;
@ -75,45 +88,81 @@ namespace Game
protected override void OnCreateBind()
{
var master = Util.GetMaster();
BindHp(master); //绑定血条
BindShield(master); //绑定护盾条
BindInteract(master); //绑定交互UI
BindHp(master); //绑定血条
BindShield(master); //绑定护盾条
BindInteract(master); //绑定交互UI
}
public override void Update()
{
}
private void BindHp(GameEntity entity)
{
var hp = entity.hp;
var uiPlayer = View.m_UI_Player;
BindData(hp.HpMax, (_, now) =>
{
uiPlayer.m_bar_blood.max = now;
uiPlayer.m_t_bloodThrough.text = $"{now}";
});
BindData(hp.Hp, (_, now) =>
{
uiPlayer.m_bar_blood.value = now;
uiPlayer.m_t_blood.text = $"{now}";
});
BindData(hp.HpMax, (_, now) =>
BindData(hp.MpMax, (_, now) =>
{
uiPlayer.m_bar_blood.max = now;
uiPlayer.m_t_bloodThrough.text = $"{now}";
});
for (var i = _mpItemList.Count - 1; i >= 0; i--)
{
var mpItem = _mpItemList[i];
uiPlayer.m_list_mp.RemoveChildAt(i);
mpItem.Destroy();
}
for (var i = 0; i < now; i++)
{
var mpItem = UIManager.Instance.Creator.CreateUIItem<ViewMpItem>(ViewMpItem.URL);
_mpItemList.Add(mpItem);
uiPlayer.m_list_mp.AddChild(mpItem.Component);
}
});
BindData(hp.Mp, (_, now) =>
{
for (var i = 0; i < _mpItemList.Count; i++)
{
var mpItem = _mpItemList[i];
if (i < now - 1)
{
mpItem.Component.m_c1.selectedIndex = 1;
}
else if (i == now - 1)
{
mpItem.Component.m_c1.selectedIndex = 2;
}
else
{
mpItem.Component.m_c1.selectedIndex = 0;
}
}
});
BindData(hp.SubMpMax, (_, now) => { uiPlayer.m_bar_subMp.max = now; });
BindData(hp.SubMp, (_, now) => { uiPlayer.m_bar_subMp.value = now; });
}
private void BindShield(GameEntity entity)
{
}
private void BindInteract(GameEntity entity)
{
var combo = entity.combo;
BindData(combo.TargetInteract, (_, now) =>
{
View.m_showInteract.selectedIndex = (now != 0 ? 1 : 0);
});
BindData(combo.TargetInteract, (_, now) => { View.m_showInteract.selectedIndex = (now != 0 ? 1 : 0); });
}
private void BindMonsterInfo(GameEntity entity)
{
var entityPre = Util.GetEntity(TargetCache);
var entityPre = Util.GetEntity(_targetCache);
if (entityPre != null)
{
var hp = entityPre.hp;
@ -122,6 +171,10 @@ namespace Game
UnbindData(hp.Hp);
UnbindData(hp.ShieldMax);
UnbindData(hp.Shield);
UnbindData(hp.MpMax);
UnbindData(hp.Mp);
UnbindData(hp.SubMpMax);
UnbindData(hp.SubMp);
UnbindData(buff.BuffMap);
foreach (var item in buff.BuffMap)
{
@ -130,6 +183,7 @@ namespace Game
UnbindData(buffData.Level);
}
}
if (entity != null)
{
var uiMonster = View.m_UI_Monster;
@ -168,24 +222,20 @@ namespace Game
{
continue;
}
var obj = uiMonster.m_buff.AddItemFromPool() as Viewc_buffItem;
var buffData = item.Value;
obj.m_buffIcon.texture = Texture(buffData.BuffCfg.Buff.Icon);
ReBindData(buffData.TimeLeft, (_, now) =>
{
obj.m_mask.fillAmount = now / buffData.TimeMax;
});
ReBindData(buffData.Level, (_, now) =>
{
obj.m_level.text = $"{now}";
});
ReBindData(buffData.TimeLeft, (_, now) => { obj.m_mask.fillAmount = now / buffData.TimeMax; });
ReBindData(buffData.Level, (_, now) => { obj.m_level.text = $"{now}"; });
}
});
TargetCache = entity.ID();
_targetCache = entity.ID();
}
View.m_showMonsterInfo.selectedIndex = entity == null ? 0 : 1;
View.m_showMonsterInfo.selectedIndex = entity == null ? 0 : 1;
}
protected override void OnInput(PPlayerInput context)
{
if (context.Action == EKeyActionType.Press)
@ -194,10 +244,12 @@ namespace Game
{
UIManager.Instance.Open(EuiPage.SkillGm);
}
if (context.Key == EFunctionKey.Bag)
{
UIManager.Instance.Open(EuiPage.Bag);
}
if (context.Key == EFunctionKey.Menu)
{
UIManager.Instance.Open(EuiPage.GmPanel);

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using Game.Battle;
@ -57,11 +58,18 @@ namespace Game
protected override void OnClose()
{
foreach (var kvp in _hpBarDict)
{
kvp.Value.Destroy();
}
foreach (var item in _hitNumDict.SelectMany(kvp => kvp.Value))
item.Destroy();
foreach (var item in _hitBuffDict.SelectMany(kvp => kvp.Value))
item.Destroy();
foreach (var kvp in _interactDict)
kvp.Value.Destroy();
_hpBarDict.Clear();
_hitNumDict.Clear();
_hitBuffDict.Clear();
_interactDict.Clear();
EventManager.Instance.RemoveEvent<PEntityAlive>(EEvent.EntityAlive, OnEntityAlive);
EventManager.Instance.RemoveEvent<PEntityHit>(EEvent.EntityHit, OnEntityHit);
EventManager.Instance.RemoveEvent<PEntityHitText>(EEvent.EntityHitText, OnEntityHitText);
@ -148,7 +156,7 @@ namespace Game
if (hp.DmgShowTime <= 0)
{
hp.DmgShowTime = 0;
var lastItem = hitNumList[hitNumList.Count - 1].Component as ViewHitNum;
var lastItem = hitNumList[hitNumList.Count - 1].Component;
lastItem.m_step2.Play();
if (GameRandom.Roll(0.5f))
{
@ -169,7 +177,7 @@ namespace Game
}
var item = hitNumList[i];
var hitInfo = hitNumList[i].Component as ViewHitNum;
var hitInfo = hitNumList[i].Component;
if (!hitInfo.m_step2.playing)
{
item.Destroy();
@ -437,18 +445,18 @@ namespace Game
var hitList = _hitNumDict[entityID];
var hp = Util.GetEntity(entityID).hp;
ViewHitNum targetItem = null;
if (hp.DmgShowTime == 0)
if (hp.DmgShowTime == 0 || hitList.Count == 0)
{
hp.LastDmg = dmg;
var hitNum = UIManager.Instance.Creator.CreateUIItem<ViewHitNum>(ViewHitNum.URL);
var item = hitNum.Component as ViewHitNum;
var item = hitNum.Component;
hitList.Add(hitNum);
targetItem = item;
}
else
{
hp.LastDmg += dmg;
targetItem = hitList[hitList.Count - 1].Component as ViewHitNum;
targetItem = hitList[hitList.Count - 1].Component;
}
targetItem.m_num.text = $"{hp.LastDmg}";

@ -15,7 +15,6 @@ namespace Game.Battle
UIObjectFactory.SetPackageItemExtension(ViewBlessItem.URL, typeof(ViewBlessItem));
UIObjectFactory.SetPackageItemExtension(ViewBlessList.URL, typeof(ViewBlessList));
UIObjectFactory.SetPackageItemExtension(ViewDie.URL, typeof(ViewDie));
UIObjectFactory.SetPackageItemExtension(Viewc_element.URL, typeof(Viewc_element));
UIObjectFactory.SetPackageItemExtension(ViewHitBuff.URL, typeof(ViewHitBuff));
UIObjectFactory.SetPackageItemExtension(Viewc_Player.URL, typeof(Viewc_Player));
UIObjectFactory.SetPackageItemExtension(ViewbloodBarPlayer.URL, typeof(ViewbloodBarPlayer));
@ -33,6 +32,7 @@ namespace Game.Battle
UIObjectFactory.SetPackageItemExtension(ViewMapPanel.URL, typeof(ViewMapPanel));
UIObjectFactory.SetPackageItemExtension(Viewc_BlessItem.URL, typeof(Viewc_BlessItem));
UIObjectFactory.SetPackageItemExtension(Viewc_BlessList.URL, typeof(Viewc_BlessList));
UIObjectFactory.SetPackageItemExtension(ViewsubMpBar.URL, typeof(ViewsubMpBar));
UIObjectFactory.SetPackageItemExtension(ViewMapSelect.URL, typeof(ViewMapSelect));
UIObjectFactory.SetPackageItemExtension(ViewBtn_RouteSelect.URL, typeof(ViewBtn_RouteSelect));
UIObjectFactory.SetPackageItemExtension(Viewc_Monster.URL, typeof(Viewc_Monster));
@ -49,6 +49,8 @@ namespace Game.Battle
UIObjectFactory.SetPackageItemExtension(ViewshieldBarEnemySub.URL, typeof(ViewshieldBarEnemySub));
UIObjectFactory.SetPackageItemExtension(ViewbloodBarEnemyTween.URL, typeof(ViewbloodBarEnemyTween));
UIObjectFactory.SetPackageItemExtension(ViewshieldBarEnemyTween.URL, typeof(ViewshieldBarEnemyTween));
UIObjectFactory.SetPackageItemExtension(ViewMpItem.URL, typeof(ViewMpItem));
UIObjectFactory.SetPackageItemExtension(ViewenergeBar.URL, typeof(ViewenergeBar));
UIObjectFactory.SetPackageItemExtension(Viewc_Interact.URL, typeof(Viewc_Interact));
UIObjectFactory.SetPackageItemExtension(ViewhungryBarEnemy.URL, typeof(ViewhungryBarEnemy));
}

@ -10,8 +10,6 @@ namespace Game.Battle
public Controller m_showInteract;
public Controller m_showMonsterInfo;
public Controller m_showLevelName;
public GGraph m_n18;
public GGraph m_n19;
public Viewc_Player m_UI_Player;
public Viewc_Interact m_n13;
public Viewc_Monster m_UI_Monster;
@ -35,8 +33,6 @@ namespace Game.Battle
m_showInteract = this.GetController("showInteract");
m_showMonsterInfo = this.GetController("showMonsterInfo");
m_showLevelName = this.GetController("showLevelName");
m_n18 = (GGraph)this.GetChild("n18");
m_n19 = (GGraph)this.GetChild("n19");
m_UI_Player = (Viewc_Player)this.GetChild("UI_Player");
m_n13 = (Viewc_Interact)this.GetChild("n13");
m_UI_Monster = (Viewc_Monster)this.GetChild("UI_Monster");

@ -5,19 +5,19 @@ using FairyGUI.Utils;
namespace Game.Battle
{
public partial class Viewc_element : GComponent
public partial class ViewMpItem : GComponent
{
public Controller m_c1;
public GLoader m_n7;
public GGraph m_n11;
public const string URL = "ui://2qo7xpdcgzui2s";
public const string URL = "ui://2qo7xpdcumbx59";
public static Viewc_element CreateInstance()
public static ViewMpItem CreateInstance()
{
return (Viewc_element)UIPackage.CreateObject("Battle","c_element");
return (ViewMpItem)UIPackage.CreateObject("Battle","MpItem");
}
public Viewc_element()
public ViewMpItem()
{
}
@ -26,7 +26,7 @@ namespace Game.Battle
base.ConstructFromXML(xml);
m_c1 = this.GetController("c1");
m_n7 = (GLoader)this.GetChild("n7");
m_n11 = (GGraph)this.GetChild("n11");
}
}
}

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a19a2d20b1cacc949b641939d1697736
guid: 1de69e18aecf3b44d8272d19932973e7
MonoImporter:
externalObjects: {}
serializedVersion: 2

@ -10,7 +10,6 @@ namespace Game.Battle
public Controller m_showshield;
public ViewbloodBarEnemy m_bloodBarEnemy;
public ViewshieldBarEnemy m_shieldBarEnemy;
public GList m_element;
public GList m_buff;
public GTextField m_monsterName;
@ -32,7 +31,6 @@ namespace Game.Battle
m_showshield = this.GetController("showshield");
m_bloodBarEnemy = (ViewbloodBarEnemy)this.GetChild("bloodBarEnemy");
m_shieldBarEnemy = (ViewshieldBarEnemy)this.GetChild("shieldBarEnemy");
m_element = (GList)this.GetChild("element");
m_buff = (GList)this.GetChild("buff");
m_monsterName = (GTextField)this.GetChild("monsterName");
}

@ -7,12 +7,14 @@ namespace Game.Battle
{
public partial class Viewc_Player : GComponent
{
public GImage m_p_head;
public ViewbloodBarPlayer m_bar_blood;
public GList m_buff;
public GTextField m_t_blood;
public GTextField m_t_div;
public GTextField m_t_bloodThrough;
public GList m_buff;
public GList m_list_mp;
public ViewsubMpBar m_bar_subMp;
public ViewenergeBar m_bar_energe;
public const string URL = "ui://2qo7xpdci12r1w";
@ -29,12 +31,14 @@ namespace Game.Battle
{
base.ConstructFromXML(xml);
m_p_head = (GImage)this.GetChild("p_head");
m_bar_blood = (ViewbloodBarPlayer)this.GetChild("bar_blood");
m_buff = (GList)this.GetChild("buff");
m_t_blood = (GTextField)this.GetChild("t_blood");
m_t_div = (GTextField)this.GetChild("t_div");
m_t_bloodThrough = (GTextField)this.GetChild("t_bloodThrough");
m_buff = (GList)this.GetChild("buff");
m_list_mp = (GList)this.GetChild("list_mp");
m_bar_subMp = (ViewsubMpBar)this.GetChild("bar_subMp");
m_bar_energe = (ViewenergeBar)this.GetChild("bar_energe");
}
}
}

@ -0,0 +1,32 @@
/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
using FairyGUI;
using FairyGUI.Utils;
namespace Game.Battle
{
public partial class ViewenergeBar : GProgressBar
{
public GGraph m_n0;
public GGraph m_bar_v;
public const string URL = "ui://2qo7xpdcumbx5a";
public static ViewenergeBar CreateInstance()
{
return (ViewenergeBar)UIPackage.CreateObject("Battle","energeBar");
}
public ViewenergeBar()
{
}
public override void ConstructFromXML(XML xml)
{
base.ConstructFromXML(xml);
m_n0 = (GGraph)this.GetChild("n0");
m_bar_v = (GGraph)this.GetChild("bar_v");
}
}
}

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

@ -0,0 +1,32 @@
/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
using FairyGUI;
using FairyGUI.Utils;
namespace Game.Battle
{
public partial class ViewsubMpBar : GProgressBar
{
public GGraph m_n0;
public GGraph m_bar;
public const string URL = "ui://2qo7xpdcljo94i";
public static ViewsubMpBar CreateInstance()
{
return (ViewsubMpBar)UIPackage.CreateObject("Battle","subMpBar");
}
public ViewsubMpBar()
{
}
public override void ConstructFromXML(XML xml)
{
base.ConstructFromXML(xml);
m_n0 = (GGraph)this.GetChild("n0");
m_bar = (GGraph)this.GetChild("bar");
}
}
}

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 MiB

After

Width:  |  Height:  |  Size: 4.8 MiB

@ -5,7 +5,7 @@
"set_IncludedNodes": "Settings, Project, GlobalVariables, ObjectDefinitions, Packages, ScriptMethods, Hierarchy, Assets",
"set_UseScriptSupport": "True",
"ExportVersion": "1.2",
"ObjectDefinitionsHash": "C56D7EF4F39B52D4737E16FEF4DDDE5EAB18AEFDEAFA0D2478B56AB7D7882401",
"ObjectDefinitionsHash": "5529BBCC74A8B00AD9C188E4416314151B57098D41DEA54621E8BEBAD2A1DB76",
"ScriptFragmentsHash": "0000000000"
},
"Project": {
@ -1286,7 +1286,7 @@
{
"Property": "BasicStun",
"Type": "Int",
"DisplayName": "攻击基准眩晕值"
"DisplayName": "基准眩晕值"
},
{
"Property": "ExecuteThreshold",
@ -1318,6 +1318,16 @@
"Property": "HitBoxParam",
"Type": "Id",
"DisplayName": "受击框参数"
},
{
"Property": "MpMax",
"Type": "Int",
"DisplayName": "蓝量"
},
{
"Property": "SubMpMax",
"Type": "Int",
"DisplayName": "次级蓝量"
}
],
"Constraints": [
@ -1458,6 +1468,26 @@
"AllowedModelTemplates": [
"ShieldParam_02"
]
},
{
"Property": "MpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
},
{
"Property": "SubMpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
}
]
},
@ -1682,7 +1712,7 @@
{
"Property": "BasicStun",
"Type": "Int",
"DisplayName": "攻击基准眩晕值"
"DisplayName": "基准眩晕值"
},
{
"Property": "ExecuteThreshold",
@ -1714,6 +1744,16 @@
"Property": "HitBoxParam",
"Type": "Id",
"DisplayName": "受击框参数"
},
{
"Property": "MpMax",
"Type": "Int",
"DisplayName": "蓝量"
},
{
"Property": "SubMpMax",
"Type": "Int",
"DisplayName": "次级蓝量"
}
],
"Constraints": [
@ -1854,6 +1894,26 @@
"AllowedModelTemplates": [
"ShieldParam_02"
]
},
{
"Property": "MpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
},
{
"Property": "SubMpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
}
]
},
@ -2078,7 +2138,7 @@
{
"Property": "BasicStun",
"Type": "Int",
"DisplayName": "攻击基准眩晕值"
"DisplayName": "基准眩晕值"
},
{
"Property": "ExecuteThreshold",
@ -2110,6 +2170,16 @@
"Property": "HitBoxParam",
"Type": "Id",
"DisplayName": "受击框参数"
},
{
"Property": "MpMax",
"Type": "Int",
"DisplayName": "蓝量"
},
{
"Property": "SubMpMax",
"Type": "Int",
"DisplayName": "次级蓝量"
}
],
"Constraints": [
@ -2250,6 +2320,26 @@
"AllowedModelTemplates": [
"ShieldParam_02"
]
},
{
"Property": "MpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
},
{
"Property": "SubMpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
}
]
},
@ -2955,7 +3045,7 @@
{
"Property": "BasicStun",
"Type": "Int",
"DisplayName": "攻击基准眩晕值"
"DisplayName": "基准眩晕值"
},
{
"Property": "ExecuteThreshold",
@ -2987,6 +3077,16 @@
"Property": "HitBoxParam",
"Type": "Id",
"DisplayName": "受击框参数"
},
{
"Property": "MpMax",
"Type": "Int",
"DisplayName": "蓝量"
},
{
"Property": "SubMpMax",
"Type": "Int",
"DisplayName": "次级蓝量"
}
],
"Constraints": [
@ -3127,6 +3227,26 @@
"AllowedModelTemplates": [
"ShieldParam_02"
]
},
{
"Property": "MpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
},
{
"Property": "SubMpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
}
]
},
@ -3748,7 +3868,7 @@
{
"Property": "BasicStun",
"Type": "Int",
"DisplayName": "攻击基准眩晕值"
"DisplayName": "基准眩晕值"
},
{
"Property": "ExecuteThreshold",
@ -3780,6 +3900,16 @@
"Property": "HitBoxParam",
"Type": "Id",
"DisplayName": "受击框参数"
},
{
"Property": "MpMax",
"Type": "Int",
"DisplayName": "蓝量"
},
{
"Property": "SubMpMax",
"Type": "Int",
"DisplayName": "次级蓝量"
}
],
"Constraints": [
@ -3920,6 +4050,26 @@
"AllowedModelTemplates": [
"ShieldParam_02"
]
},
{
"Property": "MpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
},
{
"Property": "SubMpMax",
"Type": "Number",
"MinValue": "-3.40282346638529E+38",
"MaxValue": "3.40282346638529E+38",
"Precision": "0",
"MinPrecision": "0",
"MaxPrecision": "0",
"Unit": null
}
]
},
@ -10653,9 +10803,9 @@
"Attachments": [],
"DisplayName": "技能-投技",
"Color": {
"r": 0.5764706,
"g": 0.75686276,
"b": 0.8
"r": 0.577580452,
"g": 0.7605245,
"b": 0.7991027
},
"Text": "",
"ExternalId": "",
@ -12065,7 +12215,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "",
@ -12137,7 +12289,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "",
@ -12211,7 +12365,9 @@
],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "",
@ -12283,7 +12439,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "",
@ -12355,7 +12513,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "",
@ -12427,7 +12587,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "",
@ -12501,7 +12663,9 @@
],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "",
@ -12573,7 +12737,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "",
@ -12642,7 +12808,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "PT点红色",
@ -12711,7 +12879,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "PT点蓝色",
@ -14414,7 +14584,9 @@
],
"FuryThreshold": 0.0,
"StunParam": "0x0100000000003F88",
"HitBoxParam": "0x0100000000004AE8"
"HitBoxParam": "0x0100000000004AE8",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "魂魄妖梦",
@ -14485,7 +14657,9 @@
],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "魂魄妖梦",
@ -14561,7 +14735,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "毛玉",
@ -14637,7 +14813,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "测试怪",
@ -14713,7 +14891,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "测试怪脆",
@ -14789,7 +14969,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "测试怪肉",
@ -14870,7 +15052,9 @@
],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "亡灵小兵",
@ -14949,7 +15133,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "幽灵",
@ -15025,7 +15211,9 @@
"SubEntityList": [],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "大毛玉",
@ -15109,7 +15297,9 @@
],
"FuryThreshold": 0.0,
"StunParam": "0x010000000000408A",
"HitBoxParam": "0x0100000000004AEC"
"HitBoxParam": "0x0100000000004AEC",
"MpMax": 3.0,
"SubMpMax": 10.0
},
"EntityParam": {
"Name": "露米娅",

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="200,30" extention="ProgressBar">
<displayList>
<graph id="n0_i12r" name="n0" xy="0,0" size="200,30" type="rect" lineSize="0" lineColor="#ffa0a0a0" fillColor="#ff0f0f0f">
<relation target="" sidePair="width-width,height-height"/>
</graph>
<graph id="n1_i12r" name="bar" xy="0,0" size="200,30" type="rect" lineSize="0" fillColor="#ffff0000"/>
</displayList>
<ProgressBar/>
</component>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="20,28">
<controller name="c1" pages="0,,1,,2," selected="0"/>
<displayList>
<graph id="n11_umbx" name="n11" xy="2,2" size="16,24" type="rect" lineSize="0" fillColor="#ffcccccc">
<gearColor controller="c1" pages="0,1,2" values="#cccccc|#ffcc66|#ff9933"/>
</graph>
</displayList>
</component>

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="480,164">
<displayList>
<image id="n2_i12r" name="p_head" src="i12r1y" fileName="_Res/headbg.png" xy="5,54" size="102,97"/>
<component id="n3_i12r" name="bar_blood" src="i12r1z" fileName="Hud/Comp/BloodBar.xml" xy="108,121">
<relation target="n2_i12r" sidePair="left-right,bottom-bottom"/>
<ProgressBar value="79" max="100"/>
</component>
<list id="n4_i12r" name="list_buff" xy="109,86" size="167,32" layout="row" scroll="horizontal" colGap="15" defaultItem="ui://2qo7xpdci12r20" vAlign="middle">
<relation target="n3_i12r" sidePair="left-left,bottom-top"/>
<item/>
<item/>
<item/>
<item/>
</list>
<text id="n5_i12r" name="t_blood" xy="320,120" size="46,34" fontSize="24" color="#ffffff" vAlign="middle" text="800">
<relation target="n3_i12r" sidePair="left-right,bottom-bottom"/>
</text>
<text id="n6_i12r" name="t_div" xy="368,120" size="13,34" fontSize="24" color="#ffffff" text="/">
<relation target="n5_i12r" sidePair="left-right,bottom-bottom"/>
</text>
<text id="n7_i12r" name="t_bloodThrough" xy="383,120" size="60,34" fontSize="24" color="#ffffff" vAlign="middle" text="1000">
<relation target="n6_i12r" sidePair="left-right,bottom-bottom"/>
</text>
</displayList>
</component>

@ -2,18 +2,11 @@
<component size="500,119">
<controller name="showshield" pages="0,,1," selected="0"/>
<displayList>
<component id="n15_n7tf" name="bloodBarEnemy" src="jrii24" fileName="Headbar/Comp/bloodBarEnemy.xml" xy="250,73" size="500,20"/>
<component id="n16_n7tf" name="shieldBarEnemy" src="jv7z4y" fileName="Headbar/Comp/shieldBarEnemy.xml" xy="250,73" size="500,20">
<component id="n15_n7tf" name="bloodBarEnemy" src="jrii24" fileName="HeadBar/Comp/bloodBarEnemy.xml" xy="250,73" size="500,20"/>
<component id="n16_n7tf" name="shieldBarEnemy" src="jv7z4y" fileName="HeadBar/Comp/shieldBarEnemy.xml" xy="250,73" size="500,20">
<gearDisplay controller="showshield" pages="1"/>
</component>
<list id="n17_n7tf" name="element" xy="0,93" size="134,26" layout="row" overflow="scroll" defaultItem="ui://2qo7xpdcgzui2s" vAlign="middle">
<item/>
<item/>
<item/>
<item/>
<item/>
</list>
<list id="n18_n7tf" name="buff" xy="168,92" size="332,26" layout="row" selectionMode="none" overflow="scroll" colGap="4" defaultItem="ui://2qo7xpdcn7tf39" align="right" vAlign="bottom">
<list id="n18_n7tf" name="buff" xy="0,92" size="332,26" layout="row" selectionMode="none" overflow="scroll" colGap="4" defaultItem="ui://2qo7xpdcn7tf39" vAlign="bottom">
<item/>
<item/>
<item/>

@ -1,25 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="480,164">
<displayList>
<image id="n2_i12r" name="p_head" src="i12r1y" fileName="_Res/headbg.png" xy="6,16" size="102,97"/>
<component id="n3_i12r" name="bar_blood" src="i12r1z" fileName="Hud/Comp/bloodBarPlayer.xml" xy="126,44" size="227,16">
<relation target="n2_i12r" sidePair="left-right,bottom-bottom"/>
<component id="n3_i12r" name="bar_blood" src="i12r1z" fileName="Hud/Comp/bloodBarPlayer.xml" xy="119,24" size="186,22">
<ProgressBar value="79" max="100"/>
</component>
<text id="n5_i12r" name="t_blood" xy="363,38" size="44,31" fontSize="24" color="#ffffff" vAlign="middle" autoSize="none" text="800">
<list id="n8_n7tf" name="buff" xy="23,108" size="348,26" layout="row" selectionMode="none" overflow="scroll" colGap="4" defaultItem="ui://2qo7xpdcn7tf39" vAlign="bottom">
<item/>
<item/>
<item/>
<item/>
</list>
<text id="n5_i12r" name="t_blood" xy="122,14" size="44,31" group="n9_umbx" fontSize="24" color="#ffffff" align="right" vAlign="middle" autoSize="none" text="800">
<relation target="n3_i12r" sidePair="left-right,bottom-bottom"/>
</text>
<text id="n6_i12r" name="t_div" xy="411,38" size="12,31" fontSize="24" color="#ffffff" autoSize="none" text="/">
<text id="n6_i12r" name="t_div" xy="166,14" size="12,31" group="n9_umbx" fontSize="24" color="#ffffff" autoSize="none" text="/">
<relation target="n5_i12r" sidePair="left-right,bottom-bottom"/>
</text>
<text id="n7_i12r" name="t_bloodThrough" xy="426,38" size="57,31" fontSize="24" color="#ffffff" vAlign="middle" autoSize="none" text="1000">
<text id="n7_i12r" name="t_bloodThrough" xy="178,14" size="57,31" group="n9_umbx" fontSize="24" color="#ffffff" vAlign="middle" autoSize="none" text="1000">
<relation target="n6_i12r" sidePair="left-right,bottom-bottom"/>
</text>
<list id="n8_n7tf" name="buff" xy="7,124" size="348,26" layout="row" selectionMode="none" overflow="scroll" colGap="4" defaultItem="ui://2qo7xpdcn7tf39" vAlign="bottom">
<group id="n9_umbx" name="n9" xy="122,14" size="113,31"/>
<list id="n10_umbx" name="list_mp" xy="119,53" size="316,27" layout="row" selectionMode="none" overflow="scroll" defaultItem="ui://2qo7xpdcumbx59" autoClearItems="true">
<item/>
<item/>
<item/>
<item/>
<item/>
</list>
<component id="n13_umbx" name="bar_subMp" src="ljo94i" fileName="Hud/Comp/subMpBar.xml" xy="119,90" size="81,5">
<ProgressBar value="50" max="100"/>
</component>
<component id="n14_umbx" name="bar_energe" src="umbx5a" fileName="Hud/Comp/energeBar.xml" xy="23,15">
<ProgressBar value="50" max="100"/>
</component>
</displayList>
</component>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="80,80" extention="ProgressBar">
<displayList>
<graph id="n0_i12r" name="n0" xy="0,0" size="80,80" type="rect" lineSize="0" lineColor="#ffa0a0a0" fillColor="#ff0f0f0f">
<relation target="" sidePair="width-width,height-height"/>
</graph>
<graph id="n1_i12r" name="bar_v" xy="0,0" size="80,80" type="rect" lineSize="0" fillColor="#ff0099cc">
<relation target="" sidePair="width-width,height-height"/>
</graph>
</displayList>
<ProgressBar reverse="true"/>
</component>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="200,5" extention="ProgressBar">
<displayList>
<graph id="n0_i12r" name="n0" xy="0,0" size="200,5" type="rect" lineSize="0" lineColor="#ffa0a0a0" fillColor="#ff0f0f0f">
<relation target="" sidePair="width-width,height-height"/>
</graph>
<graph id="n1_i12r" name="bar" xy="0,0" size="200,5" type="rect" lineSize="0" fillColor="#ff0099cc"/>
</displayList>
<ProgressBar/>
</component>

@ -4,10 +4,7 @@
<controller name="showMonsterInfo" pages="0,,1," selected="0"/>
<controller name="showLevelName" pages="0,,1," selected="0"/>
<displayList>
<graph id="n18_ccl2" name="n18" xy="0,0" size="1920,100" group="n20_ccl2" type="rect" lineSize="0" fillColor="#ff000000"/>
<graph id="n19_ccl2" name="n19" xy="0,980" size="1920,100" group="n20_ccl2" type="rect" lineSize="0" fillColor="#ff000000"/>
<group id="n20_ccl2" name="n20" xy="0,0" size="1920,1080"/>
<component id="n3_i12r" name="UI_Player" src="i12r1w" fileName="Hud/Comp/c_Player.xml" xy="133,16" size="436,164">
<component id="n3_i12r" name="UI_Player" src="i12r1w" fileName="Hud/Comp/c_Player.xml" xy="85,42" size="436,164">
<relation target="" sidePair="left-left,bottom-bottom"/>
</component>
<component id="n13_uoqe" name="n13" src="uoqe2f" fileName="Hud/Comp/c_Interact.xml" xy="910,938" alpha="0">

@ -78,9 +78,8 @@
<image id="klx94d" name="map_icon_2.png" path="/_Res/map/"/>
<image id="klx94f" name="map_back.png" path="/_Res/map/"/>
<image id="klx94h" name="background.jpg" path="/_Res/map/"/>
<component id="ljo94i" name="BloodBar.xml" path="/Hud/Comp/"/>
<component id="ljo94i" name="subMpBar.xml" path="/Hud/Comp/"/>
<component id="ljo94j" name="UI_Buff.xml" path="/Hud/Comp/"/>
<component id="ljo94k" name="UI_Player.xml" path="/Hud/Comp/"/>
<component id="ljo94l" name="c_buffItemBig.xml" path="/_Common/"/>
<image id="ljo94m" name="map_icon_3.png" path="/_Res/map/"/>
<image id="ljo94n" name="map_icon_4.png" path="/_Res/map/"/>
@ -103,6 +102,8 @@
<image id="ez9d56" name="shield_icon.png" path="/_Res/headbar/"/>
<component id="o85f57" name="Interact.xml" path="/HeadBar/Comp/"/>
<image id="o85f58" name="door01.png" path="/_Res/"/>
<component id="umbx59" name="MpItem.xml" path="/Hud/Comp/"/>
<component id="umbx5a" name="energeBar.xml" path="/Hud/Comp/"/>
</resources>
<publish name="Battle" genCode="true"/>
</packageDescription>
Loading…
Cancel
Save