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
This commit is contained in:
LadyEbony 2020-08-22 16:43:30 -07:00
parent e64deabf8a
commit d45841455b
8 changed files with 487 additions and 72 deletions

View File

@ -1700,7 +1700,7 @@ MonoBehaviour:
Combo: 0 Combo: 0
score: 0 score: 0
AutoDeathTime: 10 AutoDeathTime: 10
desiredAnimation: 0 animationNetwork: 0
timeInState: 0 timeInState: 0
lastState: 0 lastState: 0
awaitingNeutral: 0 awaitingNeutral: 0
@ -1732,9 +1732,10 @@ MonoBehaviour:
place2: {fileID: 0} place2: {fileID: 0}
place3: {fileID: 0} place3: {fileID: 0}
place4: {fileID: 0} place4: {fileID: 0}
Happy: {fileID: 7423281609888576017} characterAnimations:
Sad: {fileID: 214475789282727722} - {fileID: 1875531967}
Idle: {fileID: 4556693131245901252} - {fileID: 4293858750101964589}
- {fileID: 8346224333079188498}
--- !u!1 &4556693130865902302 --- !u!1 &4556693130865902302
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2699,7 +2700,7 @@ MonoBehaviour:
Combo: 0 Combo: 0
score: 0 score: 0
AutoDeathTime: 10 AutoDeathTime: 10
desiredAnimation: 0 animationNetwork: 0
timeInState: 0 timeInState: 0
lastState: 0 lastState: 0
awaitingNeutral: 0 awaitingNeutral: 0
@ -2731,9 +2732,10 @@ MonoBehaviour:
place2: {fileID: 0} place2: {fileID: 0}
place3: {fileID: 0} place3: {fileID: 0}
place4: {fileID: 0} place4: {fileID: 0}
Happy: {fileID: 1816384742524827005} characterAnimations:
Sad: {fileID: 4833124837759943605} - {fileID: 134040983}
Idle: {fileID: 4556693132352434247} - {fileID: 7660003724060655205}
- {fileID: 1818911326882958009}
--- !u!1 &4556693131863321704 --- !u!1 &4556693131863321704
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -12,7 +12,7 @@ public class SimpleAnimationLoop : MonoBehaviour {
renderer = GetComponent<SpriteRenderer>(); renderer = GetComponent<SpriteRenderer>();
} }
private void Update() { public void Update() {
var frameindex = Mathf.FloorToInt(Time.time / frameTime); var frameindex = Mathf.FloorToInt(Time.time / frameTime);
renderer.sprite = sprites[frameindex % sprites.Length]; renderer.sprite = sprites[frameindex % sprites.Length];
} }

View File

