Commit 2fd76323 authored by SherryChaos's avatar SherryChaos

add attribute ruby for card renderer

parent fb478906
......@@ -958,6 +958,142 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &631967040269846493
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5664214079344940665}
- component: {fileID: 4822802029850909579}
- component: {fileID: 5179460145089239508}
m_Layer: 10
m_Name: AttrRuby
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5664214079344940665
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 631967040269846493}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6183095452721078524}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 269.6, y: 464.3}
m_SizeDelta: {x: 76, y: 21}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4822802029850909579
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 631967040269846493}
m_CullTransparentMesh: 1
--- !u!114 &5179460145089239508
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 631967040269846493}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: LIGHT
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 4f2b4779da094154fa119234dbc5a2cb, type: 2}
m_sharedMaterial: {fileID: 1463209681449585872, guid: 4f2b4779da094154fa119234dbc5a2cb, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 15.75
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 0
m_fontSizeMax: 40
m_fontStyle: 1
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &700790760898060331
GameObject:
m_ObjectHideFlags: 0
......@@ -2493,7 +2629,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 2d26bbd5f71ee894fb18ad107c7a904d, type: 3}
m_Sprite: {fileID: 21300000, guid: c966e00ba0503e54b963dff09594ef83, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -4031,7 +4167,7 @@ GameObject:
- component: {fileID: 3122675629263012707}
- component: {fileID: 4723610015367305094}
m_Layer: 10
m_Name: Attribute
m_Name: AttrIcon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -4176,7 +4312,7 @@ RectTransform:
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 184, y: -197}
m_SizeDelta: {x: 84.24, y: 40}
m_SizeDelta: {x: 118.38, y: 40}
m_Pivot: {x: 1, y: 0.5}
--- !u!222 &3757873244649507824
CanvasRenderer:
......@@ -4274,7 +4410,7 @@ MonoBehaviour:
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 1
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &9135214762583789966
......@@ -7496,6 +7632,142 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6251034684087392586
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6241427647688107251}
- component: {fileID: 5818898820724884606}
- component: {fileID: 8037950310371528646}
m_Layer: 10
m_Name: AttrRuby
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6241427647688107251
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6251034684087392586}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6413801260752116702}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 28}
m_SizeDelta: {x: 76, y: 19}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5818898820724884606
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6251034684087392586}
m_CullTransparentMesh: 1
--- !u!114 &8037950310371528646
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6251034684087392586}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: DARK
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 61da779331669ef43956c281aebd9006, type: 2}
m_sharedMaterial: {fileID: -1319644866169810436, guid: 61da779331669ef43956c281aebd9006, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 19
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 0
m_fontSizeMax: 40
m_fontStyle: 1
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6318688379436447516
GameObject:
m_ObjectHideFlags: 0
......@@ -7757,7 +8029,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -258, y: -175}
m_SizeDelta: {x: 25.08, y: 80}
m_SizeDelta: {x: 28.61, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4864414738801882128
CanvasRenderer:
......@@ -7855,7 +8127,7 @@ MonoBehaviour:
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 1
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &1158048270128944546
......@@ -8873,7 +9145,7 @@ RectTransform:
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -32.8, y: -197}
m_SizeDelta: {x: 84.24, y: 40}
m_SizeDelta: {x: 118.38, y: 40}
m_Pivot: {x: 1, y: 0.5}
--- !u!222 &625690748162369794
CanvasRenderer:
......@@ -8971,7 +9243,7 @@ MonoBehaviour:
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 1
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &6825001917881256632
......@@ -9000,12 +9272,12 @@ GameObject:
- component: {fileID: 294470447564594514}
- component: {fileID: 2092565866043828741}
m_Layer: 10
m_Name: Attribute
m_Name: AttrIcon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &6413801260752116702
RectTransform:
m_ObjectHideFlags: 0
......@@ -9017,7 +9289,8 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 6241427647688107251}
m_Father: {fileID: 3066443276045347272}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
......@@ -9053,7 +9326,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 9fef19921dba8c546945c682f316bf9f, type: 3}
m_Sprite: {fileID: 21300000, guid: b39796ee8b82c2c4fa0d8f4e3065221c, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
......@@ -10159,7 +10432,8 @@ MonoBehaviour:
cardArtPendulumSquare: {fileID: 8244292036139938167}
cardArtPendulumWidth: {fileID: 7334379875890140080}
cardFrame: {fileID: 1885856655422240730}
cardAttribute: {fileID: 2092565866043828741}
attrIcon: {fileID: 2092565866043828741}
attrRuby: {fileID: 8037950310371528646}
cardName: {fileID: 3005568520053170090}
cardDescription: {fileID: 7592007700039635399}
cardDescriptionPendulum: {fileID: 1690494689034192564}
......@@ -10186,7 +10460,8 @@ MonoBehaviour:
cardArtPendulumRD: {fileID: 1364242687660024648}
cardArtPendulumWidthRD: {fileID: 3455275049087405672}
cardFrameRD: {fileID: 3020129280770774433}
cardAttributeRD: {fileID: 4723610015367305094}
attrIconRD: {fileID: 4723610015367305094}
attrRubyRD: {fileID: 5179460145089239508}
cardLegendRD: {fileID: 4279821390112280628}
movePartsRD: {fileID: 648405027711718218}
cardNameRD: {fileID: 6520865441193079797}
......@@ -10549,6 +10824,7 @@ RectTransform:
- {fileID: 6201709804148143004}
- {fileID: 8964961042351579706}
- {fileID: 8323658851306124371}
- {fileID: 5664214079344940665}
- {fileID: 6337042855769428409}
- {fileID: 648405027711718218}
- {fileID: 1226207142981885254}
......
......@@ -66,6 +66,7 @@ MonoBehaviour:
cardNormal: {fileID: 2800000, guid: b552f9fd55ddc7443bfe07c7dbc13b1f, type: 3}
cardNormalLink: {fileID: 2800000, guid: 875fa980a3eb990419e51879fe12b281, type: 3}
cardNormalPendulum: {fileID: 2800000, guid: 71402236982fddd41ada1cc6a44e94bd, type: 3}
CardKiraNormal03_Millennium: {fileID: 2800000, guid: 71d6974fbeeed2c41901e87746fda0cb, type: 3}
attributeLight: {fileID: 21300000, guid: 157f899e40b269e4bb70d867aa084278, type: 3}
attributeDark: {fileID: 21300000, guid: 7976b559931f6e840863f07ea92c278a, type: 3}
attributeWater: {fileID: 21300000, guid: e639e2cab68115f499825b099bd456d5, type: 3}
......@@ -75,6 +76,15 @@ MonoBehaviour:
attributeDivine: {fileID: 21300000, guid: 435cb54b358980b42b0fabd5dbbce75a, type: 3}
attributeSpell: {fileID: 21300000, guid: 40e45967f7e2236429d838e90c3a19b3, type: 3}
attributeTrap: {fileID: 21300000, guid: be55c7575bca71b42b9f373fc0aecd01, type: 3}
attributeLight_Ruby: {fileID: 21300000, guid: b39796ee8b82c2c4fa0d8f4e3065221c, type: 3}
attributeDark_Ruby: {fileID: 21300000, guid: 7703e75c871bc1942b4f343bf9f81025, type: 3}
attributeWater_Ruby: {fileID: 21300000, guid: 042e2122887c9e449bc62ffc1b6c0e56, type: 3}
attributeFire_Ruby: {fileID: 21300000, guid: 44744a2e861f2c440a1ec28c0a3e6ea4, type: 3}
attributeEarth_Ruby: {fileID: 21300000, guid: 03a7053d66a52524e89c74cd6dea449c, type: 3}
attributeWind_Ruby: {fileID: 21300000, guid: f3a0375556492314e8e0b0c6c1ff51f4, type: 3}
attributeDivine_Ruby: {fileID: 21300000, guid: 8119e73337b1ae743ad4fdfc47eef220, type: 3}
attributeSpell_Ruby: {fileID: 21300000, guid: f7b330234c47da548ab1565d2dcf861c, type: 3}
attributeTrap_Ruby: {fileID: 21300000, guid: f2b244ed9403f0a4e88cea7e1d9f8487, type: 3}
typeNone: {fileID: 21300000, guid: cfdad45f88fa7a14eb79e8bbc3307670, type: 3}
typeCounter: {fileID: 21300000, guid: e8877c146699bad498e5c7c3e7d5c22f, type: 3}
typeField: {fileID: 21300000, guid: 29814486051bdaa4ebf24d6c941f462c, type: 3}
......@@ -490,10 +500,3 @@ MonoBehaviour:
gamepad_Start_PlayStation: {fileID: 21300000, guid: 114b48f9b41b6a542b167960a7d9ee17, type: 3}
gamepad_Select_Nintendo: {fileID: 21300000, guid: 0308e5cde23a96b4bbfaf28d59ec7835, type: 3}
gamepad_Start_Nintendo: {fileID: 21300000, guid: 86feb6744b88c6946a73edb7b90b2b1a, type: 3}
fxt_Arrow: {fileID: 2800000, guid: f7b877a77c7530543815b9cd571203ee, type: 3}
fxt_Arrow_002: {fileID: 2800000, guid: cc77cec8332acc04eb877183efcec954, type: 3}
fxt_Arrow_003: {fileID: 2800000, guid: 89ee305204be7844abd1fc33fd0e8db7, type: 3}
fxt_Arrow_004: {fileID: 2800000, guid: 4c88d66a9e295ce49afb8c45c5fd54e9, type: 3}
fxt_msk_005: {fileID: 2800000, guid: fc78254fef4709843a3b17422a6bf171, type: 3}
CardKiraNormal03_Millennium: {fileID: 2800000, guid: 71d6974fbeeed2c41901e87746fda0cb, type: 3}
CardMask001: {fileID: 2800000, guid: 90c6e35ef4304f289c279037152a03b7, type: 3}
......@@ -4,6 +4,7 @@ using MDPro3.Utility;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using TMPro;
using UnityEngine;
using UnityEngine.AddressableAssets;
......@@ -46,7 +47,8 @@ namespace MDPro3
public RawImage cardArtPendulumSquare;
public RawImage cardArtPendulumWidth;
public Image cardFrame;
public Image cardAttribute;
public Image attrIcon;
public TextMeshProUGUI attrRuby;
public TextMeshProUGUI cardName;
public Text cardDescription;
public Text cardDescriptionPendulum;
......@@ -75,7 +77,8 @@ namespace MDPro3
public RawImage cardArtPendulumRD;
public RawImage cardArtPendulumWidthRD;
public Image cardFrameRD;
public Image cardAttributeRD;
public Image attrIconRD;
public TextMeshProUGUI attrRubyRD;
public GameObject cardLegendRD;
public RectTransform movePartsRD;
public TextMeshProUGUI cardNameRD;
......@@ -164,6 +167,8 @@ namespace MDPro3
cardNameRD.font = tmpFont;
spellType.font = tmpFont;
cardTypeRD.font = tmpFont;
attrRuby.font = tmpFont;
attrRubyRD.font = tmpFont;
}
#endregion
......@@ -184,6 +189,8 @@ namespace MDPro3
if (currentFontLanguage == language)
return;
currentFontLanguage = language;
LoadText(language);
if (language == Language.SimplifiedChinese)
{
cardName.fontSize = 50f;
......@@ -279,12 +286,13 @@ namespace MDPro3
cardNameRD.GetComponent<RectTransform>().localScale = new Vector3(cardNameLabelWidthRushDuel / nameWidth, 1f, 1f);
cardNameRD.color = Color.white;
attrRubyRD.text = GetAttributeText(data);
cardArtRD.gameObject.SetActive(false);
cardArtPendulumRD.gameObject.SetActive(false);
cardArtPendulumWidthRD.gameObject.SetActive(false);
cardFrameRD.gameObject.SetActive(false);
cardAttributeRD.gameObject.SetActive(false);
attrIconRD.gameObject.SetActive(false);
cardLegendRD.SetActive(false);
}
......@@ -301,6 +309,7 @@ namespace MDPro3
cardName.GetComponent<RectTransform>().localScale = new Vector3(cardNameLabelWidthOCG / nameWidth, 1, 1);
cardName.color = Color.white;
attrRuby.text = GetAttributeText(data);
cardFrame.gameObject.SetActive(false);
cardArt.gameObject.SetActive(false);
......@@ -310,7 +319,7 @@ namespace MDPro3
levels.SetActive(false);
ranks.SetActive(false);
rank13.SetActive(false);
cardAttribute.gameObject.SetActive(false);
attrIcon.gameObject.SetActive(false);
levelsMask.SetActive(false);
ranksMask.SetActive(false);
rank13Mask.SetActive(false);
......@@ -393,7 +402,7 @@ namespace MDPro3
cardArtPendulumWidthRD.gameObject.SetActive(false);
cardFrameRD.gameObject.SetActive(true);
cardAttributeRD.gameObject.SetActive(true);
attrIconRD.gameObject.SetActive(true);
cardDescriptionPendulumRD.text = string.Empty;
lScaleRD.text = string.Empty;
rScaleRD.text = string.Empty;
......@@ -409,7 +418,8 @@ namespace MDPro3
movePartsRD.gameObject.SetActive(true);
movePartsRD.anchoredPosition = Vector2.zero;
cardAttributeRD.sprite = CardDescription.GetCardAttribute(data, true).sprite;
attrIconRD.sprite = TextureManager.container.GetCardAttributeIcon(data, true);
attrRubyRD.text = GetAttributeText(data);
cardTypeRD.text = data.GetTypeForRushDuelRender();
if (data.HasType(CardType.Pendulum))
......@@ -571,7 +581,7 @@ namespace MDPro3
cardArtPendulumWidth.gameObject.SetActive(false);
cardFrame.gameObject.SetActive(true);
cardAttribute.gameObject.SetActive(true);
attrIcon.gameObject.SetActive(true);
cardDescriptionPendulum.text = string.Empty;
lScale.text = string.Empty;
rScale.text = string.Empty;
......@@ -590,7 +600,8 @@ namespace MDPro3
linkCount.gameObject.SetActive(false);
spellType.text = string.Empty;
cardDescription.GetComponent<RectTransform>().sizeDelta = new Vector2(590f, 160f);
cardAttribute.sprite = CardDescription.GetCardAttribute(data, true).sprite;
attrIcon.sprite = TextureManager.container.GetCardAttributeIcon(data, true);
attrRuby.text = GetAttributeText(data);
if (data.HasType(CardType.Pendulum))
{
......@@ -987,5 +998,71 @@ namespace MDPro3
#endregion
#region IDS_SYS
private readonly Dictionary<string, string> idsSysText = new();
private void LoadText(string language)
{
idsSysText.Clear();
var path = $"{Program.PATH_LOCALES}{language}/IDS/IDS_SYS.txt";
if (!File.Exists(path))
return;
var text = File.ReadAllText(path);
var lines = text.Replace("\r", string.Empty).Split('\n');
string currentKey = null;
string currentValue = null;
foreach (var line in lines)
{
var match = Regex.Match(line, @"(?<=\[IDS_SYS\.).*?(?=\])");
if (match.Success)
{
if (currentValue != null)
idsSysText[currentKey] = currentValue;
currentKey = match.Value;
}
else
currentValue = line;
}
if(currentKey != null && currentValue != null)
idsSysText[currentKey] = currentValue;
}
private string GetIdsSysText(string key)
{
if (idsSysText.TryGetValue(key, out var value))
return value;
return string.Empty;
}
private string GetAttributeText(Card data)
{
if (data.HasType(CardType.Spell))
return GetIdsSysText("ATTR_MAGIC_RUBY");
else if (data.HasType(CardType.Trap))
return GetIdsSysText("ATTR_TRAP_RUBY");
else if (data.IsAttribute(CardAttribute.Light))
return GetIdsSysText("ATTR_LIGHT_RUBY");
else if(data.IsAttribute(CardAttribute.Dark))
return GetIdsSysText("ATTR_DARK_RUBY");
else if (data.IsAttribute(CardAttribute.Water))
return GetIdsSysText("ATTR_WATER_RUBY");
else if (data.IsAttribute(CardAttribute.Fire))
return GetIdsSysText("ATTR_FIRE_RUBY");
else if (data.IsAttribute(CardAttribute.Earth))
return GetIdsSysText("ATTR_EARTH_RUBY");
else if (data.IsAttribute(CardAttribute.Wind))
return GetIdsSysText("ATTR_WIND_RUBY");
else if (data.IsAttribute(CardAttribute.Divine))
return GetIdsSysText("ATTR_GOD_RUBY");
else
return string.Empty;
}
#endregion
}
}
......@@ -149,7 +149,7 @@ namespace MDPro3
manager.GetElement<TextMeshProUGUI>("TextDescription").fontSize = 25f * Config.GetUIScale(1.35f);
bool isMonster = WhetherCardIsMonster(data);
bool isMonster = CardIsMonster(data);
if (isMonster)
{
manager.GetElement("PropertyMonster").SetActive(true);
......@@ -270,7 +270,7 @@ namespace MDPro3
manager.GetElement<Image>("Limit").sprite = TextureManager.container.banned;
}
public static bool WhetherCardIsMonster(Card data)
public static bool CardIsMonster(Card data)
{
var origin = CardsManager.Get(data.Id);
if (!origin.HasType(CardType.Monster))
......@@ -297,33 +297,41 @@ namespace MDPro3
public bool notOriginal;
}
public static AttributeSprite GetCardAttribute(Card data, bool render = false)
private static AttributeSprite GetCardAttribute(Card data)
{
var origin = CardsManager.Get(data.Id);
var returnValue = new AttributeSprite();
bool isMonster = WhetherCardIsMonster(data);
bool isMonster = CardIsMonster(data);
if (isMonster)
{
if (!origin.HasType(CardType.Monster))
{
returnValue.sprite = TextureManager.GetCardAttributeIcon(data.Attribute, data.Id, render);
returnValue.notOriginal = true;
returnValue.sprite = TextureManager.container.GetCardAttributeIcon(data);
}
else
{
if ((data.Attribute ^ origin.Attribute) == 0)
if (origin.HasType(CardType.Trap))
{
returnValue.notOriginal = true;
returnValue.sprite = TextureManager.container.GetCardAttributeIcon(data);
}
else
{
if (data.Attribute == origin.Attribute)
{
returnValue.sprite = TextureManager.GetCardAttributeIcon(data.Attribute, data.Id, render);
returnValue.notOriginal = false;
returnValue.sprite = TextureManager.container.GetCardAttributeIcon(data);
}
else
{
returnValue.notOriginal = true;
if (data.Attribute != origin.Attribute)
returnValue.sprite = TextureManager.GetCardAttributeIcon(data.Attribute, data.Id, render);
else
returnValue.sprite = TextureManager.GetCardAttributeIcon(data.Attribute - origin.Attribute, data.Id, render);
var newData = data.Clone();
newData.Attribute = data.Attribute ^ origin.Attribute;
returnValue.sprite = TextureManager.container.GetCardAttributeIcon(newData);
}
}
}
}
......@@ -352,25 +360,13 @@ namespace MDPro3
}
else
{
returnValue.notOriginal = true;
if (data.HasType(CardType.Spell))
{
returnValue.sprite = TextureManager.container.attributeSpell;
returnValue.notOriginal = true;
}
else
{
returnValue.sprite = TextureManager.container.attributeTrap;
returnValue.notOriginal = true;
}
}
}
if (NeedRushDuelStyle(data.Id) && render)
{
if (returnValue.sprite == TextureManager.container.attributeSpell)
returnValue.sprite = TextureManager.container.rd_Attribute_Spell;
else if (returnValue.sprite == TextureManager.container.attributeTrap)
returnValue.sprite = TextureManager.container.rd_Attribute_Trap;
}
return returnValue;
}
......
......@@ -409,7 +409,7 @@ namespace MDPro3
var origin = render ? CardsManager.GetRenderCard(data.Id) : CardsManager.Get(data.Id);
try
{
if (CardDescription.WhetherCardIsMonster(data))
if (CardDescription.CardIsMonster(data))
{
if (data.Race != origin.Race)
re = bracketLeft + "<color=#FD3E08>" + InterString.Get("[?]族", Race(data.Race)) + "</color>" + Program.STRING_SLASH + SecondType(data.Type) + bracketRight;
......
......@@ -206,25 +206,6 @@ namespace MDPro3
return container.typeNone;
}
public static Sprite GetCardAttributeIcon(int attribute, int code, bool render = false)
{
bool rushDuel = CardRenderer.NeedRushDuelStyle(code);
if ((attribute & (uint)CardAttribute.Light) > 0)
return rushDuel && render ? container.rd_Attribute_Light : container.attributeLight;
else if ((attribute & (uint)CardAttribute.Dark) > 0)
return rushDuel && render ? container.rd_Attribute_Dark : container.attributeDark;
else if ((attribute & (uint)CardAttribute.Water) > 0)
return rushDuel && render ? container.rd_Attribute_Water : container.attributeWater;
else if ((attribute & (uint)CardAttribute.Fire) > 0)
return rushDuel && render ? container.rd_Attribute_Fire : container.attributeFire;
else if ((attribute & (uint)CardAttribute.Earth) > 0)
return rushDuel && render ? container.rd_Attribute_Earth : container.attributeEarth;
else if ((attribute & (uint)CardAttribute.Wind) > 0)
return rushDuel && render ? container.rd_Attribute_Wind : container.attributeWind;
else
return rushDuel && render ? container.rd_Attribute_Divine : container.attributeDivine;
}
public static Sprite GetCardRaceIcon(int race)
{
if ((race & (uint)CardRace.Warrior) > 0)
......
using MDPro3;
using MDPro3.Duel.YGOSharp;
using MDPro3.UI;
using MDPro3.Utility;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MDPro3.UI;
namespace MDPro3
{
......@@ -82,6 +83,15 @@ namespace MDPro3
public Sprite attributeDivine;
public Sprite attributeSpell;
public Sprite attributeTrap;
public Sprite attributeLight_Ruby;
public Sprite attributeDark_Ruby;
public Sprite attributeWater_Ruby;
public Sprite attributeFire_Ruby;
public Sprite attributeEarth_Ruby;
public Sprite attributeWind_Ruby;
public Sprite attributeDivine_Ruby;
public Sprite attributeSpell_Ruby;
public Sprite attributeTrap_Ruby;
[Header("CardType")]
public Sprite typeNone;
......@@ -787,27 +797,29 @@ namespace MDPro3
public Sprite GetCardAttributeIcon(Card data, bool render = false)
{
bool rushDuel = CardRenderer.NeedRushDuelStyle(data.Id);
bool needRuby = render && !rushDuel && Language.AttributeNeedRuby();
if (data.HasType(CardType.Monster))
{
if ((data.Attribute & (uint)CardAttribute.Light) > 0)
return rushDuel && render ? rd_Attribute_Light : attributeLight;
return rushDuel && render ? rd_Attribute_Light : needRuby ? attributeLight_Ruby : attributeLight;
else if ((data.Attribute & (uint)CardAttribute.Dark) > 0)
return rushDuel && render ? rd_Attribute_Dark : attributeDark;
return rushDuel && render ? rd_Attribute_Dark : needRuby ? attributeDark_Ruby : attributeDark;
else if ((data.Attribute & (uint)CardAttribute.Water) > 0)
return rushDuel && render ? rd_Attribute_Water : attributeWater;
return rushDuel && render ? rd_Attribute_Water : needRuby ? attributeWater_Ruby : attributeWater;
else if ((data.Attribute & (uint)CardAttribute.Fire) > 0)
return rushDuel && render ? rd_Attribute_Fire : attributeFire;
return rushDuel && render ? rd_Attribute_Fire : needRuby ? attributeFire_Ruby : attributeFire;
else if ((data.Attribute & (uint)CardAttribute.Earth) > 0)
return rushDuel && render ? rd_Attribute_Earth : attributeEarth;
return rushDuel && render ? rd_Attribute_Earth : needRuby ? attributeEarth_Ruby : attributeEarth;
else if ((data.Attribute & (uint)CardAttribute.Wind) > 0)
return rushDuel && render ? rd_Attribute_Wind : attributeWind;
return rushDuel && render ? rd_Attribute_Wind : needRuby ? attributeWind_Ruby : attributeWind;
else
return rushDuel && render ? rd_Attribute_Divine : attributeDivine;
return rushDuel && render ? rd_Attribute_Divine : needRuby ? attributeDivine_Ruby : attributeDivine;
}
else if (data.HasType(CardType.Spell))
return attributeSpell;
return rushDuel && render ? rd_Attribute_Spell : needRuby ? attributeSpell_Ruby : attributeSpell;
else
return attributeTrap;
return rushDuel && render ? rd_Attribute_Trap : needRuby ? attributeTrap_Ruby : attributeTrap;
}
public Sprite GetCardSpellTrapTypeIcon(Card data)
......
......@@ -48,7 +48,6 @@ namespace MDPro3
public static void CallVideoCardConfigChangeEvent()
{
Debug.Log("CallVideoCardConfigChangeEvent");
OnVideoCardConfigChange?.Invoke();
}
}
......
using System.Collections;
using Cysharp.Threading.Tasks;
using MDPro3.Duel.YGOSharp;
using MDPro3.Utility;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using MDPro3.Utility;
using MDPro3.Duel.YGOSharp;
using UnityEngine;
using UnityEngine.AddressableAssets;
using Cysharp.Threading.Tasks;
using System.Threading;
namespace MDPro3
{
......@@ -240,6 +238,9 @@ namespace MDPro3
mat.SetTexture("_KiraMask", TextureManager.container.cardKiraMaskPendulum);
mat.SetTexture("_MainNormal", TextureManager.container.cardNormalPendulum);
}
if (Language.AttributeNeedRuby())
mat.SetVector("_AttributeSize_Pos", new Vector4(9.85f, 13.96f, -3.7f, -5.81f));
}
if (rarity == CardRarity.Rarity.Millennium)
......
......@@ -118,5 +118,13 @@ namespace MDPro3.Utility
return MasterDuelPortuguese;
return language;
}
public static bool AttributeNeedRuby()
{
var language = GetCardConfig();
if (language == SimplifiedChinese || language == TraditionalChinese)
return false;
return true;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment