From 7e598d765a951b2ed1dffae0db08efa1368fa39a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jose=20Luis=20Monta=C3=B1es=20Ojados?= Date: Tue, 6 Jan 2026 15:29:51 +0100 Subject: [PATCH] add offsets dictionary --- Class1.cs | 13 +++++- Textures.cs | 44 ++++++++++++------ .../net472/StrategicView-Plus.AssemblyInfo.cs | 2 +- ...trategicView-Plus.AssemblyInfoInputs.cache | 2 +- obj/Debug/net472/StrategicView-Plus.dll | Bin 12800 -> 13312 bytes obj/Debug/net472/StrategicView-Plus.pdb | Bin 11840 -> 11988 bytes 6 files changed, 42 insertions(+), 19 deletions(-) diff --git a/Class1.cs b/Class1.cs index b5b652e..2eca2b0 100644 --- a/Class1.cs +++ b/Class1.cs @@ -58,7 +58,10 @@ namespace StrategicMapPlus if (textureLookup.ContainsKey(texName)) { Texture2D tex = textureLookup[texName]; - Texture2D roundTex = MakeTextureTransparent(tex); + Textures.IconOffset offset = null; + if (Textures.IconsOffsets.ContainsKey(logicKey)) offset = Textures.IconsOffsets[logicKey]; + + Texture2D roundTex = MakeTextureTransparent(tex, offset); Sprite s = Sprite.Create(roundTex, new Rect(0, 0, roundTex.width, roundTex.height), new Vector2(0.5f, 0.5f)); SpriteCache[logicKey] = s; loadedCount++; @@ -177,7 +180,7 @@ namespace StrategicMapPlus } // Función auxiliar que podrías llamar desde tu parche de Harmony - public static Texture2D MakeTextureTransparent(Texture originalTexture) + public static Texture2D MakeTextureTransparent(Texture originalTexture, Textures.IconOffset offset = null) { if (originalTexture == null) return null; @@ -207,6 +210,12 @@ namespace StrategicMapPlus Vector2 center = new Vector2(width / 2f, height / 2f); float radius = (Mathf.Min(width, height) / 2f); // Radio máximo + if (offset != null) + { + center += new Vector2(offset.x, offset.y); + if (offset.size > 0) radius = offset.size / 2f; + } + for (int i = 0; i < pixels.Length; i++) { // --- Opción A: Máscara Redonda (Matemática) --- diff --git a/Textures.cs b/Textures.cs index ee8da9c..0f0aa45 100644 --- a/Textures.cs +++ b/Textures.cs @@ -11,33 +11,47 @@ namespace StrategicMapPlus // ----------------------------------------------------------------------- // --- ZONA DE CONFIGURACIÓN --- // ----------------------------------------------------------------------- - public static Dictionary TextureMap = new Dictionary() + public static Dictionary TextureMap = new Dictionary() { - // --- CONSOLIDAR PODER (Fuerza suele ser 0) --- - { "ConsolidatePower_0", "T_tkn_Order_ConsolidatePower" }, - { "ConsolidatePower_0_Star", "T_tkn_Order_ConsolidatePowerStar" }, - {"ConsolidatePower_122_Star", "T_tkn_Order_ConsolidatePowerStar" }, - {"ConsolidatePower_121", "T_tkn_Order_ConsolidatePower"}, + // --- CONSOLIDAR PODER (Fuerza suele ser 0) --- + {"ConsolidatePower_0", "T_tkn_Order_ConsolidatePower" }, + {"ConsolidatePower_0_Star", "T_tkn_Order_ConsolidatePowerStar" }, + {"ConsolidatePower_122_Star", "T_tkn_Order_ConsolidatePowerStar" }, + {"ConsolidatePower_121", "T_tkn_Order_ConsolidatePower"}, // March {"March_130", "T_tkn_Order_MarchPlus0" }, {"March_129_Star", "T_tkn_Order_MarchPlus1" }, - {"March_128", "T_tkn_Order_MarchMinus1" }, + {"March_128", "T_tkn_Order_MarchMinus1" }, // Defense {"Defense_124_Star", "T_tkn_Order_DefendPlus2" }, - // Raid - {"Raid_131", "T_tkn_Order_Raid" }, - {"Raid_132_Star", "T_tkn_Order_RaidStar" }, + // Raid + {"Raid_131", "T_tkn_Order_Raid" }, + {"Raid_132_Star", "T_tkn_Order_RaidStar" }, - // Defense - {"Defense_123", "T_tkn_Order_DefendPlus1" }, + // Defense + {"Defense_123", "T_tkn_Order_DefendPlus1" }, - // Support - {"Support_135", "T_tkn_Order_Support" }, - {"Support_136_Star", "T_tkn_Order_SupportPlus1" } + // Support + {"Support_135", "T_tkn_Order_Support" }, + {"Support_136_Star", "T_tkn_Order_SupportPlus1" } }; // ----------------------------------------------------------------------- + static public Dictionary IconsOffsets = new Dictionary() { }; + + public class IconOffset + { + public float x; public float y; + public float size; + + public IconOffset(float x, float y, float size) + { + this.x = x; + this.y = y; + this.size = size; + } + } } } diff --git a/obj/Debug/net472/StrategicView-Plus.AssemblyInfo.cs b/obj/Debug/net472/StrategicView-Plus.AssemblyInfo.cs index ef459de..640548f 100644 --- a/obj/Debug/net472/StrategicView-Plus.AssemblyInfo.cs +++ b/obj/Debug/net472/StrategicView-Plus.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StrategicView-Plus")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+132b1baedc3e76f674b00252e91ab05982ba6455")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9153fd763e579199d54cab0a432ff9090b4c64e9")] [assembly: System.Reflection.AssemblyProductAttribute("StrategicView-Plus")] [assembly: System.Reflection.AssemblyTitleAttribute("StrategicView-Plus")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net472/StrategicView-Plus.AssemblyInfoInputs.cache b/obj/Debug/net472/StrategicView-Plus.AssemblyInfoInputs.cache index 3fe4afb..688dc93 100644 --- a/obj/Debug/net472/StrategicView-Plus.AssemblyInfoInputs.cache +++ b/obj/Debug/net472/StrategicView-Plus.AssemblyInfoInputs.cache @@ -1 +1 @@ -6324d5e6ed883eb594c7f064c6899c6620ec3f6f4b54e50bf9c693a1c9798e38 +32d9cb21f9105a306e788f865867ce1cabf7e1239b4f80ba170e98b961bae87f diff --git a/obj/Debug/net472/StrategicView-Plus.dll b/obj/Debug/net472/StrategicView-Plus.dll index 6f568d3335f4b42527a6495b1d13d319203e480b..7d282c7b677f637f202dd49450682fc9fbfbf6d4 100644 GIT binary patch delta 4878 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 A`v3p{ delta 4479 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 D(Hk3s diff --git a/obj/Debug/net472/StrategicView-Plus.pdb b/obj/Debug/net472/StrategicView-Plus.pdb index f3c21a3833b42e5b895fee98514f5e2242517d4a..14d0aa64db668ba76ca216279a3c12c958a0212b 100644 GIT binary patch delta 1443 zcmYk6eN0Zj0QuWGJ9xk%wZlR_1_TUXTF`Ir?>pG@=n-9CumUV2f9G~A(r?qg zVP|7KkA*hiJwJJKcdwo--1O|GfeY_9562?0J(m{;7s{4yF^%2pq}`DSaBAESl!EKP zO{G!}>KRHGos^y8ym8iEjD3;s&;z|xXzXrHb+K3AV=B`pkhfkSMAcD8sg?qP=c%8l z4ZJi!qTVkts@g?R98|A}+`$XXCh%+J8e{b5O}3LS(hpM>)|2Ab09-RUnOsA!uU6Mx zCjRDtt0w1?Yv@mz>?M!W?==_j zk<&QY4wDPW$H;mwtemfqtUtp%XfD^xU%OeaAQ)m0Xkfy|0afM+)dfigj3SL7_VULz4_=}vn zf^*3F^Ccy4hEXEKg$;}_IxxvhB3`0*avi;v&b#8>2)c2Ukb>V?0GjC&@G_kR6ZA&> zez2mR-UgTYG@-gt(d*sTckN?5q{Lgk3U`@FM;0@y(L$dA-jc{f2mRW3SJt7DnH=;m z<3+LBXep|&F=NF%GdA30Op5m_87G-{#rx+*8$Hm+DDkj5WATdT)Vw9D>W(MOD}2K{ z!T5H5l<^OrM;Lf&{R50!3m#z{CG;4?61HKZ_lySk1XP*&?ZYQ{S0X=od} z9i6=%IGo-8XWi4?pOvBOyX;HTLutdY*wU5P+SFm&YR^n-tS@@<@gKwUKiA*cb!&8b z>ywp3H$N%zUfY*l_U7lkYSK34xqNZxkbA%3JA1p;y(JL+y6*KCzlwc-?$W042R*VX zNzHZJXL7`KmEk|0XM>PzqhHz+ktf;qa;Z1Pf+BRdP-Dq;s`LJ=jD2}bx{>Z{kH37@ zpje;S98x#@C25V~#F7}UmM0F$h_{cAnrKq#g{MW^+*ILiY5T@tCj6l?N*eOhEbKF9 zk1tv*?Q4-P^?S#{%_-)7%4VUON;*W9nk~uBkday$nH3|37#S5KABmCQ@ve^iywAfUwv3I5D~u1Dfr?QG1DwR5ETNrlept)e z5?_cLySkTTNlAu5ojSK_vVB=dNQ}BT#F%I@2?biq!=}Xp1DHv#Jty{3f!=UiTjQ91sP<`fS0Xcpdl>SUr&9I`CzjPhkiq2qA4l9oW2r)%-0h_(`x8yg{qK zi366o3Aq7{8<0PPcsn#3>NjfjkAm}-8Rt_PmcJ|@RwK2q;3BXC&$!&+H?aC#fiazc z7gUdf3>1gA&^u79ltgSpU)5Xbc6tf^0r~?9Q7d8{jnhNwc25Be^d4kmZd@iZ$)9zP zw2kMs!C_k;7DsNl1+)OgNlqw*^fcmPDnq=Q`Vp5)={+2h*Yu_9ue%fYg=x*))coEoPYzhyFP{&u%KTZ{e_(p7eg5+; z3xR^3zb!MzY@K@##P*NujRpszrf$~T*92qkVyA01yY-^;yTOnDTWlHs^19gLkN!os z2QF?{{3UMglk=u&_uQiHYUeA*uUh7YLe26kCTHGq1sy@cgWN%k@3DZXgD2Y#Hn?Ec+@%OC@a^f5xeuI3cjD5MwcsZjw7|%SGa@9IkC*gZ!}e8gG)X1w6b>I)X0w mMPLU%fhc0XV=<9i;4*2ouv_K9V8CwSOpG%}c-q0!Yv_MezT9&F