Commit 0d5bb492 authored by hex's avatar hex

remove safeGO

parent 83c2db9b
Pipeline #39483 failed
......@@ -1259,24 +1259,24 @@ public class Ocgcore : ServantWithCardDescription
return true;
case GameMessage.Attack:
return true;
//case GameMessage.Attack:
// if (Program.I().setting.setting.Vbattle.value)
// {
// return true;
// }
// else
// {
// return false;
// }
//case GameMessage.Battle:
// if (Program.I().setting.setting.Vbattle.value)
// {
// return false;
// }
// else
// {
// return true;
// }
//case GameMessage.Attack:
// if (Program.I().setting.setting.Vbattle.value)
// {
// return true;
// }
// else
// {
// return false;
// }
//case GameMessage.Battle:
// if (Program.I().setting.setting.Vbattle.value)
// {
// return false;
// }
// else
// {
// return true;
// }
}
return false;
}
......@@ -5802,7 +5802,7 @@ public class Ocgcore : ServantWithCardDescription
r.ReadByte();
UIHelper.playSound("explode", 0.4f);
int amount = (int)(Mathf.Clamp(attackCard.get_data().Attack, 0, 3500) * 0.8f);
float duration = (float)amount / 2500f;
float strength = (float)amount / 1500f;
Program.I().main_camera.transform.DOShakePosition(duration, strength);
......
......@@ -1243,55 +1243,40 @@ public class Program : MonoBehaviour
if (GameTextureManager.IsInitialized)
{
// 1. 实现下载限流
// 只要当前活跃的下载数小于最大限制,并且队列里有待下载的任务,就启动新的下载。
while (_activeDownloads < MAX_CONCURRENT_DOWNLOADS && GameTextureManager.HasDownloadRequests())
{
var request = GameTextureManager.GetNextDownloadRequest();
if (!string.IsNullOrEmpty(request.Url))
{
_activeDownloads++; // 增加活跃下载计数
// 启动下载协程,并传入一个回调,用于在下载结束后减少计数
StartCoroutine(DownloadAndProcessFile(request, () =>
{
_activeDownloads--;
}));
}
}
ProcessTextureManagerUpdates();
}
// 2. 检查并处理纹理创建任务 (分帧处理避免卡顿)
int tasksProcessedThisFrame = 0;
int maxTasksPerFrame = 5; // 每帧最多创建5个纹理,防止卡顿
fixALLcamerasPreFrame();
while (GameTextureManager.HasMainThreadTasks() && tasksProcessedThisFrame < maxTasksPerFrame)
{
var resource = GameTextureManager.GetNextMainThreadTask();
if (resource != null)
{
GameTextureManager.CreateTextureFromResource(resource);
tasksProcessedThisFrame++;
}
else
{
break;
}
}
HandleUnifiedInput();
UpdateRaycast();
for (int i = 0; i < servants.Count; i++)
{
servants[i].Update();
}
TcpHelper.preFrameFunction();
ProcessDelayedTasks();
}
fixALLcamerasPreFrame();
wheelValue = UICamera.GetAxis("Mouse ScrollWheel") * 50;
private void UpdateRaycast()
{
pointedGameObject = null;
pointedCollider = null;
Ray line = Camera.main.ScreenPointToRay(Input.mousePosition);
Vector3 inputPosition = Input.mousePosition;
Ray line = Camera.main.ScreenPointToRay(inputPosition);
RaycastHit hit;
if (Physics.Raycast(line, out hit, (float)1000, rayFilter))
if (Physics.Raycast(line, out hit, 1000f, rayFilter))
{
pointedGameObject = hit.collider.gameObject;
pointedCollider = hit.collider;
}
GameObject hoverobject = UICamera.Raycast(Input.mousePosition)
? UICamera.lastHit.collider.gameObject
: null;
GameObject hoverobject = UICamera.Raycast(inputPosition) ?
UICamera.lastHit.collider.gameObject : null;
if (hoverobject != null)
{
if (hoverobject.layer == 11 || pointedGameObject == null)
......@@ -1300,34 +1285,79 @@ public class Program : MonoBehaviour
pointedCollider = UICamera.lastHit.collider;
}
}
}
private void HandleUnifiedInput()
{
wheelValue = UICamera.GetAxis("Mouse ScrollWheel") * 50;
InputGetMouseButtonDown_0 = Input.GetMouseButtonDown(0);
InputGetMouseButtonUp_0 = Input.GetMouseButtonUp(0);
InputGetMouseButtonDown_1 = Input.GetMouseButtonDown(1);
InputGetMouseButtonUp_1 = Input.GetMouseButtonUp(1);
InputEnterDown = Input.GetKeyDown(KeyCode.Return);
InputGetMouseButton_0 = Input.GetMouseButton(0);
for (int i = 0; i < servants.Count; i++)
}
private void ProcessTextureManagerUpdates()
{
// 1. 实现下载限流
// 只要当前活跃的下载数小于最大限制,并且队列里有待下载的任务,就启动新的下载。
while (_activeDownloads < MAX_CONCURRENT_DOWNLOADS && GameTextureManager.HasDownloadRequests())
{
servants[i].Update();
var request = GameTextureManager.GetNextDownloadRequest();
if (!string.IsNullOrEmpty(request.Url))
{
_activeDownloads++; // 增加活跃下载计数
// 启动下载协程,并传入一个回调,用于在下载结束后减少计数
StartCoroutine(DownloadAndProcessFile(request, () =>
{
_activeDownloads--;
}));
}
}
TcpHelper.preFrameFunction();
// 2. 检查并处理纹理创建任务 (分帧处理避免卡顿)
int tasksProcessedThisFrame = 0;
int maxTasksPerFrame = 5; // 每帧最多创建5个纹理,防止卡顿
while (GameTextureManager.HasMainThreadTasks() && tasksProcessedThisFrame < maxTasksPerFrame)
{
var resource = GameTextureManager.GetNextMainThreadTask();
if (resource != null)
{
GameTextureManager.CreateTextureFromResource(resource);
tasksProcessedThisFrame++;
}
else
{
break;
}
}
}
private void ProcessDelayedTasks()
{
delayedTask remove = null;
while (true)
int maxTasksPerFrame = 5; // 限制每帧处理的延迟任务数量
int processedTasks = 0;
while (processedTasks < maxTasksPerFrame)
{
remove = null;
for (int i = 0; i < delayedTasks.Count; i++)
{
if (Program.TimePassed() > delayedTasks[i].timeToBeDone)
if (TimePassed() > delayedTasks[i].timeToBeDone)
{
remove = delayedTasks[i];
try
{
remove.act();
}
catch (System.Exception e)
catch (Exception e)
{
UnityEngine.Debug.Log(e);
Debug.Log(e);
}
processedTasks++;
break;
}
}
......
using System;
using System.Collections.Generic;
using System.IO;
using DG.Tweening;
using UnityEngine;
using YGOSharp.OCGWrapper.Enums;
using DG.Tweening;
public class Servant
......@@ -57,11 +57,6 @@ public class Servant
}
allGameObjects.Clear();
updateActions_s.Clear();
for (int i = 0; i < delayedTasks.Count; i++)
{
Program.notGo(delayedTasks[i].act);
}
delayedTasks.Clear();
}
public virtual void fixScreenProblem()
......@@ -130,13 +125,13 @@ public class Servant
if (toolBar != null)
{
Vector3 vectorOfHidedBar_Screen = new Vector3(Screen.width - RightToScreen, -200, 0);
Vector3 targetWorldPosition = Program.camera_main_2d.ScreenToWorldPoint(vectorOfHidedBar_Screen);
toolBar.transform.DOMove(targetWorldPosition, 0.6f);
float scaleFactor = Screen.height / 700f;
toolBar.transform.localScale = new Vector3(scaleFactor, scaleFactor, scaleFactor);
var items = toolBar.GetComponentsInChildren<toolShift>();
for (int i = 0; i < items.Length; i++)
{
......@@ -312,16 +307,6 @@ public class Servant
}
}
List<Program.delayedTask> delayedTasks = new List<Program.delayedTask>();
public void safeGogo(int delay_, Action act_)
{
Program.go(delay_, act_);
delayedTasks.Add(
new Program.delayedTask { act = act_, timeToBeDone = delay_ + Program.TimePassed() }
);
}
#region remasterMessageSystem
public Vector3 centre(bool fix = false)
......
......@@ -3,9 +3,9 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using DG.Tweening;
using UnityEngine;
using YGOSharp.OCGWrapper.Enums;
using DG.Tweening;
public class DeckManager : ServantWithCardDescription
......@@ -23,6 +23,10 @@ public class DeckManager : ServantWithCardDescription
private bool isContinuouslyAdding = false; // 是否已进入持续添加模式
private float nextAddCardTime = 0f; // 下一次可以添加卡片的时间点
private Sequence deckLoadSequence;
private enum CardZone { Main, Extra, Side }
public enum Condition
{
editDeck = 1,
......@@ -405,7 +409,7 @@ public class DeckManager : ServantWithCardDescription
// 检查对象是否已销毁
if (item == null || item.gameObject == null)
continue;
item.gameObject.transform.DOKill();
var rid = item.gameObject.GetComponent<Rigidbody>();
if (rid == null)
......@@ -519,16 +523,16 @@ public class DeckManager : ServantWithCardDescription
{
gameObjectDetailedSearch.GetComponent<UITexture>().height = 700;
Vector3 targetPos = Program.camera_main_2d.ScreenToWorldPoint(
new Vector3(
Screen.width
- MAIN_SEARCH_PANEL_WIDTH
- DETAILED_SEARCH_PANEL_WIDTH
- 115f * Screen.height / 700f,
Screen.height * 0.5f,
0
)
);
Vector3 targetPos = Program.camera_main_2d.ScreenToWorldPoint(
new Vector3(
Screen.width
- MAIN_SEARCH_PANEL_WIDTH
- DETAILED_SEARCH_PANEL_WIDTH
- 115f * Screen.height / 700f,
Screen.height * 0.5f,
0
)
);
gameObjectDetailedSearch.transform.DOMove(targetPos, 0.6f);
reShowBar(
......@@ -540,17 +544,17 @@ public class DeckManager : ServantWithCardDescription
else
{
gameObjectDetailedSearch.GetComponent<UITexture>().height = 700;
Vector3 targetPos = Program.camera_main_2d.ScreenToWorldPoint(
new Vector3(
Screen.width
- MAIN_SEARCH_PANEL_WIDTH
- DETAILED_SEARCH_PANEL_WIDTH
- 115f * Screen.height / 700f,
Screen.height * 1.5f,
0
)
);
Vector3 targetPos = Program.camera_main_2d.ScreenToWorldPoint(
new Vector3(
Screen.width
- MAIN_SEARCH_PANEL_WIDTH
- DETAILED_SEARCH_PANEL_WIDTH
- 115f * Screen.height / 700f,
Screen.height * 1.5f,
0
)
);
gameObjectDetailedSearch.transform.DOMove(targetPos, 0.6f);
reShowBar(0, CAMERA_MARGIN_RIGHT_NORMAL);
......@@ -1406,6 +1410,11 @@ public class DeckManager : ServantWithCardDescription
public override void hide()
{
if (deckLoadSequence != null && deckLoadSequence.IsActive())
{
deckLoadSequence.Kill();
}
if (isShowed)
{
hideDetail();
......@@ -1632,7 +1641,7 @@ public class DeckManager : ServantWithCardDescription
{
deckDirty = true;
}
// 第三步:整理数据结构(IMain、ISide等)
// 第三步:整理数据结构(IMain、ISide等)
ArrangeObjectDeck(true);
// 第四步:更新卡片在场景中的位置与角度(含Tween)
......@@ -1923,10 +1932,10 @@ public class DeckManager : ServantWithCardDescription
void ArrangeObjectDeck(bool order = false)
{
var deckTemp = deck.getAllObjectCardAndDeload();
// 过滤掉已销毁的对象
deckTemp = deckTemp.Where(card => card != null && card.gameObject != null).ToList();
if (order)
{
deckTemp.Sort(
......@@ -1943,7 +1952,7 @@ public class DeckManager : ServantWithCardDescription
{
return -1; // 右边无效,排到后面
}
Vector3 leftPosition = left.gameObject.transform.position;
Vector3 rightPosition = right.gameObject.transform.position;
if (leftPosition.y > 3f)
......@@ -2082,86 +2091,124 @@ public class DeckManager : ServantWithCardDescription
bool canSave = false;
public void FormCodedDeckToObjectDeck()
/// <summary>
/// 将指定卡组的创建和入场动画添加到DOTween序列中。
/// </summary>
/// <param name="seq">要添加动画的目标序列。</param>
/// <param name="startTime">这组动画在序列时间线上的起始时间。</param>
/// <param name="cardIds">要创建的卡片的ID列表。</param>
/// <param name="objectList">用于存储创建出的MonoCardInDeckManager对象的列表。</param>
/// <param name="zone">卡片所属的区域(主卡组、额外、副卡组)。</param>
/// <returns>这组动画完成后的序列时间点。</returns>
private float AppendCardAnimations(Sequence seq, float startTime, IList<int> cardIds, IList<MonoCardInDeckManager> objectList, CardZone zone)
{
canSave = false;
safeGogo(
4000,
() =>
{
canSave = true;
}
);
int indexOfLogic = 0;
int[] hangshu = UIHelper.get_decklieshuArray(deck.Main.Count);
foreach (var item in deck.Main)
if (cardIds == null || cardIds.Count == 0)
{
Vector2 v = UIHelper.get_hang_lieArry(indexOfLogic, hangshu);
Vector3 toVector = new Vector3(
UIHelper.get_left_right_index(-12.5f, 12.5f, (int)v.y, hangshu[(int)v.x]),
0.5f + v.y / 3f + v.x / 3f,
11.8f - v.x * 4f
);
YGOSharp.Card data = YGOSharp.CardsManager.Get(item);
safeGogo(
indexOfLogic * 15,
() =>
{
MonoCardInDeckManager card = createCard();
card.cardData = data;
card.gameObject.layer = 16;
deck.IMain.Add(card);
card.tweenToVectorAndFall(toVector, new Vector3(90, 0, 0));
}
);
indexOfLogic++;
return startTime; // 如果没有卡片,直接返回起始时间
}
indexOfLogic = 0;
foreach (var item in deck.Extra)
// 根据区域决定动画的交错延迟
float staggerDelay = (zone == CardZone.Main) ? 0.015f : 0.045f;
int[] hangshu = (zone == CardZone.Main) ? UIHelper.get_decklieshuArray(cardIds.Count) : null;
for (int i = 0; i < cardIds.Count; i++)
{
Vector3 toVector = new Vector3(
UIHelper.get_left_right_indexZuo(-12.5f, 12.5f, indexOfLogic, deck.Extra.Count, 10),
0.5f + (float)indexOfLogic / 3f,
-6.2f
);
YGOSharp.Card data = YGOSharp.CardsManager.Get(item);
safeGogo(
indexOfLogic * 45,
() =>
{
MonoCardInDeckManager card = createCard();
card.cardData = data;
card.gameObject.layer = 16;
deck.IExtra.Add(card);
card.tweenToVectorAndFall(toVector, new Vector3(90, 0, 0));
}
);
indexOfLogic++;
// C# 闭包陷阱:必须在循环内部为lambda表达式捕获变量的当前值
int currentIndex = i;
int cardId = cardIds[i];
// 计算卡片的目标位置
Vector3 toVector;
switch (zone)
{
case CardZone.Main:
Vector2 v = UIHelper.get_hang_lieArry(currentIndex, hangshu);
toVector = new Vector3(
UIHelper.get_left_right_index(-12.5f, 12.5f, (int)v.y, hangshu[(int)v.x]),
0.5f + v.y / 3f + v.x / 3f,
11.8f - v.x * 4f
);
break;
case CardZone.Extra:
toVector = new Vector3(
UIHelper.get_left_right_indexZuo(-12.5f, 12.5f, currentIndex, cardIds.Count, 10),
0.5f + (float)currentIndex / 3f,
-6.2f
);
break;
case CardZone.Side:
toVector = new Vector3(
UIHelper.get_left_right_indexZuo(-12.5f, 12.5f, currentIndex, cardIds.Count, 10),
0.5f + (float)currentIndex / 3f,
-12f
);
break;
default:
toVector = Vector3.zero;
break;
}
// 使用 InsertCallback 在序列的指定时间点执行卡片创建和动画开始的逻辑
// 这是整个重构的核心,它将原来的 safeGogo(delay, action) 替换为更精确的时间线插入
seq.InsertCallback(startTime + currentIndex * staggerDelay, () =>
{
YGOSharp.Card data = YGOSharp.CardsManager.Get(cardId);
if (data == null) return;
MonoCardInDeckManager card = createCard();
card.cardData = data;
card.gameObject.layer = 16;
objectList.Add(card);
// tweenToVectorAndFall 本身就是DoTween动画, 它会独立运行,
// 而我们的Sequence只负责在正确的时间点触发它。
card.tweenToVectorAndFall(toVector, new Vector3(90, 0, 0));
});
}
indexOfLogic = 0;
foreach (var item in deck.Side)
// 返回这组动画播放完毕后的总时间
return startTime + cardIds.Count * staggerDelay;
}
public void FormCodedDeckToObjectDeck()
{
canSave = false;
// 如果上一个动画序列还在播放,则安全地销毁它,防止重叠或冲突
if (deckLoadSequence != null && deckLoadSequence.IsActive())
{
Vector3 toVector = new Vector3(
UIHelper.get_left_right_indexZuo(-12.5f, 12.5f, indexOfLogic, deck.Side.Count, 10),
0.5f + (float)indexOfLogic / 3f,
-12f
);
YGOSharp.Card data = YGOSharp.CardsManager.Get(item);
safeGogo(
indexOfLogic * 45,
() =>
{
MonoCardInDeckManager card = createCard();
card.cardData = data;
card.gameObject.layer = 16;
deck.ISide.Add(card);
card.tweenToVectorAndFall(toVector, new Vector3(90, 0, 0));
}
);
indexOfLogic++;
deckLoadSequence.Kill();
}
// 创建一个新的序列
deckLoadSequence = DOTween.Sequence();
// 用于追踪序列当前的时间点
float animationTimeline = 0f;
// 1. 将主卡组的动画添加到序列中,从时间 0 开始
AppendCardAnimations(deckLoadSequence, 0f, deck.Main, deck.IMain, CardZone.Main);
// 2. 将额外卡组的动画也添加到序列中,同样从时间 0 开始
AppendCardAnimations(deckLoadSequence, 0f, deck.Extra, deck.IExtra, CardZone.Extra);
// 3. 将副卡组的动画也添加到序列中,还是从时间 0 开始
AppendCardAnimations(deckLoadSequence, 0f, deck.Side, deck.ISide, CardZone.Side);
// 4. 设置整个序列播放完成后的回调
// 这比硬编码的4秒延迟要精确和可靠得多
deckLoadSequence.OnComplete(() =>
{
canSave = true;
// 可以在这里加一句Debug日志,方便调试
// Debug.Log("Deck loading animation completed. Saving is now enabled.");
});
// 5. 播放整个动画序列
deckLoadSequence.Play();
}
void ShowObjectDeck()
{
float k = (float)(1.5 * 0.1 / 0.130733633);
......
......@@ -19,7 +19,7 @@ MonoBehaviour:
width: 1512
height: 916
m_ShowMode: 4
m_Title: Game
m_Title: Console
m_RootView: {fileID: 2}
m_MinSize: {x: 875, y: 300}
m_MaxSize: {x: 10000, y: 10000}
......@@ -119,7 +119,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 200}
m_MaxSize: {x: 24288, y: 16192}
vertical: 0
controlID: 2039
controlID: 126
--- !u!114 &6
MonoBehaviour:
m_ObjectHideFlags: 52
......@@ -144,7 +144,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 16192, y: 16192}
vertical: 1
controlID: 2040
controlID: 127
--- !u!114 &7
MonoBehaviour:
m_ObjectHideFlags: 52
......@@ -165,11 +165,11 @@ MonoBehaviour:
x: 0
y: 0
width: 1148.5
height: 388
height: 389
m_MinSize: {x: 200, y: 100}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
controlID: 2041
controlID: 72
--- !u!114 &8
MonoBehaviour:
m_ObjectHideFlags: 52
......@@ -188,7 +188,7 @@ MonoBehaviour:
x: 0
y: 0
width: 284.5
height: 388
height: 389
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 13}
......@@ -206,7 +206,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name: GameView
m_Name: SimulatorWindow
m_EditorClassIdentifier:
m_Children: []
m_Position:
......@@ -214,13 +214,13 @@ MonoBehaviour:
x: 284.5
y: 0
width: 864
height: 388
height: 389
m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 14}
m_ActualView: {fileID: 17}
m_Panes:
- {fileID: 12}
- {fileID: 14}
- {fileID: 17}
m_Selected: 1
m_LastSelected: 0
--- !u!114 &10
......@@ -233,23 +233,23 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
m_Name: ProjectBrowser
m_Name: ConsoleWindow
m_EditorClassIdentifier:
m_Children: []
m_Position:
serializedVersion: 2
x: 0
y: 388
y: 389
width: 1148.5
height: 478
m_MinSize: {x: 231, y: 271}
m_MaxSize: {x: 10001, y: 10021}
height: 477
m_MinSize: {x: 101, y: 121}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 15}
m_Panes:
- {fileID: 14}
- {fileID: 15}
- {fileID: 16}
m_Selected: 0
m_LastSelected: 1
m_Selected: 1
m_LastSelected: 0
--- !u!114 &11
MonoBehaviour:
m_ObjectHideFlags: 52
......@@ -271,9 +271,9 @@ MonoBehaviour:
height: 866
m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 17}
m_ActualView: {fileID: 16}
m_Panes:
- {fileID: 17}
- {fileID: 16}
m_Selected: 0
m_LastSelected: 0
--- !u!114 &12
......@@ -300,7 +300,7 @@ MonoBehaviour:
x: 284.5
y: 96
width: 862
height: 367
height: 368
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
......@@ -333,7 +333,7 @@ MonoBehaviour:
collapsed: 0
displayed: 1
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: unity-scene-view-toolbar
index: 0
......@@ -344,7 +344,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 1
id: unity-search-toolbar
index: 1
......@@ -355,7 +355,7 @@ MonoBehaviour:
collapsed: 0
displayed: 1
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: unity-transform-toolbar
index: 0
......@@ -388,7 +388,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Light Settings
index: 0
......@@ -410,7 +410,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Cloth Constraints
index: 2
......@@ -421,7 +421,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Cloth Collisions
index: 3
......@@ -432,7 +432,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Navmesh Display
index: 4
......@@ -443,7 +443,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Agent Display
index: 5
......@@ -454,7 +454,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Obstacle Display
index: 6
......@@ -465,7 +465,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Occlusion Culling
index: 7
......@@ -476,7 +476,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Physics Debugger
index: 8
......@@ -487,7 +487,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Scene Visibility
index: 9
......@@ -531,7 +531,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Open Tile Palette
index: 2
......@@ -542,7 +542,7 @@ MonoBehaviour:
collapsed: 0
displayed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
id: Scene View/Tilemap Focus
index: 3
......@@ -550,17 +550,17 @@ MonoBehaviour:
m_OverlaysVisible: 1
m_WindowGUID: cc27987af1a868c49b0894db9c0f5429
m_Gizmos: 1
m_OverrideSceneCullingMask: 0
m_SceneIsLit: 0
m_OverrideSceneCullingMask: 6917529027641081856
m_SceneIsLit: 1
m_SceneLighting: 1
m_2DMode: 0
m_2DMode: 1
m_isRotationLocked: 0
m_PlayAudio: 0
m_AudioPlay: 0
m_Position:
m_Target: {x: 0, y: 0, z: 0}
m_Target: {x: -0.19514541, y: -0.1012258, z: 0.001550125}
speed: 2
m_Value: {x: 0, y: 0, z: 0}
m_Value: {x: -0.19514541, y: -0.1012258, z: 0.001550125}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
......@@ -572,7 +572,7 @@ MonoBehaviour:
m_SceneViewState:
m_AlwaysRefresh: 0
showFog: 1
showSkybox: 0
showSkybox: 1
showFlares: 1
showImageEffects: 1
showParticleSystems: 1
......@@ -591,7 +591,7 @@ MonoBehaviour:
m_Fade:
m_Target: 0
speed: 2
m_Value: 1
m_Value: 0
m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
m_Pivot: {x: 0, y: 0, z: 0}
m_Size: {x: 1, y: 1}
......@@ -607,17 +607,17 @@ MonoBehaviour:
m_GridAxis: 1
m_gridOpacity: 0.5
m_Rotation:
m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
m_Target: {x: 0, y: 0, z: 0, w: 1}
speed: 2
m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
m_Value: {x: 0, y: 0, z: 0, w: 1}
m_Size:
m_Target: 2.5005
m_Target: 11.969343
speed: 2
m_Value: 2.5005
m_Value: 11.969343
m_Ortho:
m_Target: 0
m_Target: 1
speed: 2
m_Value: 0
m_Value: 1
m_CameraSettings:
m_Speed: 1
m_SpeedNormalized: 0.5
......@@ -662,7 +662,7 @@ MonoBehaviour:
x: 0
y: 96
width: 283.5
height: 367
height: 368
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
......@@ -671,9 +671,9 @@ MonoBehaviour:
m_SceneHierarchy:
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 06540000
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 5aa2faff10c2000012c20000
m_ExpandedIDs: 1c9896ff6c9896ff3c9c96ffac9d96ff009e96ffd4a196ff9c2999ffec2999ffbc2d99ff6c289cffbc289cffd0289cff3c2a9cff8c2a9cffa02a9cff982b9cffe82b9cffb82f9cff7a229dff10609dff60609dff30649dff9c659dffec659dffbc699dff346b9dff846b9dff546f9dffca709dff1a719dffea749dffe6809fff36819fff06859fffe6afa1ff34b0a1ff04b4a1ffaeb5a1fffeb5a1ff12b6a1fffcb6a1ff4cb7a1ff60b7a1ff16b8a1ff64b8a1ff34bca1fff0afa2ff40b0a2ff10b4a2ffa2b5a2fff2b5a2ffc2b9a2ffdce1a9ff2ce2a9fffce5a9ff0cccaaff5cccaaff2cd0aaff9c1daeffec1daeffbc21aeff5429b5fffa83bcffe6dfc1ff5a44d8ff8244d8ff4e45d8ff0e46d8fffefaffff
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
......@@ -698,100 +698,6 @@ MonoBehaviour:
m_CurrentSortingName: TransformSorting
m_WindowGUID: 4c969a2b90040154d917609493e03593
--- !u!114 &14
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 1
m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Game
m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 284.5
y: 96
width: 862
height: 367
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
m_OverlaysVisible: 1
m_SerializedViewNames: []
m_SerializedViewValues: []
m_PlayModeViewName: GameView
m_ShowGizmos: 0
m_TargetDisplay: 0
m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
m_TargetSize: {x: 2778, y: 1284}
m_TextureFilterMode: 0
m_TextureHideFlags: 61
m_RenderIMGUI: 1
m_EnterPlayModeBehavior: 0
m_UseMipMap: 0
m_VSyncEnabled: 0
m_Gizmos: 0
m_Stats: 0
m_SelectedSizes: 00000000000000001200000000000000000000000000000000000000000000000000000000000000
m_ZoomArea:
m_HRangeLocked: 0
m_VRangeLocked: 0
hZoomLockedByDefault: 0
vZoomLockedByDefault: 0
m_HBaseRangeMin: -694.5
m_HBaseRangeMax: 694.5
m_VBaseRangeMin: -321
m_VBaseRangeMax: 321
m_HAllowExceedBaseRangeMin: 1
m_HAllowExceedBaseRangeMax: 1
m_VAllowExceedBaseRangeMin: 1
m_VAllowExceedBaseRangeMax: 1
m_ScaleWithWindow: 0
m_HSlider: 0
m_VSlider: 0
m_IgnoreScrollWheelUntilClicked: 0
m_EnableMouseInput: 1
m_EnableSliderZoomHorizontal: 0
m_EnableSliderZoomVertical: 0
m_UniformScale: 1
m_UpDirection: 1
m_DrawArea:
serializedVersion: 2
x: 0
y: 21
width: 862
height: 346
m_Scale: {x: 0.5389408, y: 0.5389408}
m_Translation: {x: 431, y: 173}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
m_MarginBottom: 0
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -799.7168
y: -321
width: 1599.4336
height: 642
m_MinimalGUI: 1
m_defaultScale: 0.5389408
m_LastWindowPixelSize: {x: 1724, y: 734}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000
m_XRRenderMode: 0
m_RenderTexture: {fileID: 0}
--- !u!114 &15
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
......@@ -813,16 +719,16 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 0
y: 484
y: 485
width: 1147.5
height: 457
height: 456
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
m_OverlaysVisible: 1
m_SearchFilter:
m_NameFilter: mod_ocgcore_card
m_NameFilter:
m_ClassNames: []
m_AssetLabels: []
m_AssetBundleNames: []
......@@ -832,23 +738,23 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/Plugins/7zip
- Assets/SibylSystem
m_Globs: []
m_OriginalText: mod_ocgcore_card
m_OriginalText:
m_FilterByTypeIntersection: 0
m_ViewMode: 1
m_StartGridSize: 64
m_LastFolders:
- Assets/Plugins/7zip
- Assets/SibylSystem
m_LastFoldersGridSize: -1
m_LastProjectPath: /Users/hexzhou/Workplace/ygopro2_unity2021
m_LockTracker:
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 635}
m_SelectedIDs: 6cba0000
m_LastClickedID: 47724
m_ExpandedIDs: 0000000076ae000078ae00007aae00007cae00007eae000080ae000082ae000084ae000086ae000088ae000000ca9a3bffffff7f
scrollPos: {x: 0, y: 268}
m_SelectedIDs: 62ae0000
m_LastClickedID: 44642
m_ExpandedIDs: 0000000060ae000062ae000064ae000066ae000068ae00006aae00006cae000052bf000000ca9a3bffffff7f
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
......@@ -876,7 +782,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 0000000076ae000078ae00007aae00007cae00007eae000080ae000082ae000084ae000086ae000088ae000000ca9a3bffffff7f
m_ExpandedIDs: 0000000060ae000062ae000064ae000066ae000068ae00006aae00006cae0000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
......@@ -901,8 +807,8 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_ListAreaState:
m_SelectedInstanceIDs:
m_LastClickedInstanceID: 0
m_SelectedInstanceIDs: c80c0000
m_LastClickedInstanceID: 3272
m_HadKeyboardFocusLastEvent: 1
m_ExpandedInstanceIDs: c62300000000000096d2000090d20000
m_RenameOverlay:
......@@ -932,7 +838,7 @@ MonoBehaviour:
m_GridSize: 64
m_SkipHiddenPackages: 0
m_DirectoriesAreaWidth: 207
--- !u!114 &16
--- !u!114 &15
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
......@@ -954,15 +860,15 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 0
y: 484
y: 485
width: 1147.5
height: 457
height: 456
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
m_OverlaysVisible: 1
--- !u!114 &17
--- !u!114 &16
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
......@@ -1005,3 +911,64 @@ MonoBehaviour:
m_LockTracker:
m_IsLocked: 0
m_PreviewWindow: {fileID: 0}
--- !u!114 &17
MonoBehaviour:
m_ObjectHideFlags: 52
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13974, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Simulator
m_Image: {fileID: 3038311277492192215, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 284.5
y: 96
width: 862
height: 368
m_ViewDataDictionary: {fileID: 0}
m_OverlayCanvas:
m_LastAppliedPresetName: Default
m_SaveData: []
m_OverlaysVisible: 1
m_SerializedViewNames:
- UnityEditor.GameView
m_SerializedViewValues:
- /Users/hexzhou/Workplace/ygopro2_unity2021/Library/PlayModeViewStates/98a7831995b184136a58115ea65e0c82
m_PlayModeViewName: Device Simulator
m_ShowGizmos: 0
m_TargetDisplay: 0
m_ClearColor: {r: 0, g: 0, b: 0, a: 1}
m_TargetSize: {x: 2778, y: 1284}
m_TextureFilterMode: 0
m_TextureHideFlags: 61
m_RenderIMGUI: 1
m_EnterPlayModeBehavior: 2
m_UseMipMap: 0
m_SimulatorState:
controlPanelVisible: 0
controlPanelWidth: 0
controlPanelFoldoutKeys:
- UnityEditor.DeviceSimulation.ApplicationSettingsPlugin
controlPanelFoldoutValues: 00
pluginNames:
- UnityEditor.DeviceSimulation.ApplicationSettingsPlugin
pluginStates:
- '{}'
scale: 24
fitToScreenEnabled: 0
rotationDegree: 270
highlightSafeAreaEnabled: 0
friendlyName: Apple iPhone 13 Pro Max
networkReachability: 1
systemLanguage: 10
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