This commit is contained in:
SweetJJuya 2025-01-02 19:44:51 +09:00
parent 2190cd1230
commit 28b8b6dfb0
17 changed files with 48050 additions and 13600 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1c68dd53cadcda54e83f8dcb02e4daf8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -1,70 +1,190 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading.Tasks;
using BlueWater.Tycoons;
using BlueWater.Uis;
using ExcelDataReader.Log;
using Firebase.Database; using Firebase.Database;
using Firebase.Extensions; using Firebase.Extensions;
using UnityEngine; using UnityEngine;
using Sirenix.OdinInspector;
using UnityEngine.Serialization;
namespace BlueWater namespace BlueWater
{ {
public class BlueWaterRankUserData public class BlueWaterRankUserData
{ {
public string Name { get; private set; } public string Id { get; set; } //저장시에만 사용함.
public int Round { get; private set; } public string Name { get; set; }
public int Gold { get; private set; } public int Round { get; set; }
public int Time { get; private set; } public int Gold { get; set; }
public int Tries { get; private set; } public int Time { get; set; }
public int Tries { get; set; }
public string NextID { get; set; }
} }
public class FirebaseManager : Singleton<FirebaseManager> public class FirebaseManager : Singleton<FirebaseManager>
{ {
private DatabaseReference _reference; private DatabaseReference _reference;
public List<BlueWaterRankUserData> UserDatas;
private string _lastDatasName;
[SerializeField]
private TycoonResultUi resultUi;
public BlueWaterRankUserData thisUser;
protected override void OnAwake() protected override void OnAwake()
{ {
_reference = FirebaseDatabase.DefaultInstance.RootReference; _reference = FirebaseDatabase.DefaultInstance.RootReference;
Debug.Log("Firebase Awake!!"); UserDatas = new List<BlueWaterRankUserData>();
} }
void Start() private void OnDestroy()
{ {
UserDatas.Clear();
//WriteUserData("0", "aaaa"); }
//WriteUserData("1", "bbbb");
//WriteUserData("2", "cccc");
//WriteUserData("3", "dddd");
}
void UpdateUserData()
{
FirebaseDatabase.DefaultInstance.GetReference("Users")
.GetValueAsync().ContinueWithOnMainThread(task =>
{
if (task.IsFaulted)
{
// Handle the error...
}
else if (task.IsCompleted)
{
DataSnapshot snapshot = task.Result;
string nextName = "__Root";
for (int i = 0; i < snapshot.ChildrenCount; i++) [Button("랭크 최신화")]
{ async Task UpdateUserData(Action action = null)
Debug.Log(snapshot.Child(nextName).Child("Name").Value);
nextName = (string)snapshot.Child(nextName).Child("NextID").Value;
}
}
});
}
void WriteUserData(string userId, string username)
{ {
_reference.Child(userId).Child("username").SetValueAsync(username); UserDatas.Clear();
var snapshot = await FirebaseDatabase.DefaultInstance.GetReference("Users").GetValueAsync();
string nextID = "__Root";
for (int i = 0; i < snapshot.ChildrenCount; i++)
{
try
{
var child = snapshot.Child(nextID);
if (child == null)
{
break; // 유효하지 않으면 루프 종료
}
BlueWaterRankUserData user = new BlueWaterRankUserData
{
Name = child.Child("Name")?.Value?.ToString() ?? "Unknown",
Round = int.Parse(child.Child("Round")?.Value?.ToString() ?? "0"),
Gold = int.Parse(child.Child("Gold")?.Value?.ToString() ?? "0"),
Time = int.Parse(child.Child("Time")?.Value?.ToString() ?? "0"),
Tries = int.Parse(child.Child("Tries")?.Value?.ToString() ?? "0"),
NextID = child.Child("NextID")?.Value?.ToString()
};
nextID = user.NextID;
if (string.IsNullOrEmpty(nextID))
{
//Debug.Log($"Name : {user.Name} / Round : {user.Round} / Gold : {user.Gold} / Time : {user.Time}");
//Debug.Log("NextNAME END");
break; // 다음 nextID 유효하지 않으면 루프 종료
}
// Debug.Log("ADD");
UserDatas.Add(user);
}
catch (Exception ex)
{
// Debug.LogError($"Exception occurred: {ex.Message}");
break;
}
}
action?.Invoke(); // 데이터 로딩 완료 시 호출
}
public void CreateRank(Action action = null)
{
// 통신 가능 여부 체크
if (Application.internetReachability == NetworkReachability.NotReachable) return;
_ = UpdateUserData(() =>
{
thisUser = new BlueWaterRankUserData();
thisUser.Id = GetOriginalUserID();
thisUser.Round = int.Parse(TycoonManager.Instance.GetCurrentLevelData().Idx);
thisUser.Gold = resultUi._goldSpent;
thisUser.Time = (int)resultUi._playTime;
thisUser.Tries = ES3.Load(SaveData.Tries, 0);
int i = 0;
for (; i < 102; i++) //__Root포함 탐색 (최대 랭크 100위 + Root + 자기자신 = 102)
{
if (i < UserDatas.Count)
{
if (UserDatas[i].Round > thisUser.Round) {continue;}
if (UserDatas[i].Round == thisUser.Round && UserDatas[i].Gold > thisUser.Gold) {continue;}
if (UserDatas[i].Round == thisUser.Round && UserDatas[i].Gold == thisUser.Gold && UserDatas[i].Time < thisUser.Time) {continue;}
if (UserDatas[i].Round == thisUser.Round && UserDatas[i].Gold == thisUser.Gold && UserDatas[i].Time == thisUser.Time && UserDatas[i].Tries <= thisUser.Tries) {continue;}
//100위까지 랭크가 기입되어 있고 100위권 안에 들어갔을때
//마지막 항목은 삭제...
if (UserDatas.Count >= 100) //__Root포함 100개
{
//Debug.Log("Remove : " + UserDatas[^2].NextID);
_reference.Child("Users").Child(UserDatas[^2].NextID).RemoveValueAsync(); //삭제
}
UserDatas.Insert(i , thisUser);
}
else if (i >= 101) { UserDatas.Add(thisUser);break;} //랭크 밖... 101위
else{ UserDatas.Add(thisUser); } //랭크 등록갯수가 100개 미만일경우
if (i == 1) //__Root(1등) 처리
{
_reference.Child("Users").Child("__Root").Child("NextID").SetValueAsync(thisUser.Id);
thisUser.NextID = UserDatas[0].NextID;
Debug.Log("thisUser.NextID = " + thisUser.NextID);
}
else
{
_reference.Child("Users").Child(UserDatas[i - 2].NextID).Child("NextID").SetValueAsync(thisUser.Id);
thisUser.NextID = UserDatas[i-1].NextID;
Debug.Log("thisUser.NextID = " + thisUser.NextID);
}
WriteUserData(thisUser);
break;
}
thisUser.NextID = null;
action?.Invoke();
});
}
private void WriteUserData(BlueWaterRankUserData userData)
{
_reference.Child("Users").Child(userData.Id).Child("Name").SetValueAsync("Empty");
_reference.Child("Users").Child(userData.Id).Child("Round").SetValueAsync(userData.Round);
_reference.Child("Users").Child(userData.Id).Child("Gold").SetValueAsync(userData.Gold);
_reference.Child("Users").Child(userData.Id).Child("Time").SetValueAsync(userData.Time);
_reference.Child("Users").Child(userData.Id).Child("Tries").SetValueAsync(userData.Tries);
_reference.Child("Users").Child(userData.Id).Child("Language").SetValueAsync(CultureInfo.CurrentCulture.Name);
_reference.Child("Users").Child(userData.Id).Child("NextID").SetValueAsync(userData.NextID);
}
[Button("이름변경하기")]
public void WirteUserDataName(string changename) //이름변경
{
_reference.Child("Users").Child(thisUser.Id).Child("Name").SetValueAsync(changename);
}
string GetOriginalUserID()
{
string uniqueID = Environment.MachineName;
DateTime utcNow = DateTime.UtcNow;
TimeZoneInfo pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
DateTime pstTime = TimeZoneInfo.ConvertTimeFromUtc(utcNow, pstZone);
uniqueID += pstTime.ToString("-yyyy-MM-dd-HH-mm-ss");
return uniqueID;
} }
} }

View File

@ -10,6 +10,7 @@ namespace BlueWater
public const string BgmVolume = "BgmVolume"; public const string BgmVolume = "BgmVolume";
public const string SfxVolume = "SfxVolume"; public const string SfxVolume = "SfxVolume";
public const string CompleteFirstGame = "CompleteFirstGame"; public const string CompleteFirstGame = "CompleteFirstGame";
public const string Tries = "Tries";
// 튜토리얼 데이터 // 튜토리얼 데이터
public const string TutorialA = "TutorialA"; public const string TutorialA = "TutorialA";

View File

@ -0,0 +1,327 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &976735345851103882
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7397305532453693736}
m_Layer: 0
m_Name: Crews
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7397305532453693736
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 976735345851103882}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6756784932149213409}
- {fileID: 2831594207239095253}
m_Father: {fileID: 3646641322554069205}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1288066730783885505
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6756784932149213409}
m_Layer: 0
m_Name: CleanerSpawn
m_TagString: Untagged
m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6756784932149213409
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1288066730783885505}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 6.423, y: 0, z: -14.157}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7397305532453693736}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6343609226796291195
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2831594207239095253}
m_Layer: 0
m_Name: ServerSpawn
m_TagString: Untagged
m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2831594207239095253
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6343609226796291195}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 6.423, y: 0, z: -14.157}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7397305532453693736}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7346530540136226617
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3646641322554069205}
- component: {fileID: 818906649397483527}
- component: {fileID: 3188342412748257250}
- component: {fileID: 5128846959703286048}
- component: {fileID: 160410100653393760}
- component: {fileID: 6254778032192747875}
- component: {fileID: 7536229774908617976}
- component: {fileID: 769398449356380935}
- component: {fileID: 7519316347069452839}
m_Layer: 0
m_Name: TycoonManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3646641322554069205
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7397305532453693736}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &818906649397483527
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a961f486af9bbe4583b1037d23298cc, type: 3}
m_Name:
m_EditorClassIdentifier:
_persistent: 0
<CustomerTableController>k__BackingField: {fileID: 3188342412748257250}
<TycoonStageController>k__BackingField: {fileID: 5128846959703286048}
<TycoonIngredientController>k__BackingField: {fileID: 160410100653393760}
<CrewController>k__BackingField: {fileID: 6254778032192747875}
<CustomerController>k__BackingField: {fileID: 7536229774908617976}
<ServingTableController>k__BackingField: {fileID: 769398449356380935}
<TycoonCardController>k__BackingField: {fileID: 7519316347069452839}
<TycoonStatus>k__BackingField:
_maxLevel: 100
_currentLevel: 1
_maxPlayerHealth: 4
_currentPlayerHealth: 4
_playerMoveSpeedMultiplier: 1
_currentExp: 0
_expMultiplier: 1
_currentGold: 0
_goldMultiplier: 1
_currentLiquidAmountA: 0
_currentLiquidAmountB: 0
_currentLiquidAmountC: 0
_currentLiquidAmountD: 0
_currentLiquidAmountE: 0
_currentGarnishAmount1: 0
_currentGarnishAmount2: 0
_playerDashCooldownReduction: 0
_tipMultiplier: 0
_endGoldMultiplier: 0
_customerHurryTimeIncrease: 0
_barrelAutoIncrease: 0
_serverTipMultiplier: 0
_cleanerCleaningReduction: 0
_bartenderMakingReduction: 0
<LevelDataSo>k__BackingField: {fileID: 11400000, guid: 702b1ed0ce71d1b4aa1ddbce67e475a1, type: 2}
--- !u!114 &3188342412748257250
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f1f3fbad52bf14f4a919767bb32ac24f, type: 3}
m_Name:
m_EditorClassIdentifier:
_customerTableRoot: {fileID: 0}
_customerTables:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
_activeCustomerTables:
- {fileID: 0}
--- !u!114 &5128846959703286048
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9dd1d4a57e5f2dc4ba2346bf6359f094, type: 3}
m_Name:
m_EditorClassIdentifier:
<StageDataSo>k__BackingField: {fileID: 11400000, guid: 5fd0220da8e388e4c872a9fcc80d2c76, type: 2}
_vomitingObject: {fileID: 7264946127367919962, guid: d02f28b2bb526af478050f2f027be8e9, type: 3}
_mushroomObject: {fileID: 9017181398980009727, guid: 6ae3ef0fd03a4f14bb60802eb4fc0fa8, type: 3}
_normalRewardBoxObject: {fileID: 5271591928794914848, guid: c939d59e0cc02ec45b0610f6b470031f, type: 3}
_rareRewardBoxObject: {fileID: 5271591928794914848, guid: 6609b1f764f239e4a94f6f88be3d4916, type: 3}
--- !u!114 &160410100653393760
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 72638ccfaf7778d42808e233d2eb6e8c, type: 3}
m_Name:
m_EditorClassIdentifier:
<LiquidBarrelA>k__BackingField: {fileID: 0}
<LiquidBarrelB>k__BackingField: {fileID: 0}
<LiquidBarrelC>k__BackingField: {fileID: 0}
<LiquidBarrelD>k__BackingField: {fileID: 0}
<LiquidBarrelE>k__BackingField: {fileID: 0}
<GarnishBarrel1>k__BackingField: {fileID: 0}
<GarnishBarrel2>k__BackingField: {fileID: 0}
_createMoldySfxName: CreateMoldy
--- !u!114 &6254778032192747875
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6bfcc5a4ee0dbf4392ae05fd1c81877, type: 3}
m_Name:
m_EditorClassIdentifier:
_cleanerCrewPrefab: {fileID: 3226241112093390236, guid: fb1e288d64b813b4a9929ba9ece44956, type: 3}
_servingCrewPrefab: {fileID: 1745629821853633206, guid: b692f61d994a0b94cb92cf0f2d47cfb2, type: 3}
_bartenderCrewPrefab: {fileID: 529038307721658883, guid: 6c1ef58eadd33b64081c2586a3ac56a8, type: 3}
_cleanerCrewSpawnTransform: {fileID: 6756784932149213409}
_servingCrewSpawnTransform: {fileID: 2831594207239095253}
_bartenderCrewSpawnTransforms:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
<Crews>k__BackingField: []
<CleanerCrews>k__BackingField: []
<ServerCrews>k__BackingField: []
<BartenderCrews>k__BackingField: []
--- !u!114 &7536229774908617976
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7ab08469541b2aa45818fa36bbcb9cf7, type: 3}
m_Name:
m_EditorClassIdentifier:
_customerPrefab: {fileID: -2302002259734456648, guid: 23195e611c71ad44b8a1ccb2b6e0efe5, type: 3}
_customerSpawnTransform: {fileID: 0}
_createCustomerSfxName: CreateCustomer
_checkEmptySeatInterval: 0.5
<InstanceCustomers>k__BackingField:
- {fileID: 0}
- {fileID: 0}
--- !u!114 &769398449356380935
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 03e84488b3da65549a78d481636713a3, type: 3}
m_Name:
m_EditorClassIdentifier:
_servingTableRoot: {fileID: 0}
_servingTables:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
--- !u!114 &7519316347069452839
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7346530540136226617}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9b861fc14a492d143aa66bd14424c65a, type: 3}
m_Name:
m_EditorClassIdentifier:
_tycoonCardPrefab: {fileID: 1311751278713342195, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
<CardDataSo>k__BackingField: {fileID: 11400000, guid: 4607b374e49ab734da548949f9e10fed, type: 2}
<CardShopDataSo>k__BackingField: {fileID: 11400000, guid: 9f0a0b0a5fe81514a9f58d322a6e8012, type: 2}
<CardNormalDataSo>k__BackingField: {fileID: 11400000, guid: ba5e48d235a2e144bb8d9a8f9a0573b0, type: 2}
<CardRareDataSo>k__BackingField: {fileID: 11400000, guid: 2872d9c3372bbf744ba3a4c7a9506335, type: 2}
_selectCardSfxName: SelectCard
_purifySfxName: Purify

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f4159a422e38b0d45840f89b7d8d7b34
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2,129 +2,89 @@ using System.Collections.Generic;
using System.Collections; using System.Collections;
using System.Globalization; using System.Globalization;
using System.Threading.Tasks; using System.Threading.Tasks;
using BlueWater;
using UnityEngine.Networking; using UnityEngine.Networking;
using Firebase.Database; using Firebase.Database;
using Firebase.Extensions; using Firebase.Extensions;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.UI;
public class RankRow : MonoBehaviour namespace BlueWater
{ {
private DatabaseReference m_Reference; public class RankRow : MonoBehaviour
{
private DatabaseReference m_Reference;
[SerializeField] [SerializeField] private TextMeshProUGUI rankText;
private TextMeshPro rankText;
[SerializeField] private TextMeshProUGUI nameText;
[SerializeField]
private TextMeshPro nameText; [SerializeField] private TextMeshProUGUI roundText;
[SerializeField] [SerializeField] private TextMeshProUGUI goldText;
private TextMeshPro goldText;
[SerializeField] private TextMeshProUGUI timeText;
[SerializeField]
private TextMeshPro timeText; [SerializeField] private TextMeshProUGUI triesText;
[SerializeField] [SerializeField] private FirebaseManager firebaseManager;
private TextMeshPro triesText;
void Start()
void Start()
{
m_Reference = FirebaseDatabase.DefaultInstance.RootReference;
}
public void WriteUserData(string nickname)
{
string currentLanguage = CultureInfo.CurrentCulture.Name; // 예: "en-US"
string ipAddress = GetPublicIP(); //공인 IP 주소
if (string.IsNullOrEmpty(nickname) || string.IsNullOrEmpty(ipAddress)) //비어있는 필수 객체 확인하기.
{ {
Debug.LogError("User ID or Username cannot be null or empty."); m_Reference = FirebaseDatabase.DefaultInstance.RootReference;
return; }
public void SetValue(string boardRank, string boardName, string boardRound, string boardGold, string boardTime,
string boardTries)
{
rankText.text = boardRank;
nameText.text = boardName;
roundText.text = boardRound;
goldText.text = boardGold;
timeText.text = boardTime;
triesText.text = boardTries;
}
public float duration = 3.0f; // 알파 변화에 걸리는 시간
public float maxAlpha = 0.5f; // 알파 최대값
public void StartAlpha()
{
StartCoroutine(PulseAlpha());
} }
var userData = new Dictionary<string, object> private IEnumerator PulseAlpha()
{ {
{ "Nickname", nickname }, while (true)
{ "Language", currentLanguage },
{ "IP", ipAddress }
};
m_Reference.Child("users").Child(nickname).SetValueAsync(userData).ContinueWithOnMainThread(task =>
{
if (task.IsFaulted)
{ {
//Debug.LogError("Error writing data: " + task.Exception); // 0 -> maxAlpha로 변화
} yield return StartCoroutine(ChangeAlpha(0, maxAlpha, duration / 2));
else if (task.IsCompleted) // maxAlpha -> 0으로 변화
{ yield return StartCoroutine(ChangeAlpha(maxAlpha, 0, duration / 2));
//Debug.Log($"Successfully wrote data for User ID: {userId}, Username: {username}");
}
});
}
public string GetPublicIP()
{
using (UnityWebRequest webRequest = UnityWebRequest.Get("https://api.ipify.org?format=text"))
{
var operation = webRequest.SendWebRequest();
while (!operation.isDone)
{
// Wait until the operation is done
}
if (webRequest.result == UnityWebRequest.Result.ConnectionError || webRequest.result == UnityWebRequest.Result.ProtocolError)
{
Debug.LogError("Error getting public IP: " + webRequest.error);
return null;
}
else
{
return webRequest.downloadHandler.text;
} }
} }
}
private IEnumerator ChangeAlpha(float from, float to, float duration)
public void GetAllUsersData()
{
// "users" 노드에 있는 전체 데이터를 가져옴
m_Reference.Child("users").GetValueAsync().ContinueWithOnMainThread(task =>
{ {
if (task.IsFaulted) float elapsedTime = 0f;
Color color = GetComponent<Image>().color;
while (elapsedTime < duration)
{ {
// 에러 처리 elapsedTime += Time.deltaTime;
Debug.LogError("Failed to get data: " + task.Exception); float newAlpha = Mathf.Lerp(from, to, elapsedTime / duration);
GetComponent<Image>().color = new Color(color.r, color.g, color.b, newAlpha);
yield return null;
} }
else if (task.IsCompleted)
{
DataSnapshot snapshot = task.Result;
if (snapshot.Exists) GetComponent<Image>().color = new Color(color.r, color.g, color.b, to);
{ }
Debug.Log("All Users Data:");
public void SetValueName(string boardName)
// users 하위 노드의 데이터를 순회 {
foreach (DataSnapshot userSnapshot in snapshot.Children) nameText.text = boardName;
{ }
string userId = userSnapshot.Key; // 예: 유저의 고유 키
string nickname = userSnapshot.Child("Nickname").Value?.ToString();
//string round = userSnapshot.Child("Round").Value?.ToString();
//string gold = userSnapshot.Child("Gold").Value?.ToString();
//string time = userSnapshot.Child("Time").Value?.ToString();
//string tries = userSnapshot.Child("Tries").Value?.ToString();
string language = userSnapshot.Child("Language").Value?.ToString();
string ipAddress = userSnapshot.Child("IP").Value?.ToString();
Debug.Log($"User ID: {userId}, Nickname: {nickname}, Language: {language}, IP: {ipAddress}");
}
}
else
{
Debug.Log("No users data found.");
}
}
});
} }
}
}

