Commit ee086d1e authored by 神楽坂玲奈's avatar 神楽坂玲奈

new GameTextureManager, unity 2021.2 beta for async read file.

parent 9974ccde
......@@ -7,33 +7,35 @@ public class MonoCardInDeckManager : MonoBehaviour
public bool dying;
private bool bool_physicalON;
public Card cardData = new Card();
private Card _cardData = new();
private bool died;
private bool isDraging;
private Banlist loaded_banlist;
private int loadedPicCode;
private void Update()
public Card cardData
{
if (loadedPicCode != cardData.Id)
get => _cardData;
set
{
var pic = GameTextureManager.get(cardData.Id, GameTextureType.card_picture);
if (pic != null)
{
loadedPicCode = cardData.Id;
gameObject.transform.Find("face").GetComponent<Renderer>().material.mainTexture = pic;
}
_cardData = value;
LoadCard();
}
}
private async void LoadCard()
{
gameObject.transform.Find("face").GetComponent<Renderer>().material.mainTexture =
await GameTextureManager.GetCardPicture(_cardData.Id);
}
private void Update()
{
if (Program.I().deckManager.currentBanlist != loaded_banlist)
{
var ico = GetComponentInChildren<ban_icon>();
loaded_banlist = Program.I().deckManager.currentBanlist;
if (loaded_banlist != null)
ico.show(loaded_banlist.GetQuantity(cardData.Id));
else
ico.show(3);
ico.show(loaded_banlist?.GetQuantity(_cardData.Id) ?? 3);
}
if (isDraging) gameObject.transform.position += (getGoodPosition(4) - gameObject.transform.position) * 0.3f;
......
......@@ -3,43 +3,40 @@ using YGOSharp;
public class cardPicLoader : MonoBehaviour
{
public int loaded_code = -1;
public int code;
private int _code;
public Texture2D defaults;
public ban_icon ico;
public Collider coli;
public UITexture uiTexture;
public Banlist loaded_banlist;
public Card data { get; set; }
public int code
{
get => _code;
set
{
_code = value;
LoadCard();
}
}
private async void LoadCard()
{
Debug.Log(code);
uiTexture.mainTexture = await GameTextureManager.GetCardPicture(code);
if (uiTexture.mainTexture == null) return;
uiTexture.aspectRatio = (float) uiTexture.mainTexture.width / uiTexture.mainTexture.height;
uiTexture.forceWidth((int) (uiTexture.height * uiTexture.aspectRatio));
loaded_banlist = null;
}
private void Update()
{
if (coli != null)
if (Program.InputGetMouseButtonDown_0)
if (Program.pointedCollider == coli)
Program.I().cardDescription.setData(CardsManager.Get(code), GameTextureManager.myBack, "", true);
if (coli != null && Program.InputGetMouseButtonDown_0 && Program.pointedCollider == coli)
Program.I().cardDescription.setData(CardsManager.Get(_code), GameTextureManager.myBack, "", true);
if (Program.I().deckManager != null)
{
if (loaded_code != code)
{
var t = GameTextureManager.get(code, GameTextureType.card_picture, defaults);
if (t != null)
{
uiTexture.mainTexture = t;
uiTexture.aspectRatio = t.width / (float) t.height;
uiTexture.forceWidth((int) (uiTexture.height * uiTexture.aspectRatio));
loaded_code = code;
loaded_banlist = null;
}
}
if (loaded_banlist != Program.I().deckManager.currentBanlist)
{
loaded_banlist = Program.I().deckManager.currentBanlist;
......@@ -51,7 +48,7 @@ public class cardPicLoader : MonoBehaviour
return;
}
ico.show(loaded_banlist.GetQuantity(code));
ico.show(loaded_banlist.GetQuantity(_code));
}
}
}
......@@ -59,18 +56,11 @@ public class cardPicLoader : MonoBehaviour
public void clear()
{
loaded_code = 0;
code = 0;
_code = 0;
ico.show(3);
uiTexture.mainTexture = null;
}
public void reCode(int c)
{
loaded_code = 0;
code = c;
}
public void relayer(int l)
{
uiTexture.depth = 50 + l * 2;
......
......@@ -12,9 +12,9 @@ public class handShower : MonoBehaviour
private void Start()
{
pics[0] = GameTextureManager.get("jiandao");
pics[1] = GameTextureManager.get("shitou");
pics[2] = GameTextureManager.get("bu");
pics[0] = GameTextureManager.GetUI("jiandao");
pics[1] = GameTextureManager.GetUI("shitou");
pics[2] = GameTextureManager.GetUI("bu");
texture_0.mainTexture = pics[me];
texture_1.mainTexture = pics[op];
GameObject_0.transform.position = Program.I().camera_main_2d
......
......@@ -33,7 +33,7 @@ public class UITextureInspector : UIBasicSpriteEditor
startPath = sp2.stringValue;
if (startPath != "")
{
mTex.mainTexture = UIHelper.getTexture2D("texture/ui/" + startPath + ".png");
mTex.mainTexture = UIHelper.GetTexture2D("texture/ui/" + startPath + ".png");
}
Debug.Log("force delay read");
}
......
......@@ -107,7 +107,7 @@ public class UITexturePacker
storage[i].paddingY = (yPadding != 0);
}
texture.Resize(width, height);
texture.Reinitialize(width, height);
texture.SetPixels(new Color[width * height]);
// The returned rects
......
......@@ -329,14 +329,14 @@ public class UIButton : UIButtonColor
case State.Normal:
if (mTextureOutNormal != "")
{
texure2d.mainTexture = GameTextureManager.get(mTextureOutNormal);
texure2d.mainTexture = GameTextureManager.GetUI(mTextureOutNormal);
}
break;
case State.Hover:
case State.Pressed:
if (mTextureOutPressed != "")
{
texure2d.mainTexture = GameTextureManager.get(mTextureOutPressed);
texure2d.mainTexture = GameTextureManager.GetUI(mTextureOutPressed);
}
break;
}
......
......@@ -46,10 +46,7 @@ public class UITexture : UIBasicSprite
protected override void OnStart()
{
base.OnStart();
if (mOutPath != "")
{
mainTexture = GameTextureManager.get(mOutPath);
}
if (!string.IsNullOrEmpty(mOutPath)) mainTexture = GameTextureManager.GetUI(mOutPath);
}
public override Texture mainTexture
......
fileFormatVersion: 2
guid: f53581fb80be96f46b0cb1a267158562
timeCreated: 1480605668
licenseType: Pro
PluginImporter:
serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
data:
first:
Any:
second:
enabled: 1
settings: {}
data:
first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
data:
first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
......@@ -211,7 +211,6 @@ public class CardDescription : Servant
picLoader.code = card.Id;
picLoader.defaults = def;
picLoader.loaded_code = -1;
currentCard = card;
shiftCardShower(true);
Program.go(50, () => { shiftCardShower(true); });
......@@ -310,7 +309,7 @@ public class CardDescription : Servant
for (var i = 0; i < list.Count; i++)
{
var gp = UIHelper.get_hang_lie(i, eachLine);
quickCards[currentCardIndex].reCode(list[i].get_data().Id);
quickCards[currentCardIndex].code = list[i].get_data().Id;
quickCards[currentCardIndex].transform.localPosition =
new Vector3(beginX + 44 * gp.y, beginY - 60 * gp.x, 0);
currentCardIndex++;
......
......@@ -3,8 +3,10 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Rendering;
using YGOSharp.OCGWrapper.Enums;
......@@ -703,7 +705,7 @@ public static class UIHelper
if (!faces.ContainsKey(name))
try
{
faces.Add(name, getTexture2D("texture/face/" + fileInfos[i].Name));
faces.Add(name, GetTexture2D("texture/face/" + fileInfos[i].Name));
}
catch (Exception e)
{
......@@ -730,30 +732,19 @@ public static class UIHelper
return Program.I().face.faces[sum];
}
public static Texture2D getTexture2D(string path)
public static Texture2D GetTexture2D(string path)
{
Texture2D pic = null;
try
{
if (!File.Exists(path)) return null;
var file = new FileStream(path, FileMode.Open, FileAccess.Read);
file.Seek(0, SeekOrigin.Begin);
var data = new byte[file.Length];
file.Read(data, 0, (int) file.Length);
file.Close();
file.Dispose();
file = null;
pic = new Texture2D(1024, 600);
pic.LoadImage(data);
}
catch (Exception e)
{
Debug.Log(e);
}
var pic = new Texture2D(0, 0);
pic.LoadImage(File.ReadAllBytes(path));
return pic;
}
public static async Task<Texture2D> GetTexture2DAsync(string path)
{
var pic = new Texture2D(0, 0);
pic.LoadImage(await File.ReadAllBytesAsync(path));
return pic;
}
internal static void shiftButton(UIButton btn, bool enabled)
{
......
......@@ -2,6 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.IO;
using DG.Tweening;
using TMPro;
using UnityEngine;
using YGOSharp;
......@@ -228,7 +229,6 @@ public class gameCard : OCGobject
loaded_cardCode = -1;
loaded_back = -1;
loaded_specialHint = -1;
loaded_verticalDrawingCode = -1;
loaded_verticalDrawingReal = Program.getVerticalTransparency() > 0.5f;
loaded_verticalDrawingNumber = -1;
loaded_verticalOverAttribute = -1;
......@@ -666,7 +666,7 @@ public class gameCard : OCGobject
var screen_vector_to_move = screen +
new Vector3(
pianyi + 60f * (overlayed_cards.Count -
overlayed_cards[x].p.position - 1), 0,
overlayed_cards[x].p.position - 1), 0,
12f + 2f * (overlayed_cards.Count - overlayed_cards[x].p.position - 1));
overlayed_cards[x].flash_line_on();
overlayed_cards[x].TweenTo(Camera.main.ScreenToWorldPoint(screen_vector_to_move),
......@@ -989,7 +989,6 @@ public class gameCard : OCGobject
Debug.Log(e);
}
loaded_verticalDrawingCode = 0;
loaded_verticalDrawingNumber = -1;
loaded_verticalOverAttribute = -1;
loaded_verticalatk = -1;
......@@ -1100,12 +1099,8 @@ public class gameCard : OCGobject
}
}
private int loaded_verticalDrawingCode = -1;
private bool loaded_verticalDrawingReal;
private float loaded_verticalDrawingK = 1;
// bool picLikeASquare = false;
private int loaded_verticalDrawingNumber = -1;
private int loaded_verticalatk = -1;
private int loaded_verticaldef = -1;
......@@ -1119,40 +1114,32 @@ public class gameCard : OCGobject
private void card_verticle_drawing_handler()
{
if (game_object_verticle_drawing == null || loaded_verticalDrawingCode != data.Id ||
if (game_object_verticle_drawing == null ||
loaded_verticalDrawingReal != Program.getVerticalTransparency() > 0.5f)
{
if (Program.getVerticalTransparency() > 0.5f)
{
var texture = GameTextureManager.get(data.Id, GameTextureType.card_verticle_drawing);
if (texture != null)
loaded_verticalDrawingK = 1; //GameTextureManager.getK(data.Id, GameTextureType.card_verticle_drawing);
if (game_object_verticle_drawing == null)
{
loaded_verticalDrawingCode = data.Id;
loaded_verticalDrawingK = GameTextureManager.getK(data.Id, GameTextureType.card_verticle_drawing);
// picLikeASquare = GameTextureManager.getB(data.Id, GameTextureType.card_verticle_drawing);
if (game_object_verticle_drawing == null)
{
game_object_verticle_drawing = create(Program.I().mod_simple_quad,
gameObject.transform.position, new Vector3(60, 0, 0));
VerticleTransparency = 1f;
}
if (loaded_verticalDrawingReal != Program.getVerticalTransparency() > 0.5f)
{
loaded_verticalDrawingReal = Program.getVerticalTransparency() > 0.5f;
game_object_verticle_drawing.transform.localScale = Vector3.zero;
}
game_object_verticle_drawing = create(Program.I().mod_simple_quad,
gameObject.transform.position, new Vector3(60, 0, 0));
VerticleTransparency = 1f;
}
game_object_verticle_drawing.GetComponent<Renderer>().material.mainTexture = texture;
k_verticle = texture.width / (float) texture.height;
if (loaded_verticalDrawingReal != Program.getVerticalTransparency() > 0.5f)
{
loaded_verticalDrawingReal = Program.getVerticalTransparency() > 0.5f;
game_object_verticle_drawing.transform.localScale = Vector3.zero;
}
var texture = game_object_verticle_drawing.GetComponent<Renderer>().material.mainTexture;
k_verticle = texture.width / (float) texture.height;
}
else
{
var texture = GameTextureManager.N;
loaded_verticalDrawingCode = data.Id;
loaded_verticalDrawingK = 1;
// picLikeASquare = true;
if (game_object_verticle_drawing == null)
{
game_object_verticle_drawing = create(Program.I().mod_simple_quad, gameObject.transform.position,
......@@ -1173,14 +1160,6 @@ public class gameCard : OCGobject
else
{
var trans = 1f;
//if (opMonsterWithBackGroundCard && loaded_verticalDrawingK < 0.9f && ability / loaded_verticalDrawingK > 2600f / 0.9f)
//{
// trans = 0.5f;
//}
//else
//{
// trans = 1f;
//}
trans *= Program.getVerticalTransparency();
if (trans < 0) trans = 0;
if (trans > 1) trans = 1;
......@@ -1405,8 +1384,8 @@ public class gameCard : OCGobject
public void set_data(Card d)
{
data = d;
//caculateAbility();
if (Program.I().cardDescription.ifShowingThisCard(data)) showMeLeft();
LoadCard();
}
public void set_code(int code)
......@@ -1448,49 +1427,30 @@ public class gameCard : OCGobject
private int loaded_specialHint = -1;
private bool cardCodeChangedButNowLoadedPic;
private void card_picture_handler()
private async void LoadCard()
{
if (loaded_cardCode != data.Id)
{
loaded_cardCode = data.Id;
cardCodeChangedButNowLoadedPic = true;
}
if (loaded_cardPictureCode != data.Id)
{
var texture = GameTextureManager.get(data.Id, GameTextureType.card_picture,
p.controller == 0 ? GameTextureManager.myBack : GameTextureManager.opBack);
if (texture != null)
{
loaded_cardPictureCode = data.Id;
gameObject_face.GetComponent<Renderer>().material.mainTexture = texture;
}
else
{
if (cardCodeChangedButNowLoadedPic)
{
gameObject_face.GetComponent<Renderer>().material.mainTexture = GameTextureManager.unknown;
cardCodeChangedButNowLoadedPic = false;
}
}
}
Debug.Log(data.Id);
gameObject_face.GetComponent<Renderer>().material.mainTexture =
await GameTextureManager.GetCardPicture(data.Id) ??
(p.controller == 0 ? GameTextureManager.myBack : GameTextureManager.opBack);
if (game_object_verticle_drawing)
game_object_verticle_drawing.GetComponent<Renderer>().material.mainTexture =
await GameTextureManager.GetCardCloseUp(data.Id);
}
private void card_picture_handler()
{
if (p.controller != loaded_back)
try
{
loaded_back = (int) p.controller;
UIHelper.getByName(gameObject, "back").GetComponent<Renderer>().material.mainTexture =
{
loaded_back = (int) p.controller;
UIHelper.getByName(gameObject, "back").GetComponent<Renderer>().material.mainTexture =
loaded_back == 0 ? GameTextureManager.myBack : GameTextureManager.opBack;
if (data.Id == 0)
UIHelper.getByName(gameObject, "face").GetComponent<Renderer>().material.mainTexture =
loaded_back == 0 ? GameTextureManager.myBack : GameTextureManager.opBack;
if (data.Id == 0)
UIHelper.getByName(gameObject, "face").GetComponent<Renderer>().material.mainTexture =
loaded_back == 0 ? GameTextureManager.myBack : GameTextureManager.opBack;
del_one_tail(GameStringHelper.opHint);
if (loaded_back != controllerBased) add_string_tail(GameStringHelper.opHint);
}
catch (Exception e)
{
Debug.Log(e);
}
del_one_tail(GameStringHelper.opHint);
if (loaded_back != controllerBased) add_string_tail(GameStringHelper.opHint);
}
var special_hint = 0;
if ((p.position & (int) CardPosition.FaceDown) > 0)
......@@ -2007,37 +1967,36 @@ public class gameCard : OCGobject
if (show_off_disabled)
{
refreshFunctions.Add(SOH_dis);
SOH_dis();
Program.I().ocgcore.Sleep(42);
}
else if (show_off_shokewave)
{
if (Program.I().setting.setting.showoff.value == false ||
File.Exists("picture/closeup/" + data.Id + ".png") == false || data.Attack < Program.I().setting.atk &&
data.Level < Program.I().setting.star)
if (Program.I().setting.setting.showoff.value && File.Exists("picture/closeup/" + data.Id + ".png") &&
(data.Attack >= Program.I().setting.atk || data.Level >= Program.I().setting.star))
{
refreshFunctions.Add(SOH_nSum);
Program.I().ocgcore.Sleep(30);
SOH_sum();
Program.I().ocgcore.Sleep(72);
}
else
{
refreshFunctions.Add(SOH_sum);
Program.I().ocgcore.Sleep(72);
SOH_nSum();
Program.I().ocgcore.Sleep(30);
}
}
else
{
if (Program.I().setting.setting.showoffWhenActived.value == false ||
File.Exists("picture/closeup/" + data.Id + ".png") == false)
if (Program.I().setting.setting.showoffWhenActived.value &&
File.Exists("picture/closeup/" + data.Id + ".png"))
{
refreshFunctions.Add(SOH_nAct);
Program.I().ocgcore.Sleep(42);
SOH_act();
}
else
{
refreshFunctions.Add(SOH_act);
Program.I().ocgcore.Sleep(42);
SOH_nAct();
}
Program.I().ocgcore.Sleep(42);
}
}
......@@ -2047,112 +2006,76 @@ public class gameCard : OCGobject
private int show_off_begin_time;
private void SOH_act()
{
var tex = GameTextureManager.get(data.Id, GameTextureType.card_picture);
var texc = GameTextureManager.get(data.Id, GameTextureType.card_feature);
if (tex != null)
if (texc != null)
{
var k = GameTextureManager.getK(data.Id, GameTextureType.card_feature);
refreshFunctions.Remove(SOH_act);
var shower =
create(Program.I().Pro1_superCardShowerA, Program.I().ocgcore.centre(true), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<YGO1superShower>();
shower.card.mainTexture = tex;
shower.closeup.mainTexture = texc;
shower.closeup.height = (int) (500f / k);
shower.closeup.width = (int) (500f / k * texc.width / texc.height);
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 0.7f, false, true);
}
}
private void SOH_nAct()
{
var tex = GameTextureManager.get(data.Id, GameTextureType.card_picture);
if (tex != null)
{
refreshFunctions.Remove(SOH_nAct);
var shower =
create(Program.I().Pro1_CardShower, Program.I().ocgcore.centre(), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<pro1CardShower>();
shower.card.mainTexture = tex;
shower.mask.mainTexture = GameTextureManager.Mask;
shower.disable.mainTexture = GameTextureManager.negated;
shower.transform.localScale = Vector3.zero;
shower.gameObject.transform.localScale =
new Vector3(Screen.height / 650f, Screen.height / 650f, Screen.height / 650f);
shower.run();
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 0.7f, false, true);
}
}
private void SOH_sum()
{
var tex = GameTextureManager.get(data.Id, GameTextureType.card_picture);
var texc = GameTextureManager.get(data.Id, GameTextureType.card_feature);
if (tex != null)
if (texc != null)
{
var k = GameTextureManager.getK(data.Id, GameTextureType.card_feature);
refreshFunctions.Remove(SOH_sum);
var shower =
create(Program.I().Pro1_superCardShower, Program.I().ocgcore.centre(true), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<YGO1superShower>();
shower.card.mainTexture = tex;
shower.closeup.mainTexture = texc;
shower.closeup.height = (int) (500f / k);
shower.closeup.width = (int) (500f / k * texc.width / texc.height);
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 2f, false, true);
}
}
private void SOH_nSum()
{
var tex = GameTextureManager.get(data.Id, GameTextureType.card_picture);
if (tex != null)
{
refreshFunctions.Remove(SOH_nSum);
var shower =
create(Program.I().Pro1_CardShower, Program.I().ocgcore.centre(), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<pro1CardShower>();
shower.card.mainTexture = tex;
shower.mask.mainTexture = GameTextureManager.Mask;
shower.disable.mainTexture = GameTextureManager.negated;
shower.transform.localScale = Vector3.zero;
iTween.ScaleTo(shower.gameObject, iTween.Hash(
"scale",
new Vector3(Screen.height / 650f, Screen.height / 650f, Screen.height / 650f),
"time",
0.5f
));
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 0.5f, false, true);
}
}
private void SOH_dis()
{
var tex = GameTextureManager.get(data.Id, GameTextureType.card_picture);
if (tex != null)
{
refreshFunctions.Remove(SOH_dis);
var shower =
create(Program.I().Pro1_CardShower, Program.I().ocgcore.centre(), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<pro1CardShower>();
shower.card.mainTexture = tex;
shower.mask.mainTexture = GameTextureManager.Mask;
shower.disable.mainTexture = GameTextureManager.negated;
shower.transform.localScale = Vector3.zero;
shower.gameObject.transform.localScale =
new Vector3(Screen.height / 650f, Screen.height / 650f, Screen.height / 650f);
shower.Dis();
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 0.7f, false, true);
}
private async void SOH_act()
{
var k = 1; //GameTextureManager.getK(data.Id, GameTextureType.card_feature);
var shower =
create(Program.I().Pro1_superCardShowerA, Program.I().ocgcore.centre(true), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<YGO1superShower>();
shower.card.mainTexture = await GameTextureManager.GetCardPicture(data.Id);
shower.closeup.mainTexture = await GameTextureManager.GetCardCloseUp(data.Id);
shower.closeup.height = (int) (500f / k);
shower.closeup.width = (int) (500f / k * shower.closeup.mainTexture.width / shower.closeup.mainTexture.height);
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 0.7f, false, true);
}
private async void SOH_nAct()
{
var shower =
create(Program.I().Pro1_CardShower, Program.I().ocgcore.centre(), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<pro1CardShower>();
shower.card.mainTexture = await GameTextureManager.GetCardPicture(data.Id);
shower.mask.mainTexture = GameTextureManager.Mask;
shower.disable.mainTexture = GameTextureManager.negated;
shower.transform.localScale = Vector3.zero;
shower.gameObject.transform.localScale = Utils.UIHeight() / 650f * Vector3.one;
shower.run();
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 0.7f, false, true);
}
private async void SOH_sum()
{
var k = 1; //GameTextureManager.getK(data.Id, GameTextureType.card_feature);
var shower =
create(Program.I().Pro1_superCardShower, Program.I().ocgcore.centre(true), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<YGO1superShower>();
shower.card.mainTexture = await GameTextureManager.GetCardPicture(data.Id);
shower.closeup.mainTexture = await GameTextureManager.GetCardCloseUp(data.Id);
shower.closeup.height = (int) (500f / k);
shower.closeup.width = (int) (500f / k * shower.closeup.mainTexture.width / shower.closeup.mainTexture.height);
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 2f, false, true);
}
private async void SOH_nSum()
{
var shower =
create(Program.I().Pro1_CardShower, Program.I().ocgcore.centre(), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<pro1CardShower>();
shower.card.mainTexture = await GameTextureManager.GetCardPicture(data.Id);
shower.mask.mainTexture = GameTextureManager.Mask;
shower.disable.mainTexture = GameTextureManager.negated;
shower.transform.localScale = Vector3.zero;
shower.transform.DOScale(Utils.UIHeight() / 650f * Vector3.one, 0.5f);
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 0.5f, false, true);
}
private async void SOH_dis()
{
var shower =
create(Program.I().Pro1_CardShower, Program.I().ocgcore.centre(), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<pro1CardShower>();
shower.card.mainTexture = await GameTextureManager.GetCardPicture(data.Id);
shower.mask.mainTexture = GameTextureManager.Mask;
shower.disable.mainTexture = GameTextureManager.negated;
shower.transform.localScale = Vector3.zero;
shower.gameObject.transform.localScale = Utils.UIHeight() / 650f * Vector3.one;
shower.Dis();
Ocgcore.LRCgo = shower.gameObject;
destroy(shower.gameObject, 0.7f, false, true);
}
public void sortButtons()
......
......@@ -176,7 +176,7 @@ public class GameField : OCGobject
{
if (File.Exists("texture/duel/field.png"))
{
var textureField = UIHelper.getTexture2D("texture/duel/field.png");
var textureField = UIHelper.GetTexture2D("texture/duel/field.png");
var textureFieldSliced = UIHelper.sliceField(textureField);
leftT.mainTexture = textureFieldSliced[0];
midT.mainTexture = textureFieldSliced[1];
......@@ -197,7 +197,7 @@ public class GameField : OCGobject
{
if (File.Exists("texture/duel/newfield.png"))
{
var textureField = UIHelper.getTexture2D("texture/duel/newfield.png");
var textureField = UIHelper.GetTexture2D("texture/duel/newfield.png");
var textureFieldSliced = UIHelper.sliceField(textureField);
leftT.mainTexture = textureFieldSliced[0];
midT.mainTexture = textureFieldSliced[1];
......@@ -494,8 +494,8 @@ public class GameField : OCGobject
break;
}
if (tex == null) tex = UIHelper.getTexture2D("picture/field/" + code + ".png");
if (tex == null) tex = UIHelper.getTexture2D("picture/field/" + code + ".jpg");
if (tex == null) tex = UIHelper.GetTexture2D("picture/field/" + code + ".png");
if (tex == null) tex = UIHelper.GetTexture2D("picture/field/" + code + ".jpg");
if (tex != null)
{
UIHelper.getByName<UITexture>(gameObject, "field_" + player).mainTexture = tex;
......
......@@ -55,7 +55,7 @@ public class Ocgcore : ServantWithCardDescription
private readonly List<gameCard> cardsSelected = new List<gameCard>();
private bool clearAllShowedB;
private bool clearTimeFlag;
private long code_for_show;
private int code_for_show;
public Condition condition = Condition.duel;
public List<string> confirmedCards = new List<string>();
......@@ -474,11 +474,11 @@ public class Ocgcore : ServantWithCardDescription
Arrow.gameObject.SetActive(false);
replayShowAll = Config.Get("replayShowAll", "0") != "0";
reportShowAll = Config.Get("reportShowAll", "0") != "0";
gameInfo = Program.I().new_ui_gameInfo;
gameInfo.ini();
UIHelper.InterGameObject(gameInfo.gameObject);
shiftCondition(Condition.duel);
......@@ -7586,7 +7586,7 @@ public class Ocgcore : ServantWithCardDescription
if (leftExcited)
if (Input.GetKey(KeyCode.A) == false)
leftExcited = false;
//gameInfo.keepChain_set(false);
//gameInfo.keepChain_set(false);
}
base.ES_mouseUpEmpty();
......@@ -7603,7 +7603,7 @@ public class Ocgcore : ServantWithCardDescription
if (leftExcited)
if (Input.GetKey(KeyCode.A) == false)
leftExcited = false;
//gameInfo.keepChain_set(false);
//gameInfo.keepChain_set(false);
base.ES_mouseUpGameObject(gameObject);
}
......@@ -7613,7 +7613,7 @@ public class Ocgcore : ServantWithCardDescription
if (rightExcited)
if (Input.GetKey(KeyCode.S) == false)
rightExcited = false;
//gameInfo.ignoreChain_set(false);
//gameInfo.ignoreChain_set(false);
if (gameInfo.queryHashedButton("sendSelected"))
{
sendSelectedCards();
......@@ -7655,37 +7655,23 @@ public class Ocgcore : ServantWithCardDescription
target.animation_confirm_screenCenter(new Vector3(-30, 0, 0), 0.2f, 0.5f);
}
public void animation_show_card_code(long code)
public void animation_show_card_code(int code)
{
code_for_show = code;
AddUpdateAction_s(animation_show_card_code_handler);
animation_show_card_code_handler();
Sleep(30);
}
private void animation_show_card_code_handler()
private async void animation_show_card_code_handler()
{
var texture = GameTextureManager.get(code_for_show, GameTextureType.card_picture);
if (texture != null)
{
RemoveUpdateAction_s(animation_show_card_code_handler);
//Vector3 position = Program.I().main_camera.ScreenToWorldPoint(new Vector3(getScreenCenter(), Screen.height / 2f, 10));
//GameObject obj = create_s(Program.I().mod_simple_quad);
//obj.AddComponent<animation_screen_lock>().screen_point = new Vector3(getScreenCenter(), Screen.height / 2f, 6);
//obj.transform.eulerAngles = new Vector3(60, 0, 0);
//obj.GetComponent<Renderer>().material.mainTexture = texture;
//obj.transform.localPosition = position;
//obj.transform.localScale = new Vector3(3.2f, 4.6f, 1f);
//destroy(obj, 1f);
var shower =
create(Program.I().Pro1_CardShower, Program.I().ocgcore.centre(), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<pro1CardShower>();
shower.card.mainTexture = texture;
shower.mask.mainTexture = GameTextureManager.Mask;
shower.disable.mainTexture = GameTextureManager.negated;
shower.gameObject.transform.localScale =
new Vector3(Screen.height / 650f, Screen.height / 650f, Screen.height / 650f);
destroy(shower.gameObject, 0.5f);
}
var shower =
create(Program.I().Pro1_CardShower, Program.I().ocgcore.centre(), Vector3.zero, false,
Program.I().ui_main_2d).GetComponent<pro1CardShower>();
shower.card.mainTexture = await GameTextureManager.GetCardPicture(code_for_show);
shower.mask.mainTexture = GameTextureManager.Mask;
shower.disable.mainTexture = GameTextureManager.negated;
shower.gameObject.transform.localScale = Utils.UIHeight() / 650f * Vector3.one;
destroy(shower.gameObject, 0.5f);
}
private class linkMask
......
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using UnityEngine;
using YGOSharp;
using YGOSharp.OCGWrapper.Enums;
using Color = UnityEngine.Color;
public enum GameTextureType
{
card_picture = 0,
card_verticle_drawing = 1,
card_feature = 3
}
public class GameTextureManager
{
private static bool bLock;
private static readonly Stack<PictureResource> waitLoadStack = new Stack<PictureResource>();
private static readonly Dictionary<ulong, PictureResource> loadedList = new Dictionary<ulong, PictureResource>();
private static readonly Dictionary<ulong, bool> addedMap = new Dictionary<ulong, bool>();
private static readonly BetterList<UIPictureResource> allUI = new BetterList<UIPictureResource>();
public static Texture2D myBack;
public static Texture2D opBack;
public static Texture2D unknown;
public static Texture2D attack;
public static Texture2D negated;
public static Texture2D bar;
public static Texture2D exBar;
public static Texture2D lp;
public static Texture2D time;
public static Texture2D L;
public static Texture2D R;
public static Texture2D Chain;
public static Texture2D Mask;
public static Texture2D N;
public static Texture2D LINK;
public static Texture2D LINKm;
public static Texture2D nt;
public static Texture2D bp;
public static Texture2D ep;
public static Texture2D mp1;
public static Texture2D mp2;
public static Texture2D dp;
public static Texture2D sp;
public static Texture2D phase;
public static Texture2D rs;
public static Texture2D ts;
public static bool uiLoaded;
public static Color chainColor = Color.white;
public static void clearUnloaded()
{
while (true)
try
{
while (waitLoadStack.Count > 0)
{
var a = waitLoadStack.Pop();
addedMap.Remove(((ulong) a.type << 32) | (ulong) a.code);
}
break;
}
catch (Exception e)
{
Thread.Sleep(10);
Debug.Log(e);
}
}
public static void clearAll()
{
while (true)
try
{
waitLoadStack.Clear();
loadedList.Clear();
addedMap.Clear();
break;
}
catch (Exception e)
{
Thread.Sleep(10);
Debug.Log(e);
}
}
private static void thread_run()
{
while (Program.Running)
try
{
Thread.Sleep(50);
var thu = 0;
while (waitLoadStack.Count > 0)
{
thu++;
if (thu == 10)
{
Thread.Sleep(50);
thu = 0;
}
if (bLock == false)
{
PictureResource pic;
pic = waitLoadStack.Pop();
try
{
pic.pCard = (CardsManager.Get((int) pic.code).Type & (int) CardType.Pendulum) > 0;
}
catch (Exception e)
{
Debug.Log("e 0" + e);
}
if (pic.type == GameTextureType.card_feature)
try
{
ProcessingCardFeature(pic);
}
catch (Exception e)
{
Debug.Log("e 1" + e);
}
if (pic.type == GameTextureType.card_picture)
try
{
ProcessingCardPicture(pic);
}
catch (Exception e)
{
Debug.Log("e 2" + e);
}
if (pic.type == GameTextureType.card_verticle_drawing)
try
{
ProcessingVerticleDrawing(pic);
}
catch (Exception e)
{
Debug.Log("e 3" + e);
}
}
}
}
catch (Exception e)
{
Debug.Log("erroe 1" + e);
}
}
private static BitmapHelper getCloseup(PictureResource pic)
{
BitmapHelper bitmap = null;
var found = false;
var code = pic.code.ToString();
foreach (var zip in GameZipManager.Zips)
{
if (zip.Name.ToLower().EndsWith("script.zip"))
continue;
foreach (var file in zip.EntryFileNames)
if (Regex.IsMatch(file.ToLower(), "closeup/" + code + "\\.png$"))
{
var ms = new MemoryStream();
var e = zip[file];
e.Extract(ms);
bitmap = new BitmapHelper(ms);
found = true;
break;
}
if (found)
break;
}
if (!found)
{
var path = "picture/closeup/" + code + ".png";
if (File.Exists(path)) bitmap = new BitmapHelper(path);
}
return bitmap;
}
private static byte[] getPicture(PictureResource pic, out bool EightEdition)
{
EightEdition = false;
var code = pic.code.ToString();
foreach (var zip in GameZipManager.Zips)
{
if (zip.Name.ToLower().EndsWith("script.zip"))
continue;
foreach (var file in zip.EntryFileNames)
if (Regex.IsMatch(file.ToLower(), "pics/" + code + "\\.(jpg|png)$"))
{
var ms = new MemoryStream();
var e = zip[file];
e.Extract(ms);
return ms.ToArray();
}
}
var path = "picture/card/" + code + ".png";
if (!File.Exists(path)) path = "picture/card/" + code + ".jpg";
if (!File.Exists(path))
{
EightEdition = true;
path = "picture/cardIn8thEdition/" + code + ".png";
}
if (!File.Exists(path))
{
EightEdition = true;
path = "picture/cardIn8thEdition/" + code + ".jpg";
}
if (File.Exists(path))
using (var file = new FileStream(path, FileMode.Open, FileAccess.Read))
{
file.Seek(0, SeekOrigin.Begin);
var data = new byte[file.Length];
file.Read(data, 0, (int) file.Length);
return data;
}
return new byte[0];
}
private static void ProcessingCardFeature(PictureResource pic)
{
if (loadedList.ContainsKey(hashPic(pic.code, pic.type))) return;
var EightEdition = false;
var bitmap = getCloseup(pic);
if (bitmap != null)
{
int left;
int right;
int up;
int down;
CutTop(bitmap, out left, out right, out up, out down);
up = CutLeft(bitmap, up);
down = CutRight(bitmap, down);
right = CutButton(bitmap, right);
var width = right - left;
var height = down - up;
pic.hashed_data = new float[width, height, 4];
for (var w = 0; w < width; w++)
for (var h = 0; h < height; h++)
{
var color = bitmap.GetPixel(left + w, up + h);
var a = color.A / 255f;
if (w < 40)
if (a > w / (float) 40)
a = w / (float) 40;
if (w > width - 40)
if (a > 1f - (w - (width - 40)) / (float) 40)
a = 1f - (w - (width - 40)) / (float) 40;
if (h < 40)
if (a > h / (float) 40)
a = h / (float) 40;
if (h > height - 40)
if (a > 1f - (h - (height - 40)) / (float) 40)
a = 1f - (h - (height - 40)) / (float) 40;
pic.hashed_data[w, height - h - 1, 0] = color.R / 255f;
pic.hashed_data[w, height - h - 1, 1] = color.G / 255f;
pic.hashed_data[w, height - h - 1, 2] = color.B / 255f;
pic.hashed_data[w, height - h - 1, 3] = a;
}
caculateK(pic);
loadedList.Add(hashPic(pic.code, pic.type), pic);
}
else
{
var data = getPicture(pic, out EightEdition);
if (data.Length == 0)
{
pic.hashed_data = new float[10, 10, 4];
for (var w = 0; w < 10; w++)
for (var h = 0; h < 10; h++)
{
pic.hashed_data[w, h, 0] = 0;
pic.hashed_data[w, h, 1] = 0;
pic.hashed_data[w, h, 2] = 0;
pic.hashed_data[w, h, 3] = 0;
}
loadedList.Add(hashPic(pic.code, pic.type), pic);
}
else
{
var stream = new MemoryStream(data);
bitmap = new BitmapHelper(stream);
pic.hashed_data = getCuttedPic(bitmap, pic.pCard, EightEdition);
var width = pic.hashed_data.GetLength(0);
var height = pic.hashed_data.GetLength(1);
var size = (int) (height * 0.8);
var empWidth = (width - size) / 2;
var empHeight = (height - size) / 2;
var right = width - empWidth;
var buttom = height - empHeight;
for (var w = 0; w < width; w++)
for (var h = 0; h < height; h++)
{
var a = pic.hashed_data[w, h, 3];
if (w < empWidth)
if (a > w / (float) empWidth)
a = w / (float) empWidth;
if (h < empHeight)
if (a > h / (float) empHeight)
a = h / (float) empHeight;
if (w > right)
if (a > 1f - (w - right) / (float) empWidth)
a = 1f - (w - right) / (float) empWidth;
if (h > buttom)
if (a > 1f - (h - buttom) / (float) empHeight)
a = 1f - (h - buttom) / (float) empHeight;
pic.hashed_data[w, h, 3] = a * 0.7f;
}
loadedList.Add(hashPic(pic.code, pic.type), pic);
}
}
}
private static void caculateK(PictureResource pic)
{
//int width = pic.hashed_data.GetLength(0);
//int height = pic.hashed_data.GetLength(1);
//int left = 0;
//int right = width;
//if (width > height)
//{
// left = (width - height) / 2;
// right = width - left;
//}
//int all = 0;
//for (int h = 0; h < height; h++)
//{
// for (int w = left; w < right; w++)
// {
// if (pic.hashed_data[w, h, 3] > 0.05f)
// {
// all += 1;
// }
// }
//}
//float result = ((float)all) / (((float)height) * ((float)(height)));
//pic.k = result + 0.4f;
//if (pic.k > 1)
//{
// pic.k = 1f;
//}
//if (pic.k < 0)
//{
// pic.k = 0.1f;
//}
var width = pic.hashed_data.GetLength(0);
var height = pic.hashed_data.GetLength(1);
var h = 0;
for (h = height - 1; h > 0; h--)
{
var all = 0;
for (var w = 0; w < width; w++)
if (pic.hashed_data[w, h, 3] > 0.05f)
all += 1;
if (all * 5 > width) break;
}
pic.k = h / (float) height;
if (pic.k > 1) pic.k = 1f;
if (pic.k < 0) pic.k = 0.1f;
}
private static float[,,] getCuttedPic(BitmapHelper bitmap, bool pCard, bool EightEdition)
{
int left = 0, top = 0, right = bitmap.colors.GetLength(0), buttom = bitmap.colors.GetLength(1);
//right is width and buttom is height now
if (EightEdition)
{
if (pCard)
{
left = (int) (16f * right / 177f);
right = (int) (162f * right / 177f);
top = (int) (50f * buttom / 254f);
buttom = (int) (158f * buttom / 254f);
}
else
{
left = (int) (26f * right / 177f);
right = (int) (152f * right / 177f);
top = (int) (55f * buttom / 254f);
buttom = (int) (180f * buttom / 254f);
}
}
else
{
if (pCard)
{
left = (int) (25f * right / 322f);
right = (int) (290f * right / 322f);
top = (int) (73f * buttom / 402f);
buttom = (int) (245f * buttom / 402f);
}
else
{
left = (int) (40f * right / 322f);
right = (int) (280f * right / 322f);
top = (int) (75f * buttom / 402f);
buttom = (int) (280f * buttom / 402f);
}
}
var returnValue = new float[right - left, buttom - top, 4];
for (var w = 0; w < right - left; w++)
for (var h = 0; h < buttom - top; h++)
{
var color = bitmap.GetPixel(left + w, buttom - 1 - h);
returnValue[w, h, 0] = color.R / 255f;
returnValue[w, h, 1] = color.G / 255f;
returnValue[w, h, 2] = color.B / 255f;
returnValue[w, h, 3] = color.A / 255f;
}
return returnValue;
}
private static int CutButton(BitmapHelper bitmap, int right)
{
for (var w = bitmap.colors.GetLength(0) - 1; w >= 0; w--)
for (var h = 0; h < bitmap.colors.GetLength(1); h++)
{
var color = bitmap.GetPixel(w, h);
if (color.A > 10)
{
right = w;
return right;
}
}
return right;
}
private static int CutRight(BitmapHelper bitmap, int down)
{
for (var h = bitmap.colors.GetLength(1) - 1; h >= 0; h--)
for (var w = 0; w < bitmap.colors.GetLength(0); w++)
{
var color = bitmap.GetPixel(w, h);
if (color.A > 10)
{
down = h;
return down;
}
}
return down;
}
private static int CutLeft(BitmapHelper bitmap, int up)
{
for (var h = 0; h < bitmap.colors.GetLength(1); h++)
for (var w = 0; w < bitmap.colors.GetLength(0); w++)
{
var color = bitmap.GetPixel(w, h);
if (color.A > 10)
{
up = h;
return up;
}
}
return up;
}
private static void CutTop(BitmapHelper bitmap, out int left, out int right, out int up, out int down)
{
///////切边算法
left = 0;
right = bitmap.colors.GetLength(0);
up = 0;
down = bitmap.colors.GetLength(1);
for (var w = 0; w < bitmap.colors.GetLength(0); w++)
for (var h = 0; h < bitmap.colors.GetLength(1); h++)
{
var color = bitmap.GetPixel(w, h);
if (color.A > 10)
{
left = w;
return;
}
}
}
private static void ProcessingVerticleDrawing(PictureResource pic)
{
if (loadedList.ContainsKey(hashPic(pic.code, pic.type))) return;
var bitmap = getCloseup(pic);
if (bitmap == null)
{
bool EightEdition;
var data = getPicture(pic, out EightEdition);
if (data.Length == 0) return;
var stream = new MemoryStream(data);
bitmap = new BitmapHelper(stream);
pic.hashed_data = getCuttedPic(bitmap, pic.pCard, EightEdition);
softVtype(pic, 0.5f);
pic.k = 1;
//pic.autoMade = true;
}
else
{
int left;
int right;
int up;
int down;
CutTop(bitmap, out left, out right, out up, out down);
up = CutLeft(bitmap, up);
down = CutRight(bitmap, down);
right = CutButton(bitmap, right);
var width = right - left;
var height = down - up;
pic.hashed_data = new float[width, height, 4];
for (var w = 0; w < width; w++)
for (var h = 0; h < height; h++)
{
var color = bitmap.GetPixel(left + w, up + h);
pic.hashed_data[w, height - h - 1, 0] = color.R / 255f;
pic.hashed_data[w, height - h - 1, 1] = color.G / 255f;
pic.hashed_data[w, height - h - 1, 2] = color.B / 255f;
pic.hashed_data[w, height - h - 1, 3] = color.A / 255f;
}
float wholeUNalpha = 0;
for (var w = 0; w < width; w++)
{
if (pic.hashed_data[w, 0, 3] > 0.1f) wholeUNalpha += Math.Abs(w - width / 2) / (float) (width / 2);
if (pic.hashed_data[w, height - 1, 3] > 0.1f) wholeUNalpha += 1;
}
for (var h = 0; h < height; h++)
{
if (pic.hashed_data[0, h, 3] > 0.1f) wholeUNalpha += 1;
if (pic.hashed_data[width - 1, h, 3] > 0.1f) wholeUNalpha += 1;
}
if (wholeUNalpha >= (width + height) * 0.5f * 0.12f) softVtype(pic, 0.7f);
caculateK(pic);
}
loadedList.Add(hashPic(pic.code, pic.type), pic);
}
private static void softVtype(PictureResource pic, float si)
{
var width = pic.hashed_data.GetLength(0);
var height = pic.hashed_data.GetLength(1);
var size = (int) (height * si);
var empWidth = (width - size) / 2;
var empHeight = (height - size) / 2;
var right = width - empWidth;
var buttom = height - empHeight;
var dui = (float) Math.Sqrt(width / 2 * (width / 2) + height / 2 * (height / 2));
for (var w = 0; w < width; w++)
for (var h = 0; h < height; h++)
{
var a = pic.hashed_data[w, h, 3];
if (h < height / 2)
{
var l = (float) Math.Sqrt((width / 2 - w) * (width / 2 - w) + (height / 2 - h) * (height / 2 - h));
l -= width * 0.3f;
if (l < 0) l = 0;
var alpha = 1f - l / (0.6f * (dui - width * 0.3f));
if (alpha < 0) alpha = 0;
if (a > alpha)
a = alpha;
}
if (w < empWidth)
if (a > w / (float) empWidth)
a = w / (float) empWidth;
if (h < empHeight)
if (a > h / (float) empHeight)
a = h / (float) empHeight;
if (w > right)
if (a > 1f - (w - right) / (float) empWidth)
a = 1f - (w - right) / (float) empWidth;
if (h > buttom)
if (a > 1f - (h - buttom) / (float) empHeight)
a = 1f - (h - buttom) / (float) empHeight;
pic.hashed_data[w, h, 3] = a;
}
}
private static void ProcessingCardPicture(PictureResource pic)
{
if (loadedList.ContainsKey(hashPic(pic.code, pic.type))) return;
bool EightEdition;
var data = getPicture(pic, out EightEdition);
if (data.Length > 0)
{
pic.data = data;
loadedList.Add(hashPic(pic.code, pic.type), pic);
}
else
{
if (pic.code > 0)
pic.u_data = unknown;
else
pic.u_data = myBack;
loadedList.Add(hashPic(pic.code, pic.type), pic);
}
}
private static ulong hashPic(long code, GameTextureType type)
{
return ((ulong) type << 32) | (ulong) code;
}
public static Texture2D get(long code, GameTextureType type, Texture2D nullReturnValue = null)
{
try
{
PictureResource r;
if (loadedList.TryGetValue(hashPic(code, type), out r))
{
Texture2D re = null;
if (r.u_data != null)
{
if (r.u_data == myBack)
return nullReturnValue;
return r.u_data;
}
if (r.data != null)
{
re = new Texture2D(400, 600);
re.LoadImage(r.data);
r.u_data = re;
return re;
}
if (r.hashed_data != null)
{
var width = r.hashed_data.GetLength(0);
var height = r.hashed_data.GetLength(1);
var cols = new Color[width * height];
re = new Texture2D(width, height);
for (var h = 0; h < height; h++)
for (var w = 0; w < width; w++)
cols[h * width + w] = new Color(r.hashed_data[w, h, 0], r.hashed_data[w, h, 1],
r.hashed_data[w, h, 2], r.hashed_data[w, h, 3]);
re.SetPixels(0, 0, width, height, cols);
re.Apply();
r.u_data = re;
return re;
}
}
else
{
if (!addedMap.ContainsKey(hashPic(code, type)))
{
var a = new PictureResource(type, code, nullReturnValue);
bLock = true;
waitLoadStack.Push(a);
bLock = false;
addedMap.Add(((ulong) type << 32) | (ulong) code, true);
}
}
}
catch (Exception e)
{
Debug.Log("BIGERROR1:" + e);
}
return null;
}
public static float getK(long code, GameTextureType type)
{
float ret = 1;
PictureResource r;
if (loadedList.TryGetValue(hashPic(code, type), out r)) ret = r.k;
return ret;
}
public static Texture2D get(string name)
{
if (uiLoaded == false)
{
uiLoaded = true;
var fileInfos = new DirectoryInfo("texture/ui").GetFiles();
for (var i = 0; i < fileInfos.Length; i++)
if (fileInfos[i].Name.Length > 4)
if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".png")
{
var r = new UIPictureResource();
r.name = fileInfos[i].Name.Substring(0, fileInfos[i].Name.Length - 4);
r.data = UIHelper.getTexture2D("texture/ui/" + fileInfos[i].Name);
allUI.Add(r);
}
}
Texture2D re = null;
for (var i = 0; i < allUI.size; i++)
if (allUI[i].name == name)
{
re = allUI[i].data;
break;
}
if (re == null)
{
}
return re;
}
internal static void initialize()
{
attack = UIHelper.getTexture2D("texture/duel/attack.png");
myBack = UIHelper.getTexture2D("texture/duel/me.jpg");
opBack = UIHelper.getTexture2D("texture/duel/opponent.jpg");
unknown = UIHelper.getTexture2D("texture/duel/unknown.jpg");
negated = UIHelper.getTexture2D("texture/duel/negated.png");
bar = UIHelper.getTexture2D("texture/duel/healthBar/bg.png");
exBar = UIHelper.getTexture2D("texture/duel/healthBar/excited.png");
time = UIHelper.getTexture2D("texture/duel/healthBar/t.png");
lp = UIHelper.getTexture2D("texture/duel/healthBar/lp.png");
L = UIHelper.getTexture2D("texture/duel/L.png");
R = UIHelper.getTexture2D("texture/duel/R.png");
LINK = UIHelper.getTexture2D("texture/duel/link.png");
LINKm = UIHelper.getTexture2D("texture/duel/linkMask.png");
Chain = UIHelper.getTexture2D("texture/duel/chain.png");
Mask = UIHelper.getTexture2D("texture/duel/mask.png");
nt = UIHelper.getTexture2D("texture/duel/phase/nt.png");
bp = UIHelper.getTexture2D("texture/duel/phase/bp.png");
ep = UIHelper.getTexture2D("texture/duel/phase/ep.png");
mp1 = UIHelper.getTexture2D("texture/duel/phase/mp1.png");
mp2 = UIHelper.getTexture2D("texture/duel/phase/mp2.png");
dp = UIHelper.getTexture2D("texture/duel/phase/dp.png");
sp = UIHelper.getTexture2D("texture/duel/phase/sp.png");
phase = UIHelper.getTexture2D("texture/duel/phase/phase.png");
rs = UIHelper.getTexture2D("texture/duel/phase/rs.png");
ts = UIHelper.getTexture2D("texture/duel/phase/ts.png");
attack = UIHelper.GetTexture2D("texture/duel/attack.png");
myBack = UIHelper.GetTexture2D("texture/duel/me.jpg");
opBack = UIHelper.GetTexture2D("texture/duel/opponent.jpg");
unknown = UIHelper.GetTexture2D("texture/duel/unknown.jpg");
negated = UIHelper.GetTexture2D("texture/duel/negated.png");
bar = UIHelper.GetTexture2D("texture/duel/healthBar/bg.png");
exBar = UIHelper.GetTexture2D("texture/duel/healthBar/excited.png");
time = UIHelper.GetTexture2D("texture/duel/healthBar/t.png");
lp = UIHelper.GetTexture2D("texture/duel/healthBar/lp.png");
L = UIHelper.GetTexture2D("texture/duel/L.png");
R = UIHelper.GetTexture2D("texture/duel/R.png");
LINK = UIHelper.GetTexture2D("texture/duel/link.png");
LINKm = UIHelper.GetTexture2D("texture/duel/linkMask.png");
Chain = UIHelper.GetTexture2D("texture/duel/chain.png");
Mask = UIHelper.GetTexture2D("texture/duel/mask.png");
nt = UIHelper.GetTexture2D("texture/duel/phase/nt.png");
bp = UIHelper.GetTexture2D("texture/duel/phase/bp.png");
ep = UIHelper.GetTexture2D("texture/duel/phase/ep.png");
mp1 = UIHelper.GetTexture2D("texture/duel/phase/mp1.png");
mp2 = UIHelper.GetTexture2D("texture/duel/phase/mp2.png");
dp = UIHelper.GetTexture2D("texture/duel/phase/dp.png");
sp = UIHelper.GetTexture2D("texture/duel/phase/sp.png");
phase = UIHelper.GetTexture2D("texture/duel/phase/phase.png");
rs = UIHelper.GetTexture2D("texture/duel/phase/rs.png");
ts = UIHelper.GetTexture2D("texture/duel/phase/ts.png");
N = new Texture2D(10, 10);
for (var i = 0; i < 10; i++)
for (var a = 0; a < 10; a++)
N.SetPixel(i, a, new Color(0, 0, 0, 0));
N.Apply();
try
{
ColorUtility.TryParseHtmlString(File.ReadAllText("texture/duel/chainColor.txt"), out chainColor);
}
catch (Exception)
{
}
var main = new Thread(thread_run);
main.Start();
ColorUtility.TryParseHtmlString(File.ReadAllText("texture/duel/chainColor.txt"), out chainColor);
}
public class BitmapHelper
public static void clearAll()
{
public System.Drawing.Color[,] colors;
public BitmapHelper(string path)
{
Bitmap bitmap;
try
{
bitmap = (Bitmap) Image.FromFile(path);
}
catch (Exception)
{
bitmap = new Bitmap(10, 10);
for (var i = 0; i < 10; i++)
for (var w = 0; w < 10; w++)
bitmap.SetPixel(i, w, System.Drawing.Color.White);
}
init(bitmap);
}
public BitmapHelper(MemoryStream stream)
{
Bitmap bitmap;
try
{
bitmap = (Bitmap) Image.FromStream(stream);
}
catch (Exception)
{
bitmap = new Bitmap(10, 10);
for (var i = 0; i < 10; i++)
for (var w = 0; w < 10; w++)
bitmap.SetPixel(i, w, System.Drawing.Color.White);
}
loadedPicture.Clear();
loadedCloseUp.Clear();
}
init(bitmap);
}
private static readonly Dictionary<int, Task<Texture2D>> loadedPicture = new();
private static readonly Dictionary<int, Task<Texture2D>> loadedCloseUp = new();
private static readonly Dictionary<string, Texture2D> loadedUI = new();
private void init(Bitmap bitmap)
public static async Task<Texture2D> GetCardPicture(int code)
{
if (code == 0) return null;
if (loadedPicture.TryGetValue(code, out var cached)) return await cached;
foreach (var extname in new[] {".png", ".jpg"})
{
var bmpData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly,
PixelFormat.Format32bppArgb);
var ptr = bmpData.Scan0;
var bytes = Math.Abs(bmpData.Stride) * bitmap.Height;
var rgbValues = new byte[bytes];
Marshal.Copy(ptr, rgbValues, 0, bytes);
colors = new System.Drawing.Color[bitmap.Width, bitmap.Height];
for (var counter = 0; counter < rgbValues.Length; counter += 4)
var path = $"picture/card/{code}{extname}";
if (File.Exists(path))
{
var i_am = counter / 4;
colors[i_am % bitmap.Width, i_am / bitmap.Width]
=
System.Drawing.Color.FromArgb(
rgbValues[counter + 3],
rgbValues[counter + 2],
rgbValues[counter + 1],
rgbValues[counter + 0]);
var result = UIHelper.GetTexture2DAsync(path);
loadedPicture.Add(code, result);
return await result;
}
bitmap.UnlockBits(bmpData);
bitmap.Dispose();
}
public System.Drawing.Color GetPixel(int a, int b)
{
return colors[a, b];
}
return null;
}
private class PictureResource
public static async Task<Texture2D> GetCardCloseUp(int code)
{
public readonly long code;
//public bool autoMade = false;
public byte[] data;
public float[,,] hashed_data;
public float k = 1;
public Texture2D nullReturen;
public bool pCard;
public readonly GameTextureType type;
public Texture2D u_data;
public PictureResource(GameTextureType t, long c, Texture2D n)
if (loadedCloseUp.TryGetValue(code, out var cached)) return await cached;
var path = $"picture/closeup/{code}.png";
if (File.Exists(path))
{
type = t;
code = c;
nullReturen = n;
var result = UIHelper.GetTexture2DAsync(path);
loadedCloseUp.Add(code, result);
return await result;
}
return null;
}
private class UIPictureResource
public static Texture2D GetUI(string name)
{
public Texture2D data;
public string name;
var path = $"texture/ui/{name}.png";
if (loadedUI.TryGetValue(path, out var cached)) return cached;
var result = UIHelper.GetTexture2D(path);
loadedUI.Add(path, result);
return result;
}
}
\ No newline at end of file
......@@ -261,7 +261,7 @@ public class selectDeck : WindowServantSP
private void printSelected()
{
GameTextureManager.clearUnloaded();
// GameTextureManager.clearUnloaded();
Deck deck;
DeckManager.FromYDKtoCodedDeck("deck/" + deckSelected + ".ydk", out deck);
var mainAll = 0;
......@@ -287,7 +287,7 @@ public class selectDeck : WindowServantSP
if ((c.Type & (uint) CardType.Monster) > 0) mainMonster++;
if ((c.Type & (uint) CardType.Spell) > 0) mainSpell++;
if ((c.Type & (uint) CardType.Trap) > 0) mainTrap++;
quickCards[currentIndex].reCode(item);
quickCards[currentIndex].code = item;
var v = UIHelper.get_hang_lieArry(mainAll - 1, hangshu);
quickCards[currentIndex].transform.localPosition = new Vector3
(
......@@ -307,7 +307,7 @@ public class selectDeck : WindowServantSP
if ((c.Type & (uint) CardType.Monster) > 0) sideMonster++;
if ((c.Type & (uint) CardType.Spell) > 0) sideSpell++;
if ((c.Type & (uint) CardType.Trap) > 0) sideTrap++;
quickCards[currentIndex].reCode(item);
quickCards[currentIndex].code = item;
quickCards[currentIndex].transform.localPosition = new Vector3
(
-176.3f + UIHelper.get_left_right_indexZuo(0, 352f, sideAll - 1, deck.Side.Count, 10)
......@@ -327,7 +327,7 @@ public class selectDeck : WindowServantSP
if ((c.Type & (uint) CardType.Synchro) > 0) extraSync++;
if ((c.Type & (uint) CardType.Xyz) > 0) extraXyz++;
if ((c.Type & (uint) CardType.Link) > 0) extraLink++;
quickCards[currentIndex].reCode(item);
quickCards[currentIndex].code = item;
quickCards[currentIndex].transform.localPosition = new Vector3
(
-176.3f + UIHelper.get_left_right_indexZuo(0, 352f, extraAll - 1, deck.Extra.Count, 10)
......
......@@ -644,12 +644,12 @@ public class Servant
defbutton.transform.localPosition = new Vector3(62.8f, 0f, 0f);
}
var cardPicLoader_ = currentMSwindow.AddComponent<cardPicLoader>();
cardPicLoader_.code = code;
cardPicLoader_.uiTexture = atkpic;
cardPicLoader_ = currentMSwindow.AddComponent<cardPicLoader>();
cardPicLoader_.code = int.Parse(def.value) == (int) CardPosition.FaceDownDefence ? 0 : code;
cardPicLoader_.uiTexture = UIHelper.getByName<UITexture>(currentMSwindow, "defPic_");
var cardPicLoader = currentMSwindow.AddComponent<cardPicLoader>();
cardPicLoader.uiTexture = atkpic;
cardPicLoader.code = code;
cardPicLoader = currentMSwindow.AddComponent<cardPicLoader>();
cardPicLoader.uiTexture = UIHelper.getByName<UITexture>(currentMSwindow, "defPic_");
cardPicLoader.code = int.Parse(def.value) == (int) CardPosition.FaceDownDefence ? 0 : code;
}
public void RMSshow_tp(string hashCode, messageSystemValue jiandao, messageSystemValue shitou,
......
......@@ -799,19 +799,18 @@ public class DeckManager : ServantWithCardDescription
});
}
private GameObject itemOnListProducer(string[] Args)
private GameObject itemOnListProducer(string[] args)
{
GameObject returnValue = null;
returnValue = create(Program.I().new_ui_cardOnSearchList, Vector3.zero, Vector3.zero, false,
var returnValue = create(Program.I().new_ui_cardOnSearchList, Vector3.zero, Vector3.zero, false,
Program.I().ui_back_ground_2d);
UIHelper.getRealEventGameObject(returnValue).name = Args[0];
UIHelper.trySetLableText(returnValue, Args[2]);
var cardPicLoader_ = UIHelper.getRealEventGameObject(returnValue).AddComponent<cardPicLoader>();
cardPicLoader_.code = int.Parse(Args[0]);
cardPicLoader_.data = CardsManager.Get(int.Parse(Args[0]));
cardPicLoader_.uiTexture = UIHelper.getByName<UITexture>(returnValue, "pic_");
cardPicLoader_.ico = UIHelper.getByName<ban_icon>(returnValue);
cardPicLoader_.ico.show(3);
UIHelper.getRealEventGameObject(returnValue).name = args[0];
UIHelper.trySetLableText(returnValue, args[2]);
var cardPicLoader = UIHelper.getRealEventGameObject(returnValue).AddComponent<cardPicLoader>();
cardPicLoader.uiTexture = UIHelper.getByName<UITexture>(returnValue, "pic_");
cardPicLoader.code = int.Parse(args[0]);
cardPicLoader.data = CardsManager.Get(int.Parse(args[0]));
cardPicLoader.ico = UIHelper.getByName<ban_icon>(returnValue);
cardPicLoader.ico.show(3);
return returnValue;
}
......
......@@ -20,12 +20,12 @@ public class ban_icon : MonoBehaviour
UITexture t = gameObject.GetComponent<UITexture>();
if (t != null)
{
t.mainTexture = GameTextureManager.get("ban_" + i.ToString());
t.mainTexture = GameTextureManager.GetUI("ban_" + i.ToString());
}
else
{
Renderer r = GetComponent<Renderer>();
r.material.mainTexture = GameTextureManager.get("ban_" + i.ToString());
r.material.mainTexture = GameTextureManager.GetUI("ban_" + i.ToString());
}
}
}
......@@ -60,6 +60,7 @@ TextureImporter:
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
......@@ -376,6 +377,19 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
all_button_6: 21300012
all_button_3: 21300006
all_button_4: 21300008
all_button_11: 21300022
all_button_2: 21300004
all_button_1: 21300002
all_button_10: 21300020
all_button_8: 21300016
all_button_7: 21300014
all_button_0: 21300000
all_button_5: 21300010
all_button_9: 21300018
spritePackingTag: button_ocgcore
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
......
......@@ -144,6 +144,7 @@ TextureImporter:
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
......@@ -1048,6 +1049,47 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
num_29: 21300058
num_2: 21300004
num_18: 21300036
num_25: 21300050
num_10: 21300020
num_19: 21300038
num_15: 21300030
num_20: 21300040
num_38: 21300076
num_3: 21300006
num_30: 21300060
num_16: 21300032
num_1: 21300002
num_37: 21300074
num_22: 21300044
num_11: 21300022
num_26: 21300052
num_39: 21300078
num_0: 21300000
num_23: 21300046
num_32: 21300064
num_9: 21300018
num_14: 21300028
num_27: 21300054
num_24: 21300048
num_12: 21300024
num_5: 21300010
num_21: 21300042
num_34: 21300068
num_31: 21300062
num_8: 21300016
num_28: 21300056
num_17: 21300034
num_13: 21300026
num_36: 21300072
num_6: 21300012
num_33: 21300066
num_35: 21300070
num_7: 21300014
num_4: 21300008
spritePackingTag: ocgcore_numbers
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
......
......@@ -84,6 +84,7 @@ TextureImporter:
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
......@@ -568,6 +569,27 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
num2_11: 21300022
num2_6: 21300012
num2_8: 21300016
num2_9: 21300018
num2_5: 21300010
num2_17: 21300034
num2_18: 21300036
num2_1: 21300002
num2_0: 21300000
num2_12: 21300024
num2_10: 21300020
num2_14: 21300028
num2_15: 21300030
num2_4: 21300008
num2_19: 21300038
num2_13: 21300026
num2_16: 21300032
num2_3: 21300006
num2_2: 21300004
num2_7: 21300014
spritePackingTag: num2
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
......
......@@ -75,6 +75,7 @@ TextureImporter:
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
......@@ -349,6 +350,17 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable:
Default Sprite Atlas_8: 21300030
Default Sprite Atlas_6: 21300016
Default Sprite Atlas_2: 21300010
Default Sprite Atlas_3: 21300006
Default Sprite Atlas_5: 21300026
Default Sprite Atlas_7: 21300028
Default Sprite Atlas_9: 21300032
Default Sprite Atlas_0: 21300024
Default Sprite Atlas_1: 21300020
Default Sprite Atlas_4: 21300022
spritePackingTag:
pSDRemoveMatte: 1
pSDShowRemoveMatteOption: 1
......
......@@ -4,7 +4,7 @@
"com.unity.ide.visualstudio": "2.0.11",
"com.unity.ide.vscode": "1.2.3",
"com.unity.test-framework": "1.1.27",
"com.unity.timeline": "1.5.6",
"com.unity.timeline": "1.6.1",
"com.unity.ugui": "1.0.0",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
......
......@@ -44,7 +44,7 @@
"url": "https://packages.unity.com"
},
"com.unity.timeline": {
"version": "1.5.6",
"version": "1.6.1",
"depth": 0,
"source": "registry",
"dependencies": {
......
......@@ -3,7 +3,7 @@
--- !u!129 &1
PlayerSettings:
m_ObjectHideFlags: 0
serializedVersion: 15
serializedVersion: 22
productGUID: 23639be819f24d044ae93a28448a771b
AndroidProfiler: 0
AndroidFilterTouchesWhenObscured: 0
......@@ -17,8 +17,8 @@ PlayerSettings:
defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
m_ShowUnitySplashScreen: 0
m_ShowUnitySplashLogo: 0
m_ShowUnitySplashScreen: 1
m_ShowUnitySplashLogo: 1
m_SplashScreenOverlayOpacity: 1
m_SplashScreenAnimation: 1
m_SplashScreenLogoStyle: 1
......@@ -49,11 +49,12 @@ PlayerSettings:
m_StereoRenderingPath: 0
m_ActiveColorSpace: 0
m_MTRendering: 1
mipStripping: 0
numberOfMipsStripped: 0
m_StackTraceTypes: 010000000100000001000000010000000100000001000000
iosShowActivityIndicatorOnLoading: -1
androidShowActivityIndicatorOnLoading: -1
iosAppInBackgroundBehavior: 0
displayResolutionDialog: 0
iosUseCustomAppBackgroundBehavior: 0
iosAllowHTTPDownload: 1
allowedAutorotateToPortrait: 1
allowedAutorotateToPortraitUpsideDown: 1
......@@ -63,7 +64,16 @@ PlayerSettings:
use32BitDisplayBuffer: 1
preserveFramebufferAlpha: 0
disableDepthAndStencilBuffers: 0
androidStartInFullscreen: 1
androidRenderOutsideSafeArea: 1
androidUseSwappy: 0
androidBlitType: 0
androidResizableWindow: 0
androidDefaultWindowWidth: 1920
androidDefaultWindowHeight: 1080
androidMinimumWindowWidth: 400
androidMinimumWindowHeight: 300
androidFullscreenMode: 1
defaultIsNativeResolution: 1
macRetinaSupport: 1
runInBackground: 1
......@@ -77,11 +87,11 @@ PlayerSettings:
usePlayerLog: 1
bakeCollisionMeshes: 0
forceSingleInstance: 0
useFlipModelSwapchain: 1
resizableWindow: 1
useMacAppStoreValidation: 0
macAppStoreCategory: public.app-category.games
gpuSkinning: 0
graphicsJobs: 0
xboxPIXTextureCapture: 0
xboxEnableAvatar: 0
xboxEnableKinect: 0
......@@ -89,29 +99,35 @@ PlayerSettings:
xboxEnableFitness: 0
visibleInBackground: 0
allowFullscreenSwitch: 1
graphicsJobMode: 0
fullscreenMode: 1
xboxSpeechDB: 0
xboxEnableHeadOrientation: 0
xboxEnableGuest: 0
xboxEnablePIXSampling: 0
metalFramebufferOnly: 0
n3dsDisableStereoscopicView: 0
n3dsEnableSharedListOpt: 1
n3dsEnableVSync: 0
xboxOneResolution: 0
xboxOneSResolution: 0
xboxOneXResolution: 3
xboxOneMonoLoggingLevel: 0
xboxOneLoggingLevel: 1
xboxOneDisableEsram: 0
xboxOneEnableTypeOptimization: 0
xboxOnePresentImmediateThreshold: 0
switchQueueCommandMemory: 0
videoMemoryForVertexBuffers: 0
psp2PowerMode: 0
psp2AcquireBGM: 1
switchQueueControlMemory: 16384
switchQueueComputeMemory: 262144
switchNVNShaderPoolsGranularity: 33554432
switchNVNDefaultPoolsGranularity: 16777216
switchNVNOtherPoolsGranularity: 16777216
switchNVNMaxPublicTextureIDCount: 0
switchNVNMaxPublicSamplerIDCount: 0
stadiaPresentMode: 0
stadiaTargetFramerate: 0
vulkanNumSwapchainBuffers: 3
vulkanEnableSetSRGBWrite: 0
vulkanUseSWCommandBuffers: 0
vulkanEnablePreTransform: 0
vulkanEnableLateAcquireNextImage: 0
vulkanEnableCommandBufferRecycling: 1
m_SupportedAspectRatios:
4:3: 1
5:4: 1
......@@ -125,27 +141,12 @@ PlayerSettings:
m_HolographicPauseOnTrackingLoss: 1
xboxOneDisableKinectGpuReservation: 0
xboxOneEnable7thCore: 0
isWsaHolographicRemotingEnabled: 0
vrSettings:
cardboard:
depthFormat: 0
enableTransitionView: 0
daydream:
depthFormat: 0
useSustainedPerformanceMode: 0
enableVideoLayer: 0
useProtectedVideoMemory: 0
minimumSupportedHeadTracking: 0
maximumSupportedHeadTracking: 1
hololens:
depthFormat: 1
depthBufferSharingEnabled: 0
oculus:
sharedDepthBuffer: 0
dashSupport: 0
enable360StereoCapture: 0
protectGraphicsMemory: 0
isWsaHolographicRemotingEnabled: 0
enableFrameTimingStats: 0
useHDRDisplay: 0
D3DHDRBitDepth: 0
m_ColorGamuts: 00000000
targetPixelDensity: 30
resolutionScalingMode: 0
......@@ -153,14 +154,17 @@ PlayerSettings:
androidMaxAspectRatio: 2.1
applicationIdentifier:
Android: com.YGOPro2.YGOPro2
Standalone: unity.YGOPro2.YGOPro2
Standalone: com.YGOPro2.YGOPro2
Tizen: com.YGOPro2.YGOPro2
iOS: com.YGOPro2.YGOPro2
iPhone: com.YGOPro2.YGOPro2
tvOS: com.YGOPro2.YGOPro2
buildNumber:
iOS:
Standalone: 0
iPhone: 0
tvOS: 0
overrideDefaultApplicationIdentifier: 0
AndroidBundleVersionCode: 1
AndroidMinSdkVersion: 16
AndroidMinSdkVersion: 19
AndroidTargetSdkVersion: 0
AndroidPreferredInstallLocation: 1
aotOptions:
......@@ -175,28 +179,16 @@ PlayerSettings:
StripUnusedMeshComponents: 0
VertexChannelCompressionMask: 214
iPhoneSdkVersion: 988
iOSTargetOSVersionString: 8.0
iOSTargetOSVersionString: 11.0
tvOSSdkVersion: 0
tvOSRequireExtendedGameController: 0
tvOSTargetOSVersionString: 9.0
tvOSTargetOSVersionString: 11.0
uIPrerenderedIcon: 0
uIRequiresPersistentWiFi: 0
uIRequiresFullScreen: 1
uIStatusBarHidden: 1
uIExitOnSuspend: 0
uIStatusBarStyle: 0
iPhoneSplashScreen: {fileID: 0}
iPhoneHighResSplashScreen: {fileID: 0}
iPhoneTallHighResSplashScreen: {fileID: 0}
iPhone47inSplashScreen: {fileID: 0}
iPhone55inPortraitSplashScreen: {fileID: 0}
iPhone55inLandscapeSplashScreen: {fileID: 0}
iPhone58inPortraitSplashScreen: {fileID: 0}
iPhone58inLandscapeSplashScreen: {fileID: 0}
iPadPortraitSplashScreen: {fileID: 0}
iPadHighResPortraitSplashScreen: {fileID: 0}
iPadLandscapeSplashScreen: {fileID: 0}
iPadHighResLandscapeSplashScreen: {fileID: 0}
appleTVSplashScreen: {fileID: 0}
appleTVSplashScreen2x: {fileID: 0}
tvOSSmallIconLayers: []
......@@ -224,8 +216,8 @@ PlayerSettings:
iOSLaunchScreeniPadFillPct: 100
iOSLaunchScreeniPadSize: 100
iOSLaunchScreeniPadCustomXibPath:
iOSUseLaunchScreenStoryboard: 0
iOSLaunchScreenCustomStoryboardPath:
iOSLaunchScreeniPadCustomStoryboardPath:
iOSDeviceRequirements: []
iOSURLSchemes: []
iOSBackgroundModes: 0
......@@ -233,6 +225,7 @@ PlayerSettings:
metalEditorSupport: 1
metalAPIValidation: 1
iOSRenderExtraFrameOnPause: 1
iosCopyPluginsCodeInsteadOfSymlink: 0
appleDeveloperTeamID:
iOSManualSigningProvisioningProfileID:
tvOSManualSigningProvisioningProfileID:
......@@ -240,15 +233,24 @@ PlayerSettings:
tvOSManualSigningProvisioningProfileType: 0
appleEnableAutomaticSigning: 0
iOSRequireARKit: 0
iOSAutomaticallyDetectAndAddCapabilities: 1
appleEnableProMotion: 0
vulkanEditorSupport: 0
shaderPrecisionModel: 0
clonedFromGUID: 00000000000000000000000000000000
templatePackageId:
templateDefaultScene:
useCustomMainManifest: 0
useCustomLauncherManifest: 0
useCustomMainGradleTemplate: 0
useCustomLauncherGradleManifest: 0
useCustomBaseGradleTemplate: 0
useCustomGradlePropertiesTemplate: 0
useCustomProguardFile: 0
AndroidTargetArchitectures: 5
AndroidTargetDevices: 0
AndroidSplashScreenScale: 0
androidSplashScreen: {fileID: 0}
AndroidKeystoreName:
AndroidKeystoreName: '{inproject}: '
AndroidKeyaliasName:
AndroidBuildApkPerCpuArchitecture: 0
AndroidTVCompatibility: 1
......@@ -256,12 +258,18 @@ PlayerSettings:
AndroidEnableTango: 0
androidEnableBanner: 1
androidUseLowAccuracyLocation: 0
androidUseCustomKeystore: 0
m_AndroidBanners:
- width: 320
height: 180
banner: {fileID: 0}
androidGamepadSupportLevel: 0
resolutionDialogBanner: {fileID: 0}
chromeosInputEmulation: 1
AndroidMinifyWithR8: 0
AndroidMinifyRelease: 0
AndroidMinifyDebug: 0
AndroidValidateAppBundleSize: 1
AndroidAppBundleSizeToValidate: 150
m_BuildTargetIcons:
- m_BuildTarget:
m_Icons:
......@@ -309,11 +317,54 @@ PlayerSettings:
m_Kind: 0
m_BuildTargetPlatformIcons: []
m_BuildTargetBatching: []
m_BuildTargetGraphicsAPIs: []
m_BuildTargetGraphicsJobs:
- m_BuildTarget: MacStandaloneSupport
m_GraphicsJobs: 0
- m_BuildTarget: Switch
m_GraphicsJobs: 0
- m_BuildTarget: MetroSupport
m_GraphicsJobs: 0
- m_BuildTarget: GameCoreScarlettSupport
m_GraphicsJobs: 0
- m_BuildTarget: AppleTVSupport
m_GraphicsJobs: 0
- m_BuildTarget: BJMSupport
m_GraphicsJobs: 0
- m_BuildTarget: LinuxStandaloneSupport
m_GraphicsJobs: 0
- m_BuildTarget: GameCoreXboxOneSupport
m_GraphicsJobs: 0
- m_BuildTarget: PS4Player
m_GraphicsJobs: 0
- m_BuildTarget: iOSSupport
m_GraphicsJobs: 0
- m_BuildTarget: PS5Player
m_GraphicsJobs: 0
- m_BuildTarget: WindowsStandaloneSupport
m_GraphicsJobs: 0
- m_BuildTarget: XboxOnePlayer
m_GraphicsJobs: 0
- m_BuildTarget: LuminSupport
m_GraphicsJobs: 0
- m_BuildTarget: CloudRendering
m_GraphicsJobs: 0
- m_BuildTarget: AndroidPlayer
m_GraphicsJobs: 0
- m_BuildTarget: WebGLSupport
m_GraphicsJobs: 0
m_BuildTargetGraphicsJobMode:
- m_BuildTarget: PS4Player
m_GraphicsJobMode: 0
- m_BuildTarget: XboxOnePlayer
m_GraphicsJobMode: 0
m_BuildTargetGraphicsAPIs:
- m_BuildTarget: iOSSupport
m_APIs: 10000000
m_Automatic: 1
m_BuildTargetVRSettings: []
m_BuildTargetEnableVuforiaSettings: []
openGLRequireES31: 0
openGLRequireES31AEP: 0
openGLRequireES32: 0
m_TemplateCustomTags: {}
mobileMTRendering:
iPhone: 1
......@@ -326,6 +377,7 @@ PlayerSettings:
- m_BuildTarget: PS4
m_EncodingQuality: 1
m_BuildTargetGroupLightmapSettings: []
m_BuildTargetNormalMapEncoding: []
playModeTestRunnerEnabled: 0
runPlayModeTestAsEditModeTest: 0
actionOnDotNetUnhandledException: 1
......@@ -335,12 +387,16 @@ PlayerSettings:
cameraUsageDescription:
locationUsageDescription:
microphoneUsageDescription:
bluetoothUsageDescription:
switchNMETAOverride:
switchNetLibKey:
switchSocketMemoryPoolSize: 6144
switchSocketAllocatorPoolSize: 128
switchSocketConcurrencyLimit: 14
switchScreenResolutionBehavior: 2
switchUseCPUProfiler: 0
switchUseGOLDLinker: 0
switchLTOSetting: 0
switchApplicationID: 0x01004b9000490000
switchNSODependencies:
switchTitleNames_0:
......@@ -358,6 +414,7 @@ PlayerSettings:
switchTitleNames_12:
switchTitleNames_13:
switchTitleNames_14:
switchTitleNames_15:
switchPublisherNames_0:
switchPublisherNames_1:
switchPublisherNames_2:
......@@ -373,6 +430,7 @@ PlayerSettings:
switchPublisherNames_12:
switchPublisherNames_13:
switchPublisherNames_14:
switchPublisherNames_15:
switchIcons_0: {fileID: 0}
switchIcons_1: {fileID: 0}
switchIcons_2: {fileID: 0}
......@@ -388,6 +446,7 @@ PlayerSettings:
switchIcons_12: {fileID: 0}
switchIcons_13: {fileID: 0}
switchIcons_14: {fileID: 0}
switchIcons_15: {fileID: 0}
switchSmallIcons_0: {fileID: 0}
switchSmallIcons_1: {fileID: 0}
switchSmallIcons_2: {fileID: 0}
......@@ -403,6 +462,7 @@ PlayerSettings:
switchSmallIcons_12: {fileID: 0}
switchSmallIcons_13: {fileID: 0}
switchSmallIcons_14: {fileID: 0}
switchSmallIcons_15: {fileID: 0}
switchManualHTML:
switchAccessibleURLs:
switchLegalInformation:
......@@ -434,6 +494,7 @@ PlayerSettings:
switchRatingsInt_9: 0
switchRatingsInt_10: 0
switchRatingsInt_11: 0
switchRatingsInt_12: 0
switchLocalCommunicationIds_0:
switchLocalCommunicationIds_1:
switchLocalCommunicationIds_2:
......@@ -448,6 +509,7 @@ PlayerSettings:
switchAllowsRuntimeAddOnContentInstall: 0
switchDataLossConfirmation: 0
switchUserAccountLockEnabled: 0
switchSystemResourceMemory: 16777216
switchSupportedNpadStyles: 3
switchNativeFsCacheSize: 32
switchIsHoldTypeHorizontal: 0
......@@ -463,6 +525,9 @@ PlayerSettings:
switchSocketInitializeEnabled: 1
switchNetworkInterfaceManagerInitializeEnabled: 1
switchPlayerConnectionEnabled: 1
switchUseNewStyleFilepaths: 0
switchUseMicroSleepForYield: 1
switchMicroSleepForYieldTime: 25
ps4NPAgeRating: 12
ps4NPTitleSecret:
ps4NPTrophyPackPath:
......@@ -489,6 +554,7 @@ PlayerSettings:
ps4ShareFilePath:
ps4ShareOverlayImagePath:
ps4PrivacyGuardImagePath:
ps4ExtraSceSysFile:
ps4NPtitleDatPath:
ps4RemotePlayKeyAssignment: -1
ps4RemotePlayKeyMappingDir:
......@@ -501,6 +567,7 @@ PlayerSettings:
ps4DownloadDataSize: 0
ps4GarlicHeapSize: 2048
ps4ProGarlicHeapSize: 2560
playerPrefsMaxSize: 32768
ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
ps4pnSessions: 1
ps4pnPresence: 1
......@@ -508,10 +575,12 @@ PlayerSettings:
ps4pnGameCustomData: 1
playerPrefsSupport: 0
enableApplicationExit: 0
resetTempFolder: 1
restrictedAudioUsageRights: 0
ps4UseResolutionFallback: 0
ps4ReprojectionSupport: 0
ps4UseAudio3dBackend: 0
ps4UseLowGarlicFragmentationMode: 1
ps4SocialScreenEnabled: 0
ps4ScriptOptimizationLevel: 3
ps4Audio3dVirtualSpeakerCount: 14
......@@ -528,58 +597,16 @@ PlayerSettings:
ps4disableAutoHideSplash: 0
ps4videoRecordingFeaturesUsed: 0
ps4contentSearchFeaturesUsed: 0
ps4CompatibilityPS5: 0
ps4AllowPS5Detection: 0
ps4GPU800MHz: 1
ps4attribEyeToEyeDistanceSettingVR: 0
ps4IncludedModules: []
ps4attribVROutputEnabled: 0
monoEnv:
psp2Splashimage: {fileID: 0}
psp2NPTrophyPackPath:
psp2NPSupportGBMorGJP: 0
psp2NPAgeRating: 12
psp2NPTitleDatPath:
psp2NPCommsID:
psp2NPCommunicationsID:
psp2NPCommsPassphrase:
psp2NPCommsSig:
psp2ParamSfxPath:
psp2ManualPath:
psp2LiveAreaGatePath:
psp2LiveAreaBackroundPath:
psp2LiveAreaPath:
psp2LiveAreaTrialPath:
psp2PatchChangeInfoPath:
psp2PatchOriginalPackage:
psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui
psp2KeystoneFile:
psp2MemoryExpansionMode: 0
psp2DRMType: 0
psp2StorageType: 0
psp2MediaCapacity: 0
psp2DLCConfigPath:
psp2ThumbnailPath:
psp2BackgroundPath:
psp2SoundPath:
psp2TrophyCommId:
psp2TrophyPackagePath:
psp2PackagedResourcesPath:
psp2SaveDataQuota: 10240
psp2ParentalLevel: 1
psp2ShortTitle: Not Set
psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF
psp2Category: 0
psp2MasterVersion: 01.00
psp2AppVersion: 01.00
psp2TVBootMode: 0
psp2EnterButtonAssignment: 2
psp2TVDisableEmu: 0
psp2AllowTwitterDialog: 1
psp2Upgradable: 0
psp2HealthWarning: 0
psp2UseLibLocation: 0
psp2InfoBarOnStartup: 0
psp2InfoBarColor: 0
psp2ScriptOptimizationLevel: 2
splashScreenBackgroundSourceLandscape: {fileID: 0}
splashScreenBackgroundSourcePortrait: {fileID: 0}
blurSplashScreenBackground: 1
spritePackerPolicy:
webGLMemorySize: 256
webGLExceptionSupport: 1
......@@ -592,26 +619,37 @@ PlayerSettings:
webGLAnalyzeBuildSize: 0
webGLUseEmbeddedResources: 0
webGLCompressionFormat: 1
webGLWasmArithmeticExceptions: 0
webGLLinkerTarget: 1
webGLThreadsSupport: 0
webGLDecompressionFallback: 0
scriptingDefineSymbols:
1:
additionalCompilerArguments: {}
platformArchitecture:
iOS: 2
iPhone: 1
scriptingBackend:
Metro: 2
Standalone: 0
WP8: 2
WebGL: 1
WebPlayer: 0
iOS: 1
Windows Store Apps: 2
iPhone: 1
il2cppCompilerConfiguration: {}
managedStrippingLevel: {}
incrementalIl2cppBuild:
iOS: 0
iPhone: 0
suppressCommonWarnings: 1
allowUnsafeCode: 1
useDeterministicCompilation: 1
enableRoslynAnalyzers: 1
additionalIl2CppArgs:
scriptingRuntimeVersion: 0
scriptingRuntimeVersion: 1
gcIncremental: 1
assemblyVersionValidation: 1
gcWBarrierValidation: 0
apiCompatibilityLevelPerPlatform:
Standalone: 1
Standalone: 6
m_RenderingPath: 1
m_MobileRenderingPath: 1
metroPackageName: ygofroge
......@@ -628,27 +666,18 @@ PlayerSettings:
metroMediumTileShowName: 0
metroLargeTileShowName: 0
metroWideTileShowName: 0
metroSupportStreamingInstall: 0
metroLastRequiredScene: 0
metroDefaultTileSize: 1
metroTileForegroundText: 1
metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
metroSplashScreenUseBackgroundColor: 0
platformCapabilities: {}
metroTargetDeviceFamilies: {}
metroFTAName:
metroFTAFileTypes: []
metroProtocolName:
metroCompilationOverrides: 1
n3dsUseExtSaveData: 0
n3dsCompressStaticMem: 1
n3dsExtSaveDataNumber: 0x12345
n3dsStackSize: 131072
n3dsTargetPlatform: 2
n3dsRegion: 7
n3dsMediaSize: 0
n3dsLogoStyle: 3
n3dsTitle: GameName
n3dsProductCode:
n3dsApplicationId: 0xFF3FF
XboxOneProductId:
XboxOneUpdateKey:
XboxOneSandboxId:
......@@ -667,23 +696,35 @@ PlayerSettings:
XboxOneCapability: []
XboxOneGameRating: {}
XboxOneIsContentPackage: 0
XboxOneEnhancedXboxCompatibilityMode: 0
XboxOneEnableGPUVariability: 0
XboxOneSockets: {}
XboxOneSplashScreen: {fileID: 0}
XboxOneAllowedProductIds: []
XboxOnePersistentLocalStorageSize: 0
XboxOneXTitleMemory: 8
xboxOneScriptCompiler: 0
vrEditorSettings:
daydream:
daydreamIconForeground: {fileID: 0}
daydreamIconBackground: {fileID: 0}
XboxOneOverrideIdentityName:
XboxOneOverrideIdentityPublisher:
vrEditorSettings: {}
cloudServicesEnabled: {}
facebookSdkVersion: 7.9.1
apiCompatibilityLevel: 2
luminIcon:
m_Name:
m_ModelFolderPath:
m_PortalFolderPath:
luminCert:
m_CertPath:
m_SignPackage: 1
luminIsChannelApp: 0
luminVersion:
m_VersionCode: 1
m_VersionName:
apiCompatibilityLevel: 6
activeInputHandler: 0
cloudProjectId:
framebufferDepthMemorylessMode: 0
qualitySettingsNames: []
projectName:
organizationId:
cloudEnabled: 0
enableNativePlatformBackendsForNewInputSystem: 0
disableOldInputManagerSupport: 0
legacyClampBlendShapeWeights: 1
virtualTexturingSupportEnabled: 0
m_EditorVersion: 2021.1.18f1
m_EditorVersionWithRevision: 2021.1.18f1 (25bdc3efbc2d)
m_EditorVersion: 2021.2.0b9
m_EditorVersionWithRevision: 2021.2.0b9 (162b5e238388)
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