diff --git a/Base/_Tool/Animation_Class.nut b/Base/_Tool/Animation_Class.nut index 29b4bd2..43f2f75 100644 --- a/Base/_Tool/Animation_Class.nut +++ b/Base/_Tool/Animation_Class.nut @@ -218,6 +218,9 @@ class Rindro_Draw_Character { //绘制体信息 DrawInfo = null; + //隐藏图层Map + HideMap = null; + ENUM_RINDRO_JOB_NAME = ["swordman", "fighter", "gunner", "mage", "priest", "atgunner", "thief", "atfighter", "atmage", "demonicswordman", "creatormage"]; ENUM_RINDRO_JOB_TITLE_HEIGHT = [ @@ -408,8 +411,16 @@ class Rindro_Draw_Character { //没有Ani 就那种透明时装 if (!(Equ.rawin("Ani_" + JobName))) return AniList; + //记录时装的隐藏图层值 + if (Equ.rawin("hidelayer")) { + foreach(value in Equ["hidelayer"]) { + HideMap.rawset(value, true); + } + } + //读取Ani配置 local AniScript = Equ["Ani_" + JobName]; + // printT(AniScript); if (Equ.equipment_type == "skin avatar") { local Path; if (JobName.find("at") >= 0) { @@ -430,7 +441,7 @@ class Rindro_Draw_Character { local AniBuf = Rindro_Animation(Path, Ao); AniList.append({ Ani = AniBuf, - Layer = 0, + Layer = -1, }); } else { foreach(Info in AniScript.layer_variation) { @@ -456,6 +467,7 @@ class Rindro_Draw_Character { } constructor(Job, EquipmentArr, Action, Name) { + HideMap = {}; DrawInfo = GetCharacAniByEqu(Job, EquipmentArr, Action); this.Job = Job; this.Name = Name; @@ -463,6 +475,8 @@ class Rindro_Draw_Character { function Draw(X, Y) { foreach(AniInfo in DrawInfo) { + // print(AniInfo.Layer); + if(!HideMap.rawin(AniInfo.Layer)) AniInfo.Ani.Draw(X, Y); }