View File

@ -1,8 +1,157 @@
using Firebase.Database; using System;
using Firebase.Extensions; using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using BlueWater;
using BlueWater.Uis;
using PixelCrushers;
using UnityEngine; using UnityEngine;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine.UI;
using UnityEngine.UIElements;
using Button = UnityEngine.UI.Button;
public class RankUi : MonoBehaviour namespace BlueWater
{ {
public class RankUi : PausePopupUi
} {
//현재 랭크에 스크롤이 위치하도록 하는 것
[SerializeField] private GameObject _panel;
[SerializeField] private GameObject rankRow;
[SerializeField] private FirebaseManager firebaseManager;
[SerializeField] private GameObject rankContents;
[SerializeField] private TextMeshProUGUI yourRank;
[SerializeField] private UIInputField nameTextField;
[SerializeField]
public RectTransform content; // ScrollRect의 Content;
[SerializeField]
private Button _mainMenuButton;
[SerializeField]
private Button _restartButton;
private bool _rankOpen = false;
private void Start()
{
_panel.SetActive(false);
_mainMenuButton.onClick.AddListener(() => SceneController.Instance.LoadScene(SceneName.TycoonTile));
_restartButton.onClick.AddListener(SceneController.Instance.RestartCurrentScene);
}
public override void Open()
{
_panel.SetActive(true);
}
public override void Close()
{
_panel.SetActive(false);
}
private void OnDestroy()
{
if (SceneController.Instance)
{
_mainMenuButton?.onClick.RemoveListener(() => SceneController.Instance.LoadScene(SceneName.TycoonTile));
_restartButton?.onClick.RemoveListener(SceneController.Instance.RestartCurrentScene);
}
}
[Button("랭크저장+리더보드갱신")]
public void RunRank()
{
Open();
_rankOpen = false;
foreach (Transform child in rankContents.transform)
{
Destroy(child.gameObject); // 자식의 GameObject를 제거
}
firebaseManager.CreateRank(() =>
{
for (int i = 1 ; i < firebaseManager.UserDatas.Count ; i++) //Root제외 1부터 시작
{
var newObject = Instantiate(rankRow, rankContents.transform);
newObject.name = $"{i}";
newObject.GetComponent<RankRow>().SetValue(i.ToString() , firebaseManager.UserDatas[i].Name, firebaseManager.UserDatas[i].Round.ToString()
,firebaseManager.UserDatas[i].Gold.ToString()
,$"{firebaseManager.UserDatas[i].Time / 3600:D2}:{(firebaseManager.UserDatas[i].Time % 3600) / 60:D2}:{firebaseManager.UserDatas[i].Time % 60:D2}"
,firebaseManager.UserDatas[i].Tries.ToString());
if (firebaseManager.UserDatas[i] == firebaseManager.thisUser) yourRank.SetText(i.ToString());
}
_rankOpen = true;
StartCoroutine(CenterOnTarget());
});
}
public void SetName()
{
if (_rankOpen)
{
firebaseManager.WirteUserDataName(nameTextField.text);
}
}
public void ValidateInput()
{
// 12글자 제한
if (nameTextField.text.Length > 14)
{
nameTextField.text = nameTextField.text.Substring(0, 12);
return;
}
// 영어 알파벳(a-z, A-Z)과 숫자(0-9)만 허용
string pattern = "^[a-zA-Z0-9]*$";
if (!Regex.IsMatch(nameTextField.text, pattern))
{
// 조건에 맞지 않는 문자 제거
nameTextField.text = Regex.Replace(nameTextField.text, "[^a-zA-Z0-9]", "");
}
rankContents.transform.Find(yourRank.text).GetComponent<RankRow>().SetValueName(nameTextField.text);
}
private IEnumerator CenterOnTarget()
{
float timer = 0f;
while (timer < 0.5f)
{
timer += Time.unscaledDeltaTime;
yield return null;
}
var rankrow = rankContents.transform.Find(yourRank.text).GetComponent<RankRow>();
var target = rankrow.transform;
//Debug.Log(target.position.y);
rankrow.StartAlpha();
content.offsetMin = new Vector2(0, content.offsetMin.y); // Left
content.offsetMax = new Vector2(0, content.offsetMax.y); // Right
Vector2 anchoredPosition = content.anchoredPosition;
anchoredPosition.y = Math.Abs(target.localPosition.y + 320); // 원하는 Y 값 (대강 보여지는 부분에서 350만큼 제거)
//anchoredPosition.y = 6000; // 원하는 Y 값
content.anchoredPosition = anchoredPosition;
}
}
}

