From d45841455b22c947c1821db26c94a44da58d4bb1 Mon Sep 17 00:00:00 2001 From: LadyEbony Date: Sat, 22 Aug 2020 16:43:30 -0700 Subject: [PATCH] If a placement won't create a combo, you can now play instantly Improved character animations to play during loss/win, and to reset during a rematch Drop tiles won't be rendered if 0 --- Assets/PlayerBoards.prefab | 18 +- .../Animations/SimpleAnimationLoop.cs | 2 +- Assets/RealCode/GameBoard.cs | 114 ++++-- Assets/RealCode/GameBoardInstance.cs | 18 +- Assets/RealCode/GameBoardRender.cs | 64 +++- Assets/RealCode/Menu/Canvas.prefab | 4 +- Assets/RealCode/TileRender.cs | 4 +- Assets/Scenes/Board Render/BoardRender.unity | 335 +++++++++++++++++- 8 files changed, 487 insertions(+), 72 deletions(-) diff --git a/Assets/PlayerBoards.prefab b/Assets/PlayerBoards.prefab index dea006f..3f16ff3 100644 --- a/Assets/PlayerBoards.prefab +++ b/Assets/PlayerBoards.prefab @@ -1700,7 +1700,7 @@ MonoBehaviour: Combo: 0 score: 0 AutoDeathTime: 10 - desiredAnimation: 0 + animationNetwork: 0 timeInState: 0 lastState: 0 awaitingNeutral: 0 @@ -1732,9 +1732,10 @@ MonoBehaviour: place2: {fileID: 0} place3: {fileID: 0} place4: {fileID: 0} - Happy: {fileID: 7423281609888576017} - Sad: {fileID: 214475789282727722} - Idle: {fileID: 4556693131245901252} + characterAnimations: + - {fileID: 1875531967} + - {fileID: 4293858750101964589} + - {fileID: 8346224333079188498} --- !u!1 &4556693130865902302 GameObject: m_ObjectHideFlags: 0 @@ -2699,7 +2700,7 @@ MonoBehaviour: Combo: 0 score: 0 AutoDeathTime: 10 - desiredAnimation: 0 + animationNetwork: 0 timeInState: 0 lastState: 0 awaitingNeutral: 0 @@ -2731,9 +2732,10 @@ MonoBehaviour: place2: {fileID: 0} place3: {fileID: 0} place4: {fileID: 0} - Happy: {fileID: 1816384742524827005} - Sad: {fileID: 4833124837759943605} - Idle: {fileID: 4556693132352434247} + characterAnimations: + - {fileID: 134040983} + - {fileID: 7660003724060655205} + - {fileID: 1818911326882958009} --- !u!1 &4556693131863321704 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/RealCode/Animations/SimpleAnimationLoop.cs b/Assets/RealCode/Animations/SimpleAnimationLoop.cs index 97e8e82..58f719e 100644 --- a/Assets/RealCode/Animations/SimpleAnimationLoop.cs +++ b/Assets/RealCode/Animations/SimpleAnimationLoop.cs @@ -12,7 +12,7 @@ public class SimpleAnimationLoop : MonoBehaviour { renderer = GetComponent(); } - private void Update() { + public void Update() { var frameindex = Mathf.FloorToInt(Time.time / frameTime); renderer.sprite = sprites[frameindex % sprites.Length]; } diff --git a/Assets/RealCode/GameBoard.cs b/Assets/RealCode/GameBoard.cs index 4d45e29..2db4999 100644 --- a/Assets/RealCode/GameBoard.cs +++ b/Assets/RealCode/GameBoard.cs @@ -97,8 +97,17 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { // Time without moving that the game will kill you if you have lethal trash public float AutoDeathTime = 10f; + [NetVar('a', true, true)] + public byte animationNetwork; + public enum AnimationName { Idle, Happy, Sad } - public AnimationName desiredAnimation; + public AnimationName desiredAnimation { + get { + return (AnimationName)animationNetwork; + } set { + animationNetwork = (byte)value; + } + } public float timeInState = 0; public DelayState lastState = DelayState.None; @@ -155,10 +164,15 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { GhostActivations(); // Cool FX! board = ClearActivation(board); - //board = Collapse(board); // Turns out THIS is what breaks the cool collapse effects + board = Collapse(board); // Turns out THIS is what breaks the cool collapse effects // Overriding this like a dirty fellow to let me add negative buffer time - timeInState = -0.5f * airCollapseTime; // Take 1.5x longer to collapse from combo chain - lastState = DelayState.Collapse; + + if (IsActivatable(board)){ + timeInState = -0.5f * airCollapseTime; // Take 1.5x longer to collapse from combo chain + } else { + timeInState = airCollapseTime; // instant + } + lastState = DelayState.Collapse; delayState = DelayState.Collapse; return; } @@ -199,7 +213,8 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { // at the piles of trash that killed them active = false; - yield return new WaitForSeconds(timer); + if (timer > 0f) + yield return new WaitForSeconds(timer); // First, crumble the board to be really cool for(int x = 0; x < board.Count; ++x) { var col = board[x]; @@ -210,8 +225,6 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { // Now, re-initialize the board, so those falling pieces are the last of our board board = BoardStateExtension.Initialize(); - render.RebuildStack(board); - render.Render(board); } #endregion @@ -320,7 +333,9 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { //this[dropColumn, dropHeight] = TileInfo.CreateRandomBlockTile(); bs = ReduceCountdowns(bs); bs = Collapse(bs); - delayState = DelayState.Collapse; + + if (IsActivatable(board) || IsSpecialActivable(board)) + delayState = DelayState.Collapse; SwapTiles(); ReplaceNextTile(); @@ -676,6 +691,41 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { } return bs; } + + + bool IsActivatable(BoardState bs) { + for (int x = 0; x < bs.Count; ++x) { + var col = bs[x]; + for(int y = 0; y < col.Count; ++y) { + var tile = bs.tile(x, y); + if (tile.kind.Equals(TileKind.Activator)){ + var tilecolor = tile.color; + var neighbors = Neighbors(x, y, bs); + foreach(var n in neighbors){ + var nkind = n.kind; + var ncolor = n.color; + if (tilecolor == ncolor && (nkind == TileKind.Block || nkind == TileKind.Activator)){ + return true; + } + } + } + } + } + + return false; + } + + bool IsSpecialActivable(BoardState bs){ + for (int x = 0; x < bs.Count; ++x) { + var col = bs[x]; + for (int y = 0; y < col.Count; ++y) { + var tile = col[y]; + if (tile.kind == TileKind.Special) return y > 0; + } + } + return false; + } + #endregion static BoardState Collapse(BoardState bs) { @@ -702,19 +752,12 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { private float nextNetworkTick; public void Update() { - if (!active) { - render.RenderName(); - return; - } - - if (isMine) { + if (isMine && active) { //checkDirty(); render.RebuildStack(board); GameLogic(); - render.SetAnimation(); - if (Time.time >= nextNetworkTick && NetworkManager.inRoom){ UpdateNow(); nextNetworkTick = Time.time + networkTick; @@ -722,23 +765,23 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { } - render.RebuildStack(board); - render.Render(board); - // HACK So uh, there's an issue with air tiles taking two renders to be removed right, so uh, two renders it is. - Texel - // Seriously I can't believe this works this is dirty + if (board != null){ + render.RebuildStack(board); + render.Render(board); + } - // It does make it render twice as fast, I have idea - // i fix by doing two rebuild stacks >:) - // render.Render(board); + render.SetAnimation(); render.SetComboLevel(Combo); render.SetScoreValue(score); - var pair = currentPair; - var pairp = GetPlacePosition(board, playerRotation, dropColumn); - render.RenderPlacement(pair.left, pair.right, pairp.left, pairp.right); - - render.RenderName(); + if (CurrentDrop == 0){ + render.ClearPlacement(); + } else { + var pair = currentPair; + var pairp = GetPlacePosition(board, playerRotation, dropColumn); + render.RenderPlacement(pair.left, pair.right, pairp.left, pairp.right); + } } public override void Awake() { @@ -763,18 +806,23 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { incomingTrash = 0; score = 0; - render.NickNameText.text = ""; // Clear the nickname text to prevent multi->arcade corruption + render.RenderName(); nextActivator = TilesUntilActivator; nextSpecial = ActivatorsUntilSpecial; delayState = DelayState.None; timeInState = 0; - ReplaceNextTile(); - SwapTiles(); - ReplaceNextTile(); + CurrentDrop = 0; + NextDrop = 0; + } + public void StartGame(){ if (isMine){ + ReplaceNextTile(); + SwapTiles(); + ReplaceNextTile(); + foreach(var c in board){ c.Add(TileInfo.CreateRandomBlockTile()); c.Add(TileInfo.CreateRandomBlockTile()); @@ -792,6 +840,8 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize { public void Clear(){ delayState = DelayState.None; StartCoroutine(HandleLoss(0f)); + + desiredAnimation = AnimationName.Idle; } public IEnumerable Neighbors(int x, int y, BoardState bs) { diff --git a/Assets/RealCode/GameBoardInstance.cs b/Assets/RealCode/GameBoardInstance.cs index af0f7a2..bdd82be 100644 --- a/Assets/RealCode/GameBoardInstance.cs +++ b/Assets/RealCode/GameBoardInstance.cs @@ -10,7 +10,9 @@ public class GameBoardInstance : MonoBehaviour { public static GameBoardInstance instance { get; private set; } public GameBoard player1, player2; + public bool readyActive; public bool gameActive; + public bool gameSetActive; [Header("Text")] public TextMeshProUGUI headerTextMesh; @@ -104,11 +106,16 @@ public class GameBoardInstance : MonoBehaviour { callback = StartSinglePlayer; } + player1.Setup(); + player2.Setup(); + GameTransition.Instance.state = GameState.InGame; StartCoroutine(StartGameTimer(3f, callback)); } private IEnumerator StartGameTimer(float timer, System.Action callback){ + readyActive = true; + var t = Time.time; while(Time.time - t <= timer){ headerTextMesh.text = Mathf.CeilToInt(timer - (Time.time - t)).ToString(); @@ -119,6 +126,7 @@ public class GameBoardInstance : MonoBehaviour { PlayerProperties.CreatePlayerHashtable(); callback(); gameActive = true; + readyActive = false; yield return new WaitForSeconds(2f); headerTextMesh.text = ""; @@ -127,24 +135,26 @@ public class GameBoardInstance : MonoBehaviour { private IEnumerator EndGameTimer(float timer){ gameActive = false; + gameSetActive = true; headerTextMesh.text = Localization.GetString(gameSetKey); yield return new WaitForSeconds(timer); headerTextMesh.text = ""; + gameSetActive = false; GameTransition.Instance.state = GameState.Continue; Rematch.Instance.Setup(); } private void StartSinglePlayer(){ - player1.Setup(); - player2.Setup(); + player1.StartGame(); + player2.StartGame(); player2.StartAI(new[] { 0.5f, 0.2f, 0.1f, 0f }[AIDifficulty]); } private void StartMultiPlayer(){ - player1.Setup(); - player2.Setup(); + player1.StartGame(); + player2.StartGame(); } public void ExitGame(bool force = false){ diff --git a/Assets/RealCode/GameBoardRender.cs b/Assets/RealCode/GameBoardRender.cs index 6fa4d14..3f4605c 100644 --- a/Assets/RealCode/GameBoardRender.cs +++ b/Assets/RealCode/GameBoardRender.cs @@ -25,30 +25,47 @@ public class GameBoardRender : MonoBehaviour { public TileRender place2; public TileRender place3, place4; // Next tile display - public GameObject Happy, Sad, Idle; + public SimpleAnimationLoop[] characterAnimations; private float soonestChangeTime = 0f; + public void SetAnimation() { - bool enableHappy = false, enableSad = false, enableIdle = false; + var index = 0; + + if (GameTransition.Instance.state == GameState.InGame){ + // default idle + if (GameBoardInstance.instance.readyActive){ + index = 0; + } + // regular Texel way + else if (GameBoardInstance.instance.gameActive){ + + if (Time.time < soonestChangeTime) return; - if (Time.time < soonestChangeTime) return; + switch(board.desiredAnimation) { + case GameBoard.AnimationName.Happy: + case GameBoard.AnimationName.Sad: + soonestChangeTime = Time.time + 5f; + break; + } - switch(board.desiredAnimation) { - case GameBoard.AnimationName.Happy: - soonestChangeTime = Time.time + 5f; - enableHappy = true; - break; - case GameBoard.AnimationName.Sad: - soonestChangeTime = Time.time + 5f; - enableSad = true; - break; - case GameBoard.AnimationName.Idle: - enableIdle = true; - break; - } + index = (int)board.desiredAnimation; + } + // win or loss + else if (GameBoardInstance.instance.gameSetActive){ + index = board.delayState == GameBoard.DelayState.Loss ? 2 : 1; + } + } + // lol no nothing + else return; - if (Happy) Happy.SetActive(enableHappy); - if (Sad) Sad.SetActive(enableSad); - if (Idle) Idle.SetActive(enableIdle); + // can't disable it? + var selected = characterAnimations[index]; + foreach(var a in characterAnimations){ + if (a != selected) + a.gameObject.SetActive(false); + } + selected.gameObject.SetActive(true); + selected.Update(); } // Dramatically slow falls in combo mode @@ -137,6 +154,8 @@ public class GameBoardRender : MonoBehaviour { if (NetworkManager.inRoom && board.authorityID != -1){ var player = NetworkManager.net.CurrentRoom.GetPlayer(board.authorityID); NickNameText.text = player.NickName; + } else { + NickNameText.text = string.Empty; } } @@ -194,6 +213,13 @@ public class GameBoardRender : MonoBehaviour { Destroy(tr.gameObject); } + public void ClearPlacement(){ + place1.ClearDisplay(); + place2.ClearDisplay(); + place3.ClearDisplay(); + place4.ClearDisplay(); + } + public void RenderPlacement(TileInfo left, TileInfo right, (int x, int y) leftPosition, (int x, int y) rightPosition){ place1.transform.localPosition = new Vector3(leftPosition.x * width, leftPosition.y * height); place2.transform.localPosition = new Vector3(rightPosition.x * width, rightPosition.y * height); diff --git a/Assets/RealCode/Menu/Canvas.prefab b/Assets/RealCode/Menu/Canvas.prefab index 7a30b99..0ee494d 100644 --- a/Assets/RealCode/Menu/Canvas.prefab +++ b/Assets/RealCode/Menu/Canvas.prefab @@ -3494,7 +3494,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 49.99994} + m_AnchoredPosition: {x: 0, y: 49.999878} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!1 &543236184 @@ -9626,7 +9626,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0, y: 49.99994} + m_AnchoredPosition: {x: 0, y: 49.999878} m_SizeDelta: {x: 800, y: 50} m_Pivot: {x: 0, y: 1} --- !u!1 &1736330633760980513 diff --git a/Assets/RealCode/TileRender.cs b/Assets/RealCode/TileRender.cs index be2df5b..4bc2a65 100644 --- a/Assets/RealCode/TileRender.cs +++ b/Assets/RealCode/TileRender.cs @@ -15,7 +15,9 @@ public class TileRender : MonoBehaviour { SetDisplay(null, color, kind); } - + public void ClearDisplay(){ + renderer.sprite = null; + } public void SetDisplay(TileInfo tile, TileColor color, TileKind kind){ Sprite[] sprites; diff --git a/Assets/Scenes/Board Render/BoardRender.unity b/Assets/Scenes/Board Render/BoardRender.unity index f52b748..78a71c2 100644 --- a/Assets/Scenes/Board Render/BoardRender.unity +++ b/Assets/Scenes/Board Render/BoardRender.unity @@ -1403,7 +1403,9 @@ MonoBehaviour: m_EditorClassIdentifier: player1: {fileID: 647195263} player2: {fileID: 2143326256} + readyActive: 0 gameActive: 0 + gameSetActive: 0 headerTextMesh: {fileID: 2013137395} startKey: GAME_START gameSetKey: GAME_GAMESET @@ -1542,14 +1544,322 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 482421870, guid: adba91609cb1e5448b76682be198fc9b, type: 3} - propertyPath: m_AnchoredPosition.y - value: 49.999878 + - target: {fileID: 196230227, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 objectReference: {fileID: 0} - - target: {fileID: 1736330633687387551, guid: adba91609cb1e5448b76682be198fc9b, + - target: {fileID: 196230227, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 196230227, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 380521610, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 380521610, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 380521610, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 610498694, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 610498694, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 610498694, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 610498694, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 905830129, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 905830129, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 905830129, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 905830129, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 975611503, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 975611503, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 975611503, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1004644345, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1004644345, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1004644345, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1004644345, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1071617981, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1071617981, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1071617981, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1103624969, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1103624969, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1103624969, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1637821926, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1637821926, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1637821926, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1637821926, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1703457736, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1703457736, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1703457736, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1703457736, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1938832979, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1938832979, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1938832979, guid: adba91609cb1e5448b76682be198fc9b, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633638169071, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633638169071, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633638169071, guid: adba91609cb1e5448b76682be198fc9b, type: 3} propertyPath: m_AnchoredPosition.y - value: 49.999878 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633760980512, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633760980512, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633760980512, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633775482130, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633775482130, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330633775482130, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634003904156, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634003904156, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634003904156, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634159991433, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634159991433, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634159991433, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634177679782, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634177679782, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634177679782, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634248025819, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634248025819, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634248025819, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634454597124, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634454597124, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634454597124, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634653605562, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634653605562, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634653605562, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634900042864, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634900042864, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330634900042864, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330635014798853, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330635014798853, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330635014798853, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 1736330635070797285, guid: adba91609cb1e5448b76682be198fc9b, type: 3} @@ -1661,6 +1971,21 @@ PrefabInstance: propertyPath: m_Pivot.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 1736330635428427867, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330635428427867, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736330635428427867, guid: adba91609cb1e5448b76682be198fc9b, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1736330635485585598, guid: adba91609cb1e5448b76682be198fc9b, type: 3} propertyPath: tDisplays.Array.data[0].target