/// <summary> /// Initializes the leaderboards attatched so that they're ready to use /// </summary> public void Init() { //setting default instance FirebaseApp.DefaultInstance.SetEditorDatabaseUrl(LeaderboardManager.Instance.databaseUrl); //Get the user reference to keep everyones latest score userRef = FirebaseDatabase.DefaultInstance.GetReference(Application.productName + "/Users"); //Set up the base reference based on the settings string baseRef = ""; if (LeaderboardManager.Instance.IncludeProductName && LeaderboardManager.Instance.IncludeVersion) { baseRef = Application.productName + "/" + Application.version.ToString().Replace('.', ',') + "/"; } else if (LeaderboardManager.Instance.IncludeProductName) { baseRef = Application.productName + "/"; } else if (LeaderboardManager.Instance.IncludeVersion) { baseRef = Application.version.ToString().Replace('.', ',') + "/"; } baseRef += Name + "/"; //Set up each leaderboards reference and set up their connections and runs the initial fetch if (EnableAllTime) { string allTimeId = baseRef + "1,AllTime"; AllTime.DbRef = FirebaseDatabase.DefaultInstance.GetReference(allTimeId); AllTime.AddChild(); AllTime.DbRef.ChildChanged += AllTime.ChangeChild; AllTime.DbRef.ChildAdded += AllTime.AddChild; AllTime.DbRef.ChildRemoved += AllTime.RemoveChild; } if (EnableWeekly) { #region Weekcheck CultureInfo myCI = new CultureInfo("en-US"); Calendar myCal = myCI.Calendar; DateTime lastDay = new System.DateTime(DateTime.Now.Year, 12, 31); CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule; DayOfWeek myFirstDOW = DayOfWeek.Monday; int week = myCal.GetWeekOfYear(DateTime.Now, myCWR, myFirstDOW); #endregion string weekId = baseRef + "2,Weekly/" + DateTime.Now.Year + "," + week.ToString(); Weekly.DbRef = FirebaseDatabase.DefaultInstance.GetReference(weekId); Weekly.AddChild(); Weekly.DbRef.ChildChanged += Weekly.ChangeChild; Weekly.DbRef.ChildAdded += Weekly.AddChild; Weekly.DbRef.ChildRemoved += Weekly.RemoveChild; } if (EnableDaily) { string dayId = baseRef + "3,Daily/" + DateTime.Now.Year + "," + DateTime.Now.DayOfYear; Daily.DbRef = FirebaseDatabase.DefaultInstance.GetReference(dayId); Daily.AddChild(); Daily.DbRef.ChildChanged += Daily.ChangeChild; Daily.DbRef.ChildAdded += Daily.AddChild; Daily.DbRef.ChildRemoved += Daily.RemoveChild; } }