View File

@ -200,7 +200,7 @@ namespace BlueWater.Uis
[SerializeField] [SerializeField]
private TMP_Text _goldSpentText; private TMP_Text _goldSpentText;
private int _goldSpent; public int _goldSpent;
[Title("총 획득 골드")] [Title("총 획득 골드")]
[SerializeField] [SerializeField]
@ -214,10 +214,7 @@ namespace BlueWater.Uis
[Title("버튼")] [Title("버튼")]
[SerializeField] [SerializeField]
private Button _mainMenuButton; private Button _nextButton;
[SerializeField]
private Button _restartButton;
[Title("연출 효과")] [Title("연출 효과")]
[SerializeField] [SerializeField]
@ -232,9 +229,14 @@ namespace BlueWater.Uis
private Coroutine _showResultInstance; private Coroutine _showResultInstance;
private InputAction _pressAnyKeyAction; private InputAction _pressAnyKeyAction;
private float _playTime; public float _playTime;
private bool _isSetData; private bool _isSetData;
[Title("[다음]")]
[SerializeField]
private RankUi _rankUi;
private void Awake() private void Awake()
{ {
EventManager.OnShowResult += Open; EventManager.OnShowResult += Open;
@ -254,8 +256,7 @@ namespace BlueWater.Uis
Destroy(element.gameObject); Destroy(element.gameObject);
} }
_mainMenuButton.onClick.AddListener(() => SceneController.Instance.LoadScene(SceneName.TycoonTile)); _nextButton.onClick.AddListener(() => _rankUi.RunRank());
_restartButton.onClick.AddListener(SceneController.Instance.RestartCurrentScene);
_bigCatCount = 0; _bigCatCount = 0;
_casperCount = 0; _casperCount = 0;
@ -288,8 +289,7 @@ namespace BlueWater.Uis
if (SceneController.Instance) if (SceneController.Instance)
{ {
_mainMenuButton?.onClick.RemoveListener(() => SceneController.Instance.LoadScene(SceneName.TycoonTile)); _nextButton?.onClick.RemoveListener(() => _rankUi.RunRank());
_restartButton?.onClick.RemoveListener(SceneController.Instance.RestartCurrentScene);
} }
_pressAnyKeyAction.performed -= OnShowImmediately; _pressAnyKeyAction.performed -= OnShowImmediately;
@ -400,8 +400,7 @@ namespace BlueWater.Uis
_totalGoldText.text = $"{totalGoldLocalized} : {targetGold:N0}"; _totalGoldText.text = $"{totalGoldLocalized} : {targetGold:N0}";
yield return panelWaitingTime; yield return panelWaitingTime;
_mainMenuButton.gameObject.SetActive(true); _nextButton.gameObject.SetActive(true);
_restartButton.gameObject.SetActive(true);
_pressAnyKeyAction.performed -= OnShowImmediately; _pressAnyKeyAction.performed -= OnShowImmediately;
yield return null; yield return null;
@ -443,8 +442,7 @@ namespace BlueWater.Uis
_goldSpentPanel.SetActive(isActive); _goldSpentPanel.SetActive(isActive);
_totalGoldPanel.SetActive(isActive); _totalGoldPanel.SetActive(isActive);
_minusPercentText.enabled = isActive; _minusPercentText.enabled = isActive;
_mainMenuButton.gameObject.SetActive(isActive); _nextButton.gameObject.SetActive(isActive);
_restartButton.gameObject.SetActive(isActive);
} }
private void SetResultData() private void SetResultData()
@ -455,6 +453,8 @@ namespace BlueWater.Uis
int saveGold = currentGold + addedGold; int saveGold = currentGold + addedGold;
ES3.Save(SaveData.EndGold, saveGold); ES3.Save(SaveData.EndGold, saveGold);
ES3.Save(SaveData.CompleteFirstGame, true); ES3.Save(SaveData.CompleteFirstGame, true);
int tries = ES3.Load(SaveData.Tries, 0);
ES3.Save(SaveData.Tries, ++tries);
Dictionary<string, int> selectedCards = TycoonManager.Instance.TycoonCardController.SelectedCard; Dictionary<string, int> selectedCards = TycoonManager.Instance.TycoonCardController.SelectedCard;
foreach (var element in selectedCards) foreach (var element in selectedCards)

