Commit 04a89db7 authored by SherryChaos's avatar SherryChaos

genesys deck build

parent 2ccf0c0c
...@@ -59,4 +59,5 @@ Data/ur.ydk ...@@ -59,4 +59,5 @@ Data/ur.ydk
/Assets/Spine/ /Assets/Spine/
/Assets/SpineWallpaper/ /Assets/SpineWallpaper/
/Assets/StreamingAssets/ /Assets/StreamingAssets/
/Assets/Wallpaper/ /Assets/Wallpaper/
\ No newline at end of file Data/lflist_genesys.conf
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
fileFormatVersion: 2
guid: 8efa02b7086d6b840bfc2739a2e5e9b1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This source diff could not be displayed because it is too large. You can view the blob instead.
fileFormatVersion: 2
guid: c8b55b8100101c346ae54301da219210
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This source diff could not be displayed because it is too large. You can view the blob instead.
fileFormatVersion: 2
guid: 3f6be77aa7e0fd945b3974b2ecc5dc23
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This source diff could not be displayed because it is too large. You can view the blob instead.
fileFormatVersion: 2
guid: d4403fd2f98246942bb4edbb4b732ea1
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using MDPro3.UI;
using UnityEditor;
using UnityEditor.UI;
using UnityEngine;
[CustomEditor(typeof(ClampedContentSizeFitter))]
public class ClampedContentSizeFitterEditor : ContentSizeFitterEditor
{
SerializedProperty m_MinWidth;
SerializedProperty m_MaxWidth;
protected override void OnEnable()
{
base.OnEnable();
m_MinWidth = serializedObject.FindProperty("m_MinWidth");
m_MaxWidth = serializedObject.FindProperty("m_MaxWidth");
}
public override void OnInspectorGUI()
{
serializedObject.Update();
EditorGUILayout.PropertyField(m_MinWidth, new GUIContent("Min Width"));
EditorGUILayout.PropertyField(m_MaxWidth, new GUIContent("Max Width"));
serializedObject.ApplyModifiedProperties();
base.OnInspectorGUI(); // 绘制原生设置
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 00e11161ead564f408a263b8e8a422eb
\ No newline at end of file
...@@ -156,7 +156,10 @@ namespace MDPro3 ...@@ -156,7 +156,10 @@ namespace MDPro3
Program.SetRoot(); Program.SetRoot();
_ = ABLoader.CacheMasterDuelBundles(); _ = ABLoader.CacheMasterDuelBundles();
while (!ABLoader.mdCached) while (!ABLoader.mdCached)
{
progressBar.value = ABLoader.mdCachedProgress;
yield return null; yield return null;
}
Config.Initialize(Program.PATH_CONFIG); Config.Initialize(Program.PATH_CONFIG);
Config.Set("Version", Application.version[..5]); Config.Set("Version", Application.version[..5]);
......
...@@ -420,6 +420,7 @@ namespace MDPro3 ...@@ -420,6 +420,7 @@ namespace MDPro3
#region MasterDuel #region MasterDuel
public static bool mdCached; public static bool mdCached;
public static float mdCachedProgress;
private static AssetBundle mdBundleDuel; private static AssetBundle mdBundleDuel;
private static AssetBundle mdBundleMaterials; private static AssetBundle mdBundleMaterials;
...@@ -428,11 +429,17 @@ namespace MDPro3 ...@@ -428,11 +429,17 @@ namespace MDPro3
public static async UniTask CacheMasterDuelBundles() public static async UniTask CacheMasterDuelBundles()
{ {
mdCachedProgress = 0;
await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/shaders"); await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/shaders");
mdCachedProgress = 0.2f;
mdBundleMaterials = await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/materials"); mdBundleMaterials = await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/materials");
mdCachedProgress = 0.4f;
mdBundleSprites = await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/sprites"); mdBundleSprites = await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/sprites");
mdCachedProgress = 0.6f;
mdBundleTextures = await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/textures"); mdBundleTextures = await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/textures");
mdCachedProgress = 0.8f;
mdBundleDuel = await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/duel"); mdBundleDuel = await CacheFromFileAsync(Program.root + "MasterDuel/Built-in/duel");
mdCachedProgress = 1f;
mdCached = true; mdCached = true;
} }
......
...@@ -21,7 +21,7 @@ namespace MDPro3.Net ...@@ -21,7 +21,7 @@ namespace MDPro3.Net
const string loginUrl = "https://sapi.moecube.com:444/accounts/signin"; const string loginUrl = "https://sapi.moecube.com:444/accounts/signin";
const string authUrl = "https://sapi.moecube.com:444/accounts/authUser"; const string authUrl = "https://sapi.moecube.com:444/accounts/authUser";
const string appsUrl = "https://sapi.moecube.com:444/release/update/apps.json"; const string appsUrl = "https://cdntx.moecube.com/apps.json";
const string expUrl = "https://sapi.moecube.com:444/ygopro/arena/user?username="; const string expUrl = "https://sapi.moecube.com:444/ygopro/arena/user?username=";
const string matchUrl = "https://sapi.moecube.com:444/ygopro/match"; const string matchUrl = "https://sapi.moecube.com:444/ygopro/match";
const string userUrl = "https://sapi.moecube.com:444/accounts/users/{username}.json"; const string userUrl = "https://sapi.moecube.com:444/accounts/users/{username}.json";
......
using Cysharp.Threading.Tasks;
using System;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
namespace MDPro3.Net
{
public static class OnlineService
{
public static void Initialize()
{
_ = InitializeGenesysLflist();
}
#region Genesys lflist
private const string URL_GENESYS_LFLIST = "https://cdntx.moecube.com/ygopro-genesys/lflist.conf";
private const string PATH_GENESYS_LFLIST = "Data/lflist_genesys.conf";
private static readonly List<int> genesysBannedCards = new();
private static readonly List<GenesysPoint> genesysPoints = new();
private static async UniTask InitializeGenesysLflist()
{
var eTag = await GetETagAsync(URL_GENESYS_LFLIST);
if (!string.IsNullOrEmpty(eTag))
{
var configTag = Config.Get(GetLocalETagKey(URL_GENESYS_LFLIST), Config.EMPTY_STRING);
if(!string.Equals(eTag, configTag, StringComparison.Ordinal))
{
Program.Debug("Update Genesys Lflist.");
await DownloadGenesysLflist(eTag);
}
else
{
Program.Debug("Genesys Lflist do not need update.");
}
}
ParseGenesysLflist();
}
private static bool GenesysRequiresDownload()
{
if (!File.Exists(PATH_GENESYS_LFLIST))
return true;
var lastWriteTime = File.GetLastWriteTimeUtc(PATH_GENESYS_LFLIST);
var now = DateTime.UtcNow;
var updateTime = new DateTime(now.Year, now.Month, now.Day, 20, 0, 0, DateTimeKind.Utc);
return now > updateTime && lastWriteTime < updateTime;
}
private static async UniTask DownloadGenesysLflist(string ETag)
{
using var request = UnityWebRequest.Get(URL_GENESYS_LFLIST);
request.timeout = 15;
await request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
File.WriteAllText(PATH_GENESYS_LFLIST, request.downloadHandler.text);
Config.Set(GetLocalETagKey(URL_GENESYS_LFLIST), ETag);
Config.Save();
}
else
MessageManager.Cast(InterString.Get("下载Genesys禁卡表失败。"));
}
private static void ParseGenesysLflist()
{
if (!File.Exists(PATH_GENESYS_LFLIST))
return;
try
{
var lines = File.ReadAllLines(PATH_GENESYS_LFLIST);
var currentType = string.Empty;
foreach(var rawLine in lines)
{
var line = rawLine.Trim();
if(string.IsNullOrEmpty(line) || line.StartsWith("#")) continue;
if (line.StartsWith("$"))
{
currentType = line;
continue;
}
var parts = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
if(parts.Length == 2 && parts[1] == "0")
{
if (int.TryParse(parts[0], out int code))
genesysBannedCards.Add(code);
}
else if(parts.Length >= 3)
{
var commentIndex = Array.FindIndex(parts, p => p.StartsWith("--"));
var dataLength = commentIndex > 0 ? commentIndex : parts.Length;
if(dataLength >= 3 && int.TryParse(parts[0], out var code))
{
var gp = new GenesysPoint
{
code = code,
banType = currentType,
};
if(int.TryParse(parts[2], out var result))
gp.point = result;
else
gp.point = 0;
genesysPoints.Add(gp);
}
}
}
}
catch (Exception e)
{
Program.Debug(e.Message);
}
}
public static int GetGenesysPoint(int code)
{
if (genesysBannedCards.Contains(code))
return -1;
foreach(var gp in genesysPoints)
if(gp.code == code)
return gp.point;
return 0;
}
/// <summary>
/// color for Genesys Points one card score
/// </summary>
/// <param name="gp"></param>
/// <returns></returns>
public static Color GetGenesysPointColor(int gp)
{
if (gp < 0)
return Color.red;
if (gp == 0)
return Color.gray;
if (gp < 10)
return Color.green;
if (gp < 50)
return Color.yellow;
if (gp < 100)
return Color.magenta;
return Color.red;
}
/// <summary>
/// color for Genesys Points total score
/// </summary>
/// <param name="gp"></param>
/// <returns></returns>
public static Color GetGenesysPointsColor(int gp)
{
if (gp < 100)
return Color.white;
return Color.red;
}
#endregion
#region Online Tools
private static string GetLocalETagKey(string url) => $"ETag_{url.GetHashCode()}";
public static async UniTask<string> GetETagAsync(string url)
{
using var headRequest = UnityWebRequest.Head(url);
await headRequest.SendWebRequest();
if(headRequest.result != UnityWebRequest.Result.Success)
{
Program.Debug($"HEAD({url})请求失败:{headRequest.error}");
return null;
}
var onlineETag = headRequest.GetResponseHeader("ETag")?.Trim();
if (string.IsNullOrEmpty(onlineETag))
{
Program.Debug($"未找到ETag({url}),服务器可能未启用缓存");
return null;
}
return onlineETag;
}
#endregion
}
public struct GenesysPoint
{
public int code;
public string banType;
public int point;
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 06e282f1417d98849a3cff625ab0a8ed
\ No newline at end of file
...@@ -111,6 +111,8 @@ namespace MDPro3 ...@@ -111,6 +111,8 @@ namespace MDPro3
Screen.sleepTimeout = SleepTimeout.NeverSleep; Screen.sleepTimeout = SleepTimeout.NeverSleep;
OnlineService.Initialize();
if(!ABLoader.mdCached) if(!ABLoader.mdCached)
await ABLoader.CacheMasterDuelBundles(); await ABLoader.CacheMasterDuelBundles();
...@@ -349,6 +351,13 @@ namespace MDPro3 ...@@ -349,6 +351,13 @@ namespace MDPro3
#region Tools #region Tools
public static void Debug(string text)
{
#if UNITY_EDITOR
UnityEngine.Debug.Log(text);
#endif
}
public void ShiftToServant(Servant.Servant servant) public void ShiftToServant(Servant.Servant servant)
{ {
currentServant = servant; currentServant = servant;
......
...@@ -7,11 +7,28 @@ using UnityEngine.EventSystems; ...@@ -7,11 +7,28 @@ using UnityEngine.EventSystems;
using UnityEngine.UI; using UnityEngine.UI;
using MDPro3.Servant; using MDPro3.Servant;
using MDPro3.UI.ServantUI; using MDPro3.UI.ServantUI;
using MDPro3.Net;
namespace MDPro3.UI namespace MDPro3.UI
{ {
public class SelectionButton_CardInCollection : SelectionButton, IBeginDragHandler, IEndDragHandler, IDragHandler public class SelectionButton_CardInCollection : SelectionButton, IBeginDragHandler, IEndDragHandler, IDragHandler
{ {
#region Elements
private const string LABEL_GO_CARD_POINT = "CardPointRoot";
private GameObject m_CardPoint;
private GameObject CardPoint =>
m_CardPoint = m_CardPoint != null ? m_CardPoint
: Manager.GetElement(LABEL_GO_CARD_POINT);
private const string LABEL_TXT_CARD_POINT = "TextCardPointValue";
private TextMeshProUGUI m_TextCardPoint;
private TextMeshProUGUI TextCardPoint =>
m_TextCardPoint = m_TextCardPoint != null ? m_TextCardPoint
: Manager.GetElement<TextMeshProUGUI>(LABEL_TXT_CARD_POINT);
#endregion
private int _cardCode; private int _cardCode;
public int CardCode public int CardCode
{ {
...@@ -29,6 +46,7 @@ namespace MDPro3.UI ...@@ -29,6 +46,7 @@ namespace MDPro3.UI
} }
public Card card; public Card card;
public CardCollectionView cardCollectionView; public CardCollectionView cardCollectionView;
public int genesysPoint;
private CardRawImageHandler m_ImageHandler; private CardRawImageHandler m_ImageHandler;
private CardRawImageHandler ImageHandler => private CardRawImageHandler ImageHandler =>
...@@ -131,6 +149,13 @@ namespace MDPro3.UI ...@@ -131,6 +149,13 @@ namespace MDPro3.UI
Manager.GetElement<TextMeshProUGUI>("TextLink").text = card.GetLinkCount().ToString(); Manager.GetElement<TextMeshProUGUI>("TextLink").text = card.GetLinkCount().ToString();
Manager.GetElement<TextMeshProUGUI>("TextPendulumScale").text = card.LScale.ToString(); Manager.GetElement<TextMeshProUGUI>("TextPendulumScale").text = card.LScale.ToString();
genesysPoint = OnlineService.GetGenesysPoint(card.GetOriginalID());
var text = genesysPoint.ToString();
if (genesysPoint < 0)
text = "X";
TextCardPoint.text = text;
TextCardPoint.color = OnlineService.GetGenesysPointColor(genesysPoint);
RefreshIcons(); RefreshIcons();
RefreshCountIcon(); RefreshCountIcon();
} }
...@@ -152,6 +177,8 @@ namespace MDPro3.UI ...@@ -152,6 +177,8 @@ namespace MDPro3.UI
Manager.GetElement("IconPendulumScale").SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Detail Manager.GetElement("IconPendulumScale").SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Detail
&& card.HasType(CardType.Pendulum)); && card.HasType(CardType.Pendulum));
Manager.GetElement("IconPool").SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Pool); Manager.GetElement("IconPool").SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Pool);
CardPoint.SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Genesys);
} }
public void RefreshCountIcon() public void RefreshCountIcon()
......
...@@ -11,6 +11,7 @@ using static MDPro3.UI.DeckView; ...@@ -11,6 +11,7 @@ using static MDPro3.UI.DeckView;
using MDPro3.Servant; using MDPro3.Servant;
using MDPro3.UI.ServantUI; using MDPro3.UI.ServantUI;
using MDPro3.UI.PropertyOverride; using MDPro3.UI.PropertyOverride;
using MDPro3.Net;
namespace MDPro3.UI namespace MDPro3.UI
{ {
...@@ -120,6 +121,18 @@ namespace MDPro3.UI ...@@ -120,6 +121,18 @@ namespace MDPro3.UI
m_TextPickupCursor = m_TextPickupCursor != null ? m_TextPickupCursor m_TextPickupCursor = m_TextPickupCursor != null ? m_TextPickupCursor
: Manager.GetNestedElement<TextMeshProUGUI>(LABEL_TXT_PICKUP_CURSOR); : Manager.GetNestedElement<TextMeshProUGUI>(LABEL_TXT_PICKUP_CURSOR);
private const string LABEL_GO_CARD_POINT = "CardPointRoot";
private GameObject m_CardPoint;
private GameObject CardPoint =>
m_CardPoint = m_CardPoint != null ? m_CardPoint
: Manager.GetElement(LABEL_GO_CARD_POINT);
private const string LABEL_TXT_CARD_POINT = "TextCardPointValue";
private TextMeshProUGUI m_TextCardPoint;
private TextMeshProUGUI TextCardPoint =>
m_TextCardPoint = m_TextCardPoint != null ? m_TextCardPoint
: Manager.GetElement<TextMeshProUGUI>(LABEL_TXT_CARD_POINT);
#endregion #endregion
[Header("SelectionButton CardInDeck")] [Header("SelectionButton CardInDeck")]
...@@ -143,6 +156,7 @@ namespace MDPro3.UI ...@@ -143,6 +156,7 @@ namespace MDPro3.UI
public DeckLocation location; public DeckLocation location;
private Vector3 dragScale = new(1.7f, 1.7f, 1f); private Vector3 dragScale = new(1.7f, 1.7f, 1f);
private RectTransform child; private RectTransform child;
public int genesysPoint;
protected override void Awake() protected override void Awake()
{ {
...@@ -277,6 +291,13 @@ namespace MDPro3.UI ...@@ -277,6 +291,13 @@ namespace MDPro3.UI
TextLink.text = Card.GetLinkCount().ToString(); TextLink.text = Card.GetLinkCount().ToString();
TextPendulumScale.text = Card.LScale.ToString(); TextPendulumScale.text = Card.LScale.ToString();
genesysPoint = OnlineService.GetGenesysPoint(Card.GetOriginalID());
var text = genesysPoint.ToString();
if (genesysPoint < 0)
text = "X";
TextCardPoint.text = text;
TextCardPoint.color = OnlineService.GetGenesysPointColor(genesysPoint);
RefreshIcons(); RefreshIcons();
} }
...@@ -299,6 +320,8 @@ namespace MDPro3.UI ...@@ -299,6 +320,8 @@ namespace MDPro3.UI
IconPendulumScale.gameObject.SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Detail IconPendulumScale.gameObject.SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Detail
&& Card.HasType(CardType.Pendulum)); && Card.HasType(CardType.Pendulum));
IconPool.gameObject.SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Pool); IconPool.gameObject.SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Pool);
CardPoint.SetActive(DeckEditorUI.cardInfoType == DeckEditorUI.CardInfoType.Genesys);
IconLimit.gameObject.SetActive(DeckEditorUI.cardInfoType != DeckEditorUI.CardInfoType.Genesys);
} }
else if (Program.instance.currentServant == Program.instance.deckBrowser) else if (Program.instance.currentServant == Program.instance.deckBrowser)
{ {
...@@ -311,6 +334,7 @@ namespace MDPro3.UI ...@@ -311,6 +334,7 @@ namespace MDPro3.UI
IconLink.gameObject.SetActive(false); IconLink.gameObject.SetActive(false);
IconPendulumScale.gameObject.SetActive(false); IconPendulumScale.gameObject.SetActive(false);
IconPool.gameObject.SetActive(false); IconPool.gameObject.SetActive(false);
CardPoint.SetActive(false);
} }
} }
...@@ -490,7 +514,6 @@ namespace MDPro3.UI ...@@ -490,7 +514,6 @@ namespace MDPro3.UI
#endregion #endregion
private int GetIndex() private int GetIndex()
{ {
int index = 0; int index = 0;
......
...@@ -2,11 +2,47 @@ using UnityEngine; ...@@ -2,11 +2,47 @@ using UnityEngine;
using UnityEngine.Events; using UnityEngine.Events;
using MDPro3.Servant; using MDPro3.Servant;
using MDPro3.UI.ServantUI; using MDPro3.UI.ServantUI;
using TMPro;
using MDPro3.Net;
namespace MDPro3.UI namespace MDPro3.UI
{ {
public class SelectionButton_CardInfoType : SelectionButton public class SelectionButton_CardInfoType : SelectionButton
{ {
#region Elements
private const string LABEL_GO_INFO0 = "IconInfoSwitching0";
private GameObject m_Info0;
private GameObject Info0 =>
m_Info0 = m_Info0 != null ? m_Info0
: Manager.GetElement(LABEL_GO_INFO0);
private const string LABEL_GO_INFO1 = "IconInfoSwitching1";
private GameObject m_Info1;
private GameObject Info1 =>
m_Info1 = m_Info1 != null ? m_Info1
: Manager.GetElement(LABEL_GO_INFO1);
private const string LABEL_GO_INFO2 = "IconInfoSwitching2";
private GameObject m_Info2;
private GameObject Info2 =>
m_Info2 = m_Info2 != null ? m_Info2
: Manager.GetElement(LABEL_GO_INFO2);
private const string LABEL_GO_INFO3 = "IconInfoSwitching3";
private GameObject m_Info3;
private GameObject Info3 =>
m_Info3 = m_Info3 != null ? m_Info3
: Manager.GetElement(LABEL_GO_INFO3);
private const string LABEL_TXT_GP = "TextGenesysPoint";
private TextMeshProUGUI m_TextGP;
private TextMeshProUGUI TextGP =>
m_TextGP = m_TextGP != null ? m_TextGP
: Manager.GetElement<TextMeshProUGUI>(LABEL_TXT_GP);
#endregion
public static SelectionButton_CardInfoType instance; public static SelectionButton_CardInfoType instance;
protected override void Awake() protected override void Awake()
...@@ -19,31 +55,26 @@ namespace MDPro3.UI ...@@ -19,31 +55,26 @@ namespace MDPro3.UI
private void ClickEvent() private void ClickEvent()
{ {
var type = (DeckEditorUI.CardInfoType)(((int)DeckEditorUI.cardInfoType + 1) % 3); var type = (DeckEditorUI.CardInfoType)(((int)DeckEditorUI.cardInfoType + 1) % 4);
Program.instance.deckEditor.GetUI<DeckEditorUI>().SetCardInfoType(type); Program.instance.deckEditor.GetUI<DeckEditorUI>().SetCardInfoType(type);
SetCardInfoTypeIcon(type); SetCardInfoTypeIcon(type);
} }
public void SetCardInfoTypeIcon(DeckEditorUI.CardInfoType type) public void SetCardInfoTypeIcon(DeckEditorUI.CardInfoType type)
{ {
switch (type) Info0.SetActive(type == DeckEditorUI.CardInfoType.None);
{ Info1.SetActive(type == DeckEditorUI.CardInfoType.Detail);
case DeckEditorUI.CardInfoType.None: Info2.SetActive(type == DeckEditorUI.CardInfoType.Pool);
Manager.GetElement("IconInfoSwitching0").SetActive(true); Info3.SetActive(type == DeckEditorUI.CardInfoType.Genesys);
Manager.GetElement("IconInfoSwitching1").SetActive(false); TextGP.gameObject.SetActive(type == DeckEditorUI.CardInfoType.Genesys);
Manager.GetElement("IconInfoSwitching2").SetActive(false); }
break;
case DeckEditorUI.CardInfoType.Detail: public static void SetGenesysPoints(int gp)
Manager.GetElement("IconInfoSwitching0").SetActive(false); {
Manager.GetElement("IconInfoSwitching1").SetActive(true); if (instance == null)
Manager.GetElement("IconInfoSwitching2").SetActive(false); return;
break; instance.TextGP.text = gp.ToString();
case DeckEditorUI.CardInfoType.Pool: instance.TextGP.color = OnlineService.GetGenesysPointsColor(gp);
Manager.GetElement("IconInfoSwitching0").SetActive(false);
Manager.GetElement("IconInfoSwitching1").SetActive(false);
Manager.GetElement("IconInfoSwitching2").SetActive(true);
break;
}
} }
} }
} }
...@@ -79,6 +79,8 @@ namespace MDPro3.UI ...@@ -79,6 +79,8 @@ namespace MDPro3.UI
else if (path.Length > 0) else if (path.Length > 0)
{ {
Icon.sprite = await Program.items.LoadItemIconAsync(itemID.ToString(), Items.ItemType.Unknown); Icon.sprite = await Program.items.LoadItemIconAsync(itemID.ToString(), Items.ItemType.Unknown);
if (Manager == null)
return;
Icon.color = Color.white; Icon.color = Color.white;
if (path.StartsWith("ProfileFrame")) if (path.StartsWith("ProfileFrame"))
{ {
......
...@@ -71,7 +71,6 @@ namespace MDPro3.UI.ServantUI ...@@ -71,7 +71,6 @@ namespace MDPro3.UI.ServantUI
} }
} }
private void Awake() private void Awake()
{ {
DeckView.PrintDeck(DeckEditor.Deck, DeckEditor.DeckName, DeckView.Condition.Pickup); DeckView.PrintDeck(DeckEditor.Deck, DeckEditor.DeckName, DeckView.Condition.Pickup);
...@@ -120,7 +119,7 @@ namespace MDPro3.UI.ServantUI ...@@ -120,7 +119,7 @@ namespace MDPro3.UI.ServantUI
public void SetCardInfoType() public void SetCardInfoType()
{ {
var type = (CardInfoType)(((int)cardInfoType + 1) % 3); var type = (CardInfoType)(((int)cardInfoType + 1) % 4);
SetCardInfoType(type); SetCardInfoType(type);
SelectionButton_CardInfoType.instance.SetCardInfoTypeIcon(type); SelectionButton_CardInfoType.instance.SetCardInfoTypeIcon(type);
} }
......
...@@ -69,6 +69,12 @@ namespace MDPro3.UI.ServantUI ...@@ -69,6 +69,12 @@ namespace MDPro3.UI.ServantUI
m_RectBack = m_RectBack != null ? m_RectBack m_RectBack = m_RectBack != null ? m_RectBack
: ButtonBack.GetComponent<RectTransform>(); : ButtonBack.GetComponent<RectTransform>();
private const string LABEL_SBN_INFO = "Header/ButtonInfoSwitching";
private SelectionButton m_ButtonInfo;
private SelectionButton ButtonInfo =>
m_ButtonInfo = m_ButtonInfo != null ? m_ButtonInfo
: Manager.GetNestedElement<SelectionButton>(LABEL_SBN_INFO);
private const string LABEL_SBN_REGULATION = "Header/ButtonRegulation"; private const string LABEL_SBN_REGULATION = "Header/ButtonRegulation";
private SelectionButton m_ButtonRegulation; private SelectionButton m_ButtonRegulation;
private SelectionButton ButtonRegulation => private SelectionButton ButtonRegulation =>
...@@ -151,7 +157,8 @@ namespace MDPro3.UI.ServantUI ...@@ -151,7 +157,8 @@ namespace MDPro3.UI.ServantUI
{ {
None = 0, None = 0,
Detail = 1, Detail = 1,
Pool = 2 Pool = 2,
Genesys = 3
} }
public static CardInfoType cardInfoType = CardInfoType.None; public static CardInfoType cardInfoType = CardInfoType.None;
...@@ -719,9 +726,6 @@ namespace MDPro3.UI.ServantUI ...@@ -719,9 +726,6 @@ namespace MDPro3.UI.ServantUI
#endregion #endregion
#region Header #region Header
private void InitializeHeader() private void InitializeHeader()
...@@ -741,7 +745,7 @@ namespace MDPro3.UI.ServantUI ...@@ -741,7 +745,7 @@ namespace MDPro3.UI.ServantUI
public void SetCardInfoType() public void SetCardInfoType()
{ {
var type = (CardInfoType)(((int)cardInfoType + 1) % 3); var type = (CardInfoType)(((int)cardInfoType + 1) % 4);
SetCardInfoType(type); SetCardInfoType(type);
SelectionButton_CardInfoType.instance.SetCardInfoTypeIcon(type); SelectionButton_CardInfoType.instance.SetCardInfoTypeIcon(type);
} }
...@@ -761,10 +765,14 @@ namespace MDPro3.UI.ServantUI ...@@ -761,10 +765,14 @@ namespace MDPro3.UI.ServantUI
case CardInfoType.Pool: case CardInfoType.Pool:
MessageManager.Toast(InterString.Get("切换到归属显示")); MessageManager.Toast(InterString.Get("切换到归属显示"));
break; break;
case CardInfoType.Genesys:
MessageManager.Toast(InterString.Get("切换到Genesys积分显示"));
break;
} }
DeckView.SetCardInfoType(type); DeckView.SetCardInfoType(type);
CardCollectionView.SetCardInfoType(type); CardCollectionView.SetCardInfoType(type);
} }
private void RefreshRegulationIcons() private void RefreshRegulationIcons()
......
using UnityEditor.UI;
using UnityEngine;
using UnityEngine.UI;
namespace MDPro3.UI
{
public class ClampedContentSizeFitter : ContentSizeFitter
{
[SerializeField] private float m_MaxWidth = -1f;
public float maxWidth { get => m_MaxWidth; set => m_MaxWidth = value; }
[SerializeField] private float m_MinWidth = 0f;
public float minWidth { get => m_MinWidth; set => m_MinWidth = value; }
private DrivenRectTransformTracker m_Tracker;
private RectTransform m_Rect;
private RectTransform RectTransform => m_Rect ??= GetComponent<RectTransform>();
protected override void OnEnable()
{
base.OnEnable();
SetDirty();
}
protected override void OnDisable()
{
m_Tracker.Clear();
base.OnDisable();
}
public override void SetLayoutHorizontal()
{
m_Tracker.Clear();
if (horizontalFit == FitMode.Unconstrained)
{
m_Tracker.Add(this, RectTransform, DrivenTransformProperties.None);
return;
}
m_Tracker.Add(this, RectTransform, DrivenTransformProperties.SizeDeltaX);
// 计算原始目标宽度
float targetWidth = horizontalFit == FitMode.MinSize ?
LayoutUtility.GetMinWidth(RectTransform) :
LayoutUtility.GetPreferredWidth(RectTransform);
// 应用最小和最大宽度约束
if (m_MinWidth > 0)
targetWidth = Mathf.Max(targetWidth, m_MinWidth); // 确保不小于最小值
if (m_MaxWidth > 0)
targetWidth = Mathf.Min(targetWidth, m_MaxWidth); // 确保不大于最大值
RectTransform.SetSizeWithCurrentAnchors(
RectTransform.Axis.Horizontal,
targetWidth
);
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 3c928ce2642c9644b8060886466e7369
\ No newline at end of file
...@@ -146,11 +146,11 @@ namespace MDPro3.UI ...@@ -146,11 +146,11 @@ namespace MDPro3.UI
m_TextMainDeckTrapNum = m_TextMainDeckTrapNum != null ? m_TextMainDeckTrapNum m_TextMainDeckTrapNum = m_TextMainDeckTrapNum != null ? m_TextMainDeckTrapNum
: Manager.GetNestedElement<TextMeshProUGUI>(LABEL_TXT_MAINDECKTRAPNUM); : Manager.GetNestedElement<TextMeshProUGUI>(LABEL_TXT_MAINDECKTRAPNUM);
private const string LABEL_GLG_MainDeckContent = "MainDeckView/MainDeckContent"; private const string LABEL_GLG_MAIN_DECK_CONTENT = "MainDeckView/MainDeckContent";
private GridLayoutGroup m_MainDeckContent; private GridLayoutGroup m_MainDeckContent;
protected GridLayoutGroup MainDeckContent => protected GridLayoutGroup MainDeckContent =>
m_MainDeckContent = m_MainDeckContent != null ? m_MainDeckContent m_MainDeckContent = m_MainDeckContent != null ? m_MainDeckContent
: Manager.GetNestedElement<GridLayoutGroup>(LABEL_GLG_MainDeckContent); : Manager.GetNestedElement<GridLayoutGroup>(LABEL_GLG_MAIN_DECK_CONTENT);
private const string LABEL_GO_TEMPLATE = "MainDeckView/template"; private const string LABEL_GO_TEMPLATE = "MainDeckView/template";
private GameObject m_Template; private GameObject m_Template;
...@@ -158,6 +158,18 @@ namespace MDPro3.UI ...@@ -158,6 +158,18 @@ namespace MDPro3.UI
m_Template = m_Template != null ? m_Template m_Template = m_Template != null ? m_Template
: Manager.GetNestedElement(LABEL_GO_TEMPLATE); : Manager.GetNestedElement(LABEL_GO_TEMPLATE);
private const string LABEL_GO_MAIN_GENESYS = "MainDeckView/TextMainDeckGenesys";
private GameObject m_MainDeckGenesys;
protected GameObject MainDeckGenesys =>
m_MainDeckGenesys = m_MainDeckGenesys != null ? m_MainDeckGenesys
: Manager.GetNestedElement(LABEL_GO_MAIN_GENESYS);
private const string LABEL_TXT_MAIN_DECK_GP = "MainDeckView/TextMainDeckGP";
private TextMeshProUGUI m_TextMainDeckGP;
protected TextMeshProUGUI TextMainDeckGP =>
m_TextMainDeckGP = m_TextMainDeckGP != null ? m_TextMainDeckGP
: Manager.GetNestedElement<TextMeshProUGUI>(LABEL_TXT_MAIN_DECK_GP);
#endregion #endregion
#region ExtraDeckView #region ExtraDeckView
...@@ -204,6 +216,18 @@ namespace MDPro3.UI ...@@ -204,6 +216,18 @@ namespace MDPro3.UI
m_ExtraDeckContent = m_ExtraDeckContent != null ? m_ExtraDeckContent m_ExtraDeckContent = m_ExtraDeckContent != null ? m_ExtraDeckContent
: Manager.GetNestedElement<GridLayoutGroup>(LABEL_GLG_EXTRADeckContent); : Manager.GetNestedElement<GridLayoutGroup>(LABEL_GLG_EXTRADeckContent);
private const string LABEL_GO_EXTRA_GENESYS = "ExtraDeckView/TextExtraDeckGenesys";
private GameObject m_ExtraDeckGenesys;
protected GameObject ExtraDeckGenesys =>
m_ExtraDeckGenesys = m_ExtraDeckGenesys != null ? m_ExtraDeckGenesys
: Manager.GetNestedElement(LABEL_GO_EXTRA_GENESYS);
private const string LABEL_TXT_EXTRA_DECK_GP = "ExtraDeckView/TextExtraDeckGP";
private TextMeshProUGUI m_TextExtraDeckGP;
protected TextMeshProUGUI TextExtraDeckGP =>
m_TextExtraDeckGP = m_TextExtraDeckGP != null ? m_TextExtraDeckGP
: Manager.GetNestedElement<TextMeshProUGUI>(LABEL_TXT_EXTRA_DECK_GP);
#endregion #endregion
#region SideDeckView #region SideDeckView
...@@ -244,6 +268,18 @@ namespace MDPro3.UI ...@@ -244,6 +268,18 @@ namespace MDPro3.UI
m_SideDeckContent = m_SideDeckContent != null ? m_SideDeckContent m_SideDeckContent = m_SideDeckContent != null ? m_SideDeckContent
: Manager.GetNestedElement<GridLayoutGroup>(LABEL_GLG_SideDeckContent); : Manager.GetNestedElement<GridLayoutGroup>(LABEL_GLG_SideDeckContent);
private const string LABEL_GO_SIDE_GENESYS = "SideDeckView/TextSideDeckGenesys";
private GameObject m_SideDeckGenesys;
protected GameObject SideDeckGenesys =>
m_SideDeckGenesys = m_SideDeckGenesys != null ? m_SideDeckGenesys
: Manager.GetNestedElement(LABEL_GO_SIDE_GENESYS);
private const string LABEL_TXT_SIDE_DECK_GP = "SideDeckView/TextSideDeckGP";
private TextMeshProUGUI m_TextSideDeckGP;
protected TextMeshProUGUI TextSideDeckGP =>
m_TextSideDeckGP = m_TextSideDeckGP != null ? m_TextSideDeckGP
: Manager.GetNestedElement<TextMeshProUGUI>(LABEL_TXT_SIDE_DECK_GP);
#endregion #endregion
#endregion #endregion
...@@ -302,6 +338,9 @@ namespace MDPro3.UI ...@@ -302,6 +338,9 @@ namespace MDPro3.UI
_ = LoadDeckCaseAsync(deck.Case); _ = LoadDeckCaseAsync(deck.Case);
StartCoroutine(PrintDeckAsync()); StartCoroutine(PrintDeckAsync());
if(Program.instance.currentServant == Program.instance.deckEditor)
SetCardInfoTypeInternal(DeckEditorUI.cardInfoType);
} }
private async UniTask LoadDeckCaseAsync(int deckCase) private async UniTask LoadDeckCaseAsync(int deckCase)
...@@ -758,6 +797,29 @@ namespace MDPro3.UI ...@@ -758,6 +797,29 @@ namespace MDPro3.UI
{ {
foreach (var card in cards) foreach (var card in cards)
card.RefreshIcons(); card.RefreshIcons();
SetCardInfoTypeInternal(type);
}
private void SetCardInfoTypeInternal(DeckEditorUI.CardInfoType type)
{
if (Program.instance.currentServant == Program.instance.deckEditor)
{
MainDeckGenesys.SetActive(type == DeckEditorUI.CardInfoType.Genesys);
TextMainDeckGP.gameObject.SetActive(type == DeckEditorUI.CardInfoType.Genesys);
ExtraDeckGenesys.SetActive(type == DeckEditorUI.CardInfoType.Genesys);
TextExtraDeckGP.gameObject.SetActive(type == DeckEditorUI.CardInfoType.Genesys);
SideDeckGenesys.SetActive(type == DeckEditorUI.CardInfoType.Genesys);
TextSideDeckGP.gameObject.SetActive(type == DeckEditorUI.CardInfoType.Genesys);
}
else
{
MainDeckGenesys.SetActive(false);
TextMainDeckGP.gameObject.SetActive(false);
ExtraDeckGenesys.SetActive(false);
TextExtraDeckGP.gameObject.SetActive(false);
SideDeckGenesys.SetActive(false);
TextSideDeckGP.gameObject.SetActive(false);
}
} }
public TMP_InputField GetInputField() public TMP_InputField GetInputField()
...@@ -913,6 +975,41 @@ namespace MDPro3.UI ...@@ -913,6 +975,41 @@ namespace MDPro3.UI
InputDeckName.ActivateInputField(); InputDeckName.ActivateInputField();
} }
public Deck FromObjectDeckToCodedDeck()
{
SortCards();
Deck deck = new();
foreach (var card in cards)
{
if (card.location == DeckLocation.MainDeck)
deck.Main.Add(card.Card.Id);
else if (card.location == DeckLocation.ExtraDeck)
deck.Extra.Add(card.Card.Id);
else if (card.location == DeckLocation.SideDeck)
deck.Side.Add(card.Card.Id);
}
deck.Pickup = Deck.Pickup;
deck.Protector = Deck.Protector;
deck.Case = Deck.Case;
deck.Field = Deck.Field;
deck.Grave = Deck.Grave;
deck.Stand = Deck.Stand;
deck.Mate = Deck.Mate;
deck.deckId = Deck.deckId;
deck.userId = Deck.userId;
return deck;
}
public int GetGenesysPoints()
{
var value = 0;
foreach (var card in cards)
if(card.genesysPoint > 0)
value += card.genesysPoint;
return value;
}
#endregion #endregion
#region Protected Functions #region Protected Functions
...@@ -1031,6 +1128,7 @@ namespace MDPro3.UI ...@@ -1031,6 +1128,7 @@ namespace MDPro3.UI
int monsterCount = 0; int monsterCount = 0;
int spellCount = 0; int spellCount = 0;
int trapCount = 0; int trapCount = 0;
int gp = 0;
foreach (var card in cards) foreach (var card in cards)
if (card.location == DeckLocation.MainDeck) if (card.location == DeckLocation.MainDeck)
...@@ -1042,11 +1140,14 @@ namespace MDPro3.UI ...@@ -1042,11 +1140,14 @@ namespace MDPro3.UI
trapCount++; trapCount++;
else else
monsterCount++; monsterCount++;
if (card.genesysPoint > 0)
gp += card.genesysPoint;
} }
TextMainDeckCardNum.text = mainCount.ToString(); TextMainDeckCardNum.text = mainCount.ToString();
TextMainDeckMonsterNum.text = monsterCount.ToString(); TextMainDeckMonsterNum.text = monsterCount.ToString();
TextMainDeckSpellNum.text = spellCount.ToString(); TextMainDeckSpellNum.text = spellCount.ToString();
TextMainDeckTrapNum.text = trapCount.ToString(); TextMainDeckTrapNum.text = trapCount.ToString();
TextMainDeckGP.text = gp.ToString();
} }
if ((location & DeckLocation.ExtraDeck) > 0) if ((location & DeckLocation.ExtraDeck) > 0)
{ {
...@@ -1055,6 +1156,7 @@ namespace MDPro3.UI ...@@ -1055,6 +1156,7 @@ namespace MDPro3.UI
int synchroCount = 0; int synchroCount = 0;
int xyzCount = 0; int xyzCount = 0;
int linkCount = 0; int linkCount = 0;
int gp = 0;
foreach (var card in cards) foreach (var card in cards)
if (card.location == DeckLocation.ExtraDeck) if (card.location == DeckLocation.ExtraDeck)
...@@ -1068,12 +1170,15 @@ namespace MDPro3.UI ...@@ -1068,12 +1170,15 @@ namespace MDPro3.UI
xyzCount++; xyzCount++;
else if (card.Card.HasType(CardType.Link)) else if (card.Card.HasType(CardType.Link))
linkCount++; linkCount++;
if (card.genesysPoint > 0)
gp += card.genesysPoint;
} }
TextExtraDeckCardNum.text = extraCount.ToString(); TextExtraDeckCardNum.text = extraCount.ToString();
TextExtraDeckFusionNum.text = fusionCount.ToString(); TextExtraDeckFusionNum.text = fusionCount.ToString();
TextExtraDeckSynchroNum.text = synchroCount.ToString(); TextExtraDeckSynchroNum.text = synchroCount.ToString();
TextExtraDeckXyzNum.text = xyzCount.ToString(); TextExtraDeckXyzNum.text = xyzCount.ToString();
TextExtraDeckLinkNum.text = linkCount.ToString(); TextExtraDeckLinkNum.text = linkCount.ToString();
TextExtraDeckGP.text = gp.ToString();
} }
if ((location & DeckLocation.SideDeck) > 0) if ((location & DeckLocation.SideDeck) > 0)
{ {
...@@ -1081,6 +1186,7 @@ namespace MDPro3.UI ...@@ -1081,6 +1186,7 @@ namespace MDPro3.UI
int monsterCount = 0; int monsterCount = 0;
int spellCount = 0; int spellCount = 0;
int trapCount = 0; int trapCount = 0;
int gp = 0;
foreach (var card in cards) foreach (var card in cards)
if (card.location == DeckLocation.SideDeck) if (card.location == DeckLocation.SideDeck)
...@@ -1092,12 +1198,18 @@ namespace MDPro3.UI ...@@ -1092,12 +1198,18 @@ namespace MDPro3.UI
trapCount++; trapCount++;
else else
monsterCount++; monsterCount++;
if (card.genesysPoint > 0)
gp += card.genesysPoint;
} }
TextSideDeckCardNum.text = sideCount.ToString(); TextSideDeckCardNum.text = sideCount.ToString();
TextSideDeckMonsterNum.text = monsterCount.ToString(); TextSideDeckMonsterNum.text = monsterCount.ToString();
TextSideDeckSpellNum.text = spellCount.ToString(); TextSideDeckSpellNum.text = spellCount.ToString();
TextSideDeckTrapNum.text = trapCount.ToString(); TextSideDeckTrapNum.text = trapCount.ToString();
TextSideDeckGP.text = gp.ToString();
} }
if(Program.instance.currentServant == Program.instance.deckEditor)
SelectionButton_CardInfoType.SetGenesysPoints(GetGenesysPoints());
} }
protected void SortCards() protected void SortCards()
...@@ -1167,31 +1279,6 @@ namespace MDPro3.UI ...@@ -1167,31 +1279,6 @@ namespace MDPro3.UI
return DeckLocation.All; return DeckLocation.All;
} }
public Deck FromObjectDeckToCodedDeck()
{
SortCards();
Deck deck = new();
foreach (var card in cards)
{
if (card.location == DeckLocation.MainDeck)
deck.Main.Add(card.Card.Id);
else if (card.location == DeckLocation.ExtraDeck)
deck.Extra.Add(card.Card.Id);
else if (card.location == DeckLocation.SideDeck)
deck.Side.Add(card.Card.Id);
}
deck.Pickup = Deck.Pickup;
deck.Protector = Deck.Protector;
deck.Case = Deck.Case;
deck.Field = Deck.Field;
deck.Grave = Deck.Grave;
deck.Stand = Deck.Stand;
deck.Mate = Deck.Mate;
deck.deckId = Deck.deckId;
deck.userId = Deck.userId;
return deck;
}
protected void DeckFileSave() protected void DeckFileSave()
{ {
......
fileFormatVersion: 2
guid: 7a5c4c4587d49184982a93011271b877
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 2, y: 2, z: 14, w: 14}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: fd60d01041982c8428e0055b98c21437
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
...@@ -66,6 +66,7 @@ SpriteAtlas: ...@@ -66,6 +66,7 @@ SpriteAtlas:
- 02a9fa006db2d704a88e5625e0c7742f: 21300000 - 02a9fa006db2d704a88e5625e0c7742f: 21300000
- 212f3c00a7fa5024e8835b82c72db58a: 21300000 - 212f3c00a7fa5024e8835b82c72db58a: 21300000
- 7b76ce0056763d14c9097b50c9d4b138: 21300000 - 7b76ce0056763d14c9097b50c9d4b138: 21300000
- fd60d01041982c8428e0055b98c21437: 21300000
- a550611052e33f14ca86edd376fb9be3: 21300000 - a550611052e33f14ca86edd376fb9be3: 21300000
- 660ef11066558a94f9749236687c37d3: 21300000 - 660ef11066558a94f9749236687c37d3: 21300000
- ba4724101d99f484d82b1e92a16791b8: 21300000 - ba4724101d99f484d82b1e92a16791b8: 21300000
...@@ -299,6 +300,7 @@ SpriteAtlas: ...@@ -299,6 +300,7 @@ SpriteAtlas:
- 9b5e0735b7fc0bf478bc70a055fea1c7: 21300000 - 9b5e0735b7fc0bf478bc70a055fea1c7: 21300000
- c4dc57352ad56b34dbec17a57ccbadd2: 21300000 - c4dc57352ad56b34dbec17a57ccbadd2: 21300000
- e466974582869b545afa5ad4f03b5d17: 21300000 - e466974582869b545afa5ad4f03b5d17: 21300000
- 7a5c4c4587d49184982a93011271b877: 21300000
- dfa2b0552469cf0438ccbce71ee3a965: 21300000 - dfa2b0552469cf0438ccbce71ee3a965: 21300000
- 172bb355f7da22f488dc0791ae5eeafc: 21300000 - 172bb355f7da22f488dc0791ae5eeafc: 21300000
- f3a0375556492314e8e0b0c6c1ff51f4: 21300000 - f3a0375556492314e8e0b0c6c1ff51f4: 21300000
...@@ -795,6 +797,7 @@ SpriteAtlas: ...@@ -795,6 +797,7 @@ SpriteAtlas:
- {fileID: 21300000, guid: 02a9fa006db2d704a88e5625e0c7742f, type: 3} - {fileID: 21300000, guid: 02a9fa006db2d704a88e5625e0c7742f, type: 3}
- {fileID: 21300000, guid: 212f3c00a7fa5024e8835b82c72db58a, type: 3} - {fileID: 21300000, guid: 212f3c00a7fa5024e8835b82c72db58a, type: 3}
- {fileID: 21300000, guid: 7b76ce0056763d14c9097b50c9d4b138, type: 3} - {fileID: 21300000, guid: 7b76ce0056763d14c9097b50c9d4b138, type: 3}
- {fileID: 21300000, guid: fd60d01041982c8428e0055b98c21437, type: 3}
- {fileID: 21300000, guid: a550611052e33f14ca86edd376fb9be3, type: 3} - {fileID: 21300000, guid: a550611052e33f14ca86edd376fb9be3, type: 3}
- {fileID: 21300000, guid: 660ef11066558a94f9749236687c37d3, type: 3} - {fileID: 21300000, guid: 660ef11066558a94f9749236687c37d3, type: 3}
- {fileID: 21300000, guid: ba4724101d99f484d82b1e92a16791b8, type: 3} - {fileID: 21300000, guid: ba4724101d99f484d82b1e92a16791b8, type: 3}
...@@ -1028,6 +1031,7 @@ SpriteAtlas: ...@@ -1028,6 +1031,7 @@ SpriteAtlas:
- {fileID: 21300000, guid: 9b5e0735b7fc0bf478bc70a055fea1c7, type: 3} - {fileID: 21300000, guid: 9b5e0735b7fc0bf478bc70a055fea1c7, type: 3}
- {fileID: 21300000, guid: c4dc57352ad56b34dbec17a57ccbadd2, type: 3} - {fileID: 21300000, guid: c4dc57352ad56b34dbec17a57ccbadd2, type: 3}
- {fileID: 21300000, guid: e466974582869b545afa5ad4f03b5d17, type: 3} - {fileID: 21300000, guid: e466974582869b545afa5ad4f03b5d17, type: 3}
- {fileID: 21300000, guid: 7a5c4c4587d49184982a93011271b877, type: 3}
- {fileID: 21300000, guid: dfa2b0552469cf0438ccbce71ee3a965, type: 3} - {fileID: 21300000, guid: dfa2b0552469cf0438ccbce71ee3a965, type: 3}
- {fileID: 21300000, guid: 172bb355f7da22f488dc0791ae5eeafc, type: 3} - {fileID: 21300000, guid: 172bb355f7da22f488dc0791ae5eeafc, type: 3}
- {fileID: 21300000, guid: f3a0375556492314e8e0b0c6c1ff51f4, type: 3} - {fileID: 21300000, guid: f3a0375556492314e8e0b0c6c1ff51f4, type: 3}
...@@ -1523,6 +1527,7 @@ SpriteAtlas: ...@@ -1523,6 +1527,7 @@ SpriteAtlas:
- GUI_Attack_Arrow - GUI_Attack_Arrow
- button006_PlayStation - button006_PlayStation
- GUI_DeckEdit_Icon_InfoSwitching1 - GUI_DeckEdit_Icon_InfoSwitching1
- GUI_DeckEdit_Icon_InfoSwitching3
- GUI_T_DuelButtonActIcon09_3 - GUI_T_DuelButtonActIcon09_3
- GUI_Log_Summon - GUI_Log_Summon
- GUI_T_Icon1_Counter_YOSEN - GUI_T_Icon1_Counter_YOSEN
...@@ -1756,6 +1761,7 @@ SpriteAtlas: ...@@ -1756,6 +1761,7 @@ SpriteAtlas:
- GUI_T_Icon1_State07 - GUI_T_Icon1_State07
- GUI_T_Icon1_Type13 - GUI_T_Icon1_Type13
- GUI_T_Icon1_Type04 - GUI_T_Icon1_Type04
- GUI_CommonCardNumBase2
- GUI_DeckEdit_CardActionMenu_IconCardRelated - GUI_DeckEdit_CardActionMenu_IconCardRelated
- GUI_DeckEdit_CardActionMenu_IconFavorite - GUI_DeckEdit_CardActionMenu_IconFavorite
- GUI_T_Icon1_Attr06_Ruby - GUI_T_Icon1_Attr06_Ruby
......
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