@ -97,8 +97,17 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
// Time without moving that the game will kill you if you have lethal trash // Time without moving that the game will kill you if you have lethal trash
public float AutoDeathTime = 10f; public float AutoDeathTime = 10f;
[NetVar('a', true, true)]
public byte animationNetwork;
public enum AnimationName { Idle, Happy, Sad } 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 float timeInState = 0;
public DelayState lastState = DelayState.None; public DelayState lastState = DelayState.None;
@ -155,10 +164,15 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
GhostActivations(); // Cool FX! GhostActivations(); // Cool FX!
board = ClearActivation(board); 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 // 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; delayState = DelayState.Collapse;
return; return;
} }
@ -199,7 +213,8 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
// at the piles of trash that killed them // at the piles of trash that killed them
active = false; active = false;
yield return new WaitForSeconds(timer); if (timer > 0f)
yield return new WaitForSeconds(timer);
// First, crumble the board to be really cool // First, crumble the board to be really cool
for(int x = 0; x < board.Count; ++x) { for(int x = 0; x < board.Count; ++x) {
var col = board[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 // Now, re-initialize the board, so those falling pieces are the last of our board
board = BoardStateExtension.Initialize(); board = BoardStateExtension.Initialize();
render.RebuildStack(board);
render.Render(board);
} }
#endregion #endregion
@ -320,7 +333,9 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
//this[dropColumn, dropHeight] = TileInfo.CreateRandomBlockTile(); //this[dropColumn, dropHeight] = TileInfo.CreateRandomBlockTile();
bs = ReduceCountdowns(bs); bs = ReduceCountdowns(bs);
bs = Collapse(bs); bs = Collapse(bs);
delayState = DelayState.Collapse;
if (IsActivatable(board) || IsSpecialActivable(board))
delayState = DelayState.Collapse;
SwapTiles(); SwapTiles();
ReplaceNextTile(); ReplaceNextTile();
@ -676,6 +691,41 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
} }
return bs; 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 #endregion
static BoardState Collapse(BoardState bs) { static BoardState Collapse(BoardState bs) {
@ -702,19 +752,12 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
private float nextNetworkTick; private float nextNetworkTick;
public void Update() { public void Update() {
if (!active) { if (isMine && active) {
render.RenderName();
return;
}
if (isMine) {
//checkDirty(); //checkDirty();
render.RebuildStack(board); render.RebuildStack(board);
GameLogic(); GameLogic();
render.SetAnimation();
if (Time.time >= nextNetworkTick && NetworkManager.inRoom){ if (Time.time >= nextNetworkTick && NetworkManager.inRoom){
UpdateNow(); UpdateNow();
nextNetworkTick = Time.time + networkTick; nextNetworkTick = Time.time + networkTick;
@ -722,23 +765,23 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
} }
render.RebuildStack(board); if (board != null){
render.Render(board); render.RebuildStack(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 render.Render(board);
// Seriously I can't believe this works this is dirty }
// It does make it render twice as fast, I have idea render.SetAnimation();
// i fix by doing two rebuild stacks >:)
// render.Render(board);
render.SetComboLevel(Combo); render.SetComboLevel(Combo);
render.SetScoreValue(score); render.SetScoreValue(score);
var pair = currentPair; if (CurrentDrop == 0){
var pairp = GetPlacePosition(board, playerRotation, dropColumn); render.ClearPlacement();
render.RenderPlacement(pair.left, pair.right, pairp.left, pairp.right); } else {
var pair = currentPair;
render.RenderName(); var pairp = GetPlacePosition(board, playerRotation, dropColumn);
render.RenderPlacement(pair.left, pair.right, pairp.left, pairp.right);
}
} }
public override void Awake() { public override void Awake() {
@ -763,18 +806,23 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
incomingTrash = 0; incomingTrash = 0;
score = 0; score = 0;
render.NickNameText.text = ""; // Clear the nickname text to prevent multi->arcade corruption render.RenderName();
nextActivator = TilesUntilActivator; nextActivator = TilesUntilActivator;
nextSpecial = ActivatorsUntilSpecial; nextSpecial = ActivatorsUntilSpecial;
delayState = DelayState.None; delayState = DelayState.None;
timeInState = 0; timeInState = 0;
ReplaceNextTile(); CurrentDrop = 0;
SwapTiles(); NextDrop = 0;
ReplaceNextTile(); }
public void StartGame(){
if (isMine){ if (isMine){
ReplaceNextTile();
SwapTiles();
ReplaceNextTile();
foreach(var c in board){ foreach(var c in board){
c.Add(TileInfo.CreateRandomBlockTile()); c.Add(TileInfo.CreateRandomBlockTile());
c.Add(TileInfo.CreateRandomBlockTile()); c.Add(TileInfo.CreateRandomBlockTile());
@ -792,6 +840,8 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
public void Clear(){ public void Clear(){
delayState = DelayState.None; delayState = DelayState.None;
StartCoroutine(HandleLoss(0f)); StartCoroutine(HandleLoss(0f));
desiredAnimation = AnimationName.Idle;
} }
public IEnumerable<TileInfo> Neighbors(int x, int y, BoardState bs) { public IEnumerable<TileInfo> Neighbors(int x, int y, BoardState bs) {

View File

@ -10,7 +10,9 @@ public class GameBoardInstance : MonoBehaviour {
public static GameBoardInstance instance { get; private set; } public static GameBoardInstance instance { get; private set; }
public GameBoard player1, player2; public GameBoard player1, player2;
public bool readyActive;
public bool gameActive; public bool gameActive;
public bool gameSetActive;
[Header("Text")] [Header("Text")]
public TextMeshProUGUI headerTextMesh; public TextMeshProUGUI headerTextMesh;
@ -104,11 +106,16 @@ public class GameBoardInstance : MonoBehaviour {
callback = StartSinglePlayer; callback = StartSinglePlayer;
} }
player1.Setup();
player2.Setup();
GameTransition.Instance.state = GameState.InGame; GameTransition.Instance.state = GameState.InGame;
StartCoroutine(StartGameTimer(3f, callback)); StartCoroutine(StartGameTimer(3f, callback));
} }
private IEnumerator StartGameTimer(float timer, System.Action callback){ private IEnumerator StartGameTimer(float timer, System.Action callback){
readyActive = true;
var t = Time.time; var t = Time.time;
while(Time.time - t <= timer){ while(Time.time - t <= timer){
headerTextMesh.text = Mathf.CeilToInt(timer - (Time.time - t)).ToString(); headerTextMesh.text = Mathf.CeilToInt(timer - (Time.time - t)).ToString();
@ -119,6 +126,7 @@ public class GameBoardInstance : MonoBehaviour {
PlayerProperties.CreatePlayerHashtable(); PlayerProperties.CreatePlayerHashtable();
callback(); callback();
gameActive = true; gameActive = true;
readyActive = false;
yield return new WaitForSeconds(2f); yield return new WaitForSeconds(2f);
headerTextMesh.text = ""; headerTextMesh.text = "";
@ -127,24 +135,26 @@ public class GameBoardInstance : MonoBehaviour {
private IEnumerator EndGameTimer(float timer){ private IEnumerator EndGameTimer(float timer){
gameActive = false; gameActive = false;
gameSetActive = true;
headerTextMesh.text = Localization.GetString(gameSetKey); headerTextMesh.text = Localization.GetString(gameSetKey);
yield return new WaitForSeconds(timer); yield return new WaitForSeconds(timer);
headerTextMesh.text = ""; headerTextMesh.text = "";
gameSetActive = false;
GameTransition.Instance.state = GameState.Continue; GameTransition.Instance.state = GameState.Continue;
Rematch.Instance.Setup(); Rematch.Instance.Setup();
} }
private void StartSinglePlayer(){ private void StartSinglePlayer(){
player1.Setup(); player1.StartGame();
player2.Setup(); player2.StartGame();
player2.StartAI(new[] { 0.5f, 0.2f, 0.1f, 0f }[AIDifficulty]); player2.StartAI(new[] { 0.5f, 0.2f, 0.1f, 0f }[AIDifficulty]);
} }
private void StartMultiPlayer(){ private void StartMultiPlayer(){
player1.Setup(); player1.StartGame();
player2.Setup(); player2.StartGame();
} }
public void ExitGame(bool force = false){ public void ExitGame(bool force = false){

View File

@ -25,30 +25,47 @@ public class GameBoardRender : MonoBehaviour {
public TileRender place2; public TileRender place2;
public TileRender place3, place4; // Next tile display public TileRender place3, place4; // Next tile display
public GameObject Happy, Sad, Idle; public SimpleAnimationLoop[] characterAnimations;
private float soonestChangeTime = 0f; private float soonestChangeTime = 0f;
public void SetAnimation() { public void SetAnimation() {
bool enableHappy = false, enableSad = false, enableIdle = false; var index = 0;
if (Time.time < soonestChangeTime) return; if (GameTransition.Instance.state == GameState.InGame){
// default idle
if (GameBoardInstance.instance.readyActive){
index = 0;
}
// regular Texel way
else if (GameBoardInstance.instance.gameActive){
switch(board.desiredAnimation) { if (Time.time < soonestChangeTime) return;
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;
}
if (Happy) Happy.SetActive(enableHappy); switch(board.desiredAnimation) {
if (Sad) Sad.SetActive(enableSad); case GameBoard.AnimationName.Happy:
if (Idle) Idle.SetActive(enableIdle); case GameBoard.AnimationName.Sad:
soonestChangeTime = Time.time + 5f;
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;
// 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 // Dramatically slow falls in combo mode
@ -137,6 +154,8 @@ public class GameBoardRender : MonoBehaviour {
if (NetworkManager.inRoom && board.authorityID != -1){ if (NetworkManager.inRoom && board.authorityID != -1){
var player = NetworkManager.net.CurrentRoom.GetPlayer(board.authorityID); var player = NetworkManager.net.CurrentRoom.GetPlayer(board.authorityID);
NickNameText.text = player.NickName; NickNameText.text = player.NickName;
} else {
NickNameText.text = string.Empty;
} }
} }
@ -194,6 +213,13 @@ public class GameBoardRender : MonoBehaviour {
Destroy(tr.gameObject); 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){ 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); place1.transform.localPosition = new Vector3(leftPosition.x * width, leftPosition.y * height);
place2.transform.localPosition = new Vector3(rightPosition.x * width, rightPosition.y * height); place2.transform.localPosition = new Vector3(rightPosition.x * width, rightPosition.y * height);

View File

@ -3494,7 +3494,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, 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_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 1} m_Pivot: {x: 0.5, y: 1}
--- !u!1 &543236184 --- !u!1 &543236184
@ -9626,7 +9626,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {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_SizeDelta: {x: 800, y: 50}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!1 &1736330633760980513 --- !u!1 &1736330633760980513

View File

@ -15,7 +15,9 @@ public class TileRender : MonoBehaviour {
SetDisplay(null, color, kind); SetDisplay(null, color, kind);
} }
public void ClearDisplay(){
renderer.sprite = null;
}
public void SetDisplay(TileInfo tile, TileColor color, TileKind kind){ public void SetDisplay(TileInfo tile, TileColor color, TileKind kind){
Sprite[] sprites; Sprite[] sprites;

View File

@ -1403,7 +1403,9 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
player1: {fileID: 647195263} player1: {fileID: 647195263}
player2: {fileID: 2143326256} player2: {fileID: 2143326256}
readyActive: 0
gameActive: 0 gameActive: 0
gameSetActive: 0
headerTextMesh: {fileID: 2013137395} headerTextMesh: {fileID: 2013137395}
startKey: GAME_START startKey: GAME_START
gameSetKey: GAME_GAMESET gameSetKey: GAME_GAMESET
@ -1542,14 +1544,322 @@ PrefabInstance:
m_Modification: m_Modification:
m_TransformParent: {fileID: 0} m_TransformParent: {fileID: 0}
m_Modifications: m_Modifications:
- target: {fileID: 482421870, guid: adba91609cb1e5448b76682be198fc9b, type: 3} - target: {fileID: 196230227, guid: adba91609cb1e5448b76682be198fc9b, type: 3}
propertyPath: m_AnchoredPosition.y propertyPath: m_AnchorMin.y
value: 49.999878 value: 0
objectReference: {fileID: 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} type: 3}
propertyPath: m_AnchoredPosition.y 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} objectReference: {fileID: 0}
- target: {fileID: 1736330635070797285, guid: adba91609cb1e5448b76682be198fc9b, - target: {fileID: 1736330635070797285, guid: adba91609cb1e5448b76682be198fc9b,
type: 3} type: 3}
@ -1661,6 +1971,21 @@ PrefabInstance:
propertyPath: m_Pivot.y propertyPath: m_Pivot.y
value: 0 value: 0
objectReference: {fileID: 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, - target: {fileID: 1736330635485585598, guid: adba91609cb1e5448b76682be198fc9b,
type: 3} type: 3}
propertyPath: tDisplays.Array.data[0].target propertyPath: tDisplays.Array.data[0].target