View File

@ -120,7 +120,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &510409880402970474 --- !u!224 &510409880402970474
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -0,0 +1,919 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &878404831752382123
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6400333162596550941}
- component: {fileID: 5856173100106303957}
- component: {fileID: 8358172282955525803}
m_Layer: 0
m_Name: Rank
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6400333162596550941
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 878404831752382123}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2925474769406969026}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -480, y: 0}
m_SizeDelta: {x: -960, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5856173100106303957
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 878404831752382123}
m_CullTransparentMesh: 1
--- !u!114 &8358172282955525803
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 878404831752382123}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 100
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1358217848641973760
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7570963727008804314}
- component: {fileID: 8927291564890979187}
- component: {fileID: 4747368213023832871}
m_Layer: 0
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7570963727008804314
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1358217848641973760}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2925474769406969026}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -295, y: 0}
m_SizeDelta: {x: -890, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8927291564890979187
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1358217848641973760}
m_CullTransparentMesh: 1
--- !u!114 &4747368213023832871
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1358217848641973760}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: EMPTY
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 39.05
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1361510178396898636
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2925474769406969026}
- component: {fileID: 4031588513084420275}
- component: {fileID: 1221722445790527519}
- component: {fileID: 4938242214179892651}
m_Layer: 0
m_Name: RankRow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2925474769406969026
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361510178396898636}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6400333162596550941}
- {fileID: 7570963727008804314}
- {fileID: 5620346634097458407}
- {fileID: 4252210087869691559}
- {fileID: 5590599134361205124}
- {fileID: 5977903151874443973}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4031588513084420275
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361510178396898636}
m_CullTransparentMesh: 1
--- !u!114 &1221722445790527519
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361510178396898636}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0, b: 0, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &4938242214179892651
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361510178396898636}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4b9215935020b4a4fba279c3a6effef9, type: 3}
m_Name:
m_EditorClassIdentifier:
rankText: {fileID: 8358172282955525803}
nameText: {fileID: 4747368213023832871}
roundText: {fileID: 3838100796802365917}
goldText: {fileID: 3648943041296520609}
timeText: {fileID: 8735779689852557154}
triesText: {fileID: 4379228605304503369}
firebaseManager: {fileID: 0}
--- !u!1 &1361612410584060363
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5977903151874443973}
- component: {fileID: 3759634217457600033}
- component: {fileID: 4379228605304503369}
m_Layer: 0
m_Name: Tries
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5977903151874443973
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361612410584060363}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2925474769406969026}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 500, y: 0}
m_SizeDelta: {x: -1000, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3759634217457600033
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361612410584060363}
m_CullTransparentMesh: 1
--- !u!114 &4379228605304503369
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1361612410584060363}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 999
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 39.05
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1751841676307717536
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4252210087869691559}
- component: {fileID: 5994916335817656766}
- component: {fileID: 3648943041296520609}
m_Layer: 0
m_Name: Gold
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4252210087869691559
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1751841676307717536}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2925474769406969026}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 110, y: 0}
m_SizeDelta: {x: -920, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5994916335817656766
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1751841676307717536}
m_CullTransparentMesh: 1
--- !u!114 &3648943041296520609
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1751841676307717536}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 999999
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 39.05
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3758584669741451029
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5590599134361205124}
- component: {fileID: 2307665317040476635}
- component: {fileID: 8735779689852557154}
m_Layer: 0
m_Name: Time
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5590599134361205124
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3758584669741451029}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2925474769406969026}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 310, y: 0}
m_SizeDelta: {x: -920, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2307665317040476635
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3758584669741451029}
m_CullTransparentMesh: 1
--- !u!114 &8735779689852557154
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3758584669741451029}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 9999:99
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 39.05
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7536842395713610041
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5620346634097458407}
- component: {fileID: 8516430921183859675}
- component: {fileID: 3838100796802365917}
m_Layer: 0
m_Name: Round
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5620346634097458407
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7536842395713610041}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2925474769406969026}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -90, y: 0}
m_SizeDelta: {x: -900, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8516430921183859675
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7536842395713610041}
m_CullTransparentMesh: 1
--- !u!114 &3838100796802365917
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7536842395713610041}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 999999
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 39.05
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 361efad0f06bf814784acb3ded76dbdf
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -3,17 +3,17 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>API_KEY</key> <key>API_KEY</key>
<string>AIzaSyDetshpPepjuBLNC-KRUycsvxBpsdd1bmo</string> <string>AIzaSyBWnBVlWIKZkrqbT9qylXsgSXcAKuyLnUM</string>
<key>GCM_SENDER_ID</key> <key>GCM_SENDER_ID</key>
<string>1011798272954</string> <string>104010899787</string>
<key>PLIST_VERSION</key> <key>PLIST_VERSION</key>
<string>1</string> <string>1</string>
<key>BUNDLE_ID</key> <key>BUNDLE_ID</key>
<string>com.capers.ghostpub</string> <string>com.capers.bluewater</string>
<key>PROJECT_ID</key> <key>PROJECT_ID</key>
<string>ghostpub-3d8ef</string> <string>test001-4ee71</string>
<key>STORAGE_BUCKET</key> <key>STORAGE_BUCKET</key>
<string>ghostpub-3d8ef.firebasestorage.app</string> <string>test001-4ee71.firebasestorage.app</string>
<key>IS_ADS_ENABLED</key> <key>IS_ADS_ENABLED</key>
<false></false> <false></false>
<key>IS_ANALYTICS_ENABLED</key> <key>IS_ANALYTICS_ENABLED</key>
@ -25,6 +25,8 @@
<key>IS_SIGNIN_ENABLED</key> <key>IS_SIGNIN_ENABLED</key>
<true></true> <true></true>
<key>GOOGLE_APP_ID</key> <key>GOOGLE_APP_ID</key>
<string>1:1011798272954:ios:e78a98d97d5c61f6ed0b83</string> <string>1:104010899787:ios:a6481a7a319b2bbdf188ce</string>
<key>DATABASE_URL</key>
<string>https://test001-4ee71-default-rtdb.firebaseio.com</string>
</dict> </dict>
</plist> </plist>

View File

@ -1,21 +1,22 @@
{ {
"project_info": { "project_info": {
"project_number": "1011798272954", "project_number": "104010899787",
"project_id": "ghostpub-3d8ef", "firebase_url": "https://test001-4ee71-default-rtdb.firebaseio.com",
"storage_bucket": "ghostpub-3d8ef.firebasestorage.app" "project_id": "test001-4ee71",
"storage_bucket": "test001-4ee71.firebasestorage.app"
}, },
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:1011798272954:android:13468400c1a97543ed0b83", "mobilesdk_app_id": "1:104010899787:android:e10db6217437bb9ff188ce",
"android_client_info": { "android_client_info": {
"package_name": "com.capers.ghostpub" "package_name": "com.capers.bluewater"
} }
}, },
"oauth_client": [], "oauth_client": [],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyD6DDYU08Y8HFCL_5FzgWknNA4ZXYojswo" "current_key": "AIzaSyDPlwgwGpKVRRbqZIUnlfizofXSdS_EW2I"
} }
], ],
"services": { "services": {

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 3b3de99ef4f997d4f99ab70687fd1ec0 guid: 1691a7f8a8ddbc5458018a84090ec26e
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,21 +1,22 @@
{ {
"project_info": { "project_info": {
"project_number": "1011798272954", "project_number": "104010899787",
"project_id": "ghostpub-3d8ef", "firebase_url": "https://test001-4ee71-default-rtdb.firebaseio.com",
"storage_bucket": "ghostpub-3d8ef.firebasestorage.app" "project_id": "test001-4ee71",
"storage_bucket": "test001-4ee71.firebasestorage.app"
}, },
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:1011798272954:android:13468400c1a97543ed0b83", "mobilesdk_app_id": "1:104010899787:android:e10db6217437bb9ff188ce",
"android_client_info": { "android_client_info": {
"package_name": "com.capers.ghostpub" "package_name": "com.capers.bluewater"
} }
}, },
"oauth_client": [], "oauth_client": [],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyD6DDYU08Y8HFCL_5FzgWknNA4ZXYojswo" "current_key": "AIzaSyDPlwgwGpKVRRbqZIUnlfizofXSdS_EW2I"
} }
], ],
"services": { "services": {