feat: sync time with dailylogin server
This commit is contained in:
@@ -29,7 +29,7 @@ signal closed
|
||||
# Tab: Daily Rewards
|
||||
@onready var month_option_btn := %MonthOptionBtn as OptionButton
|
||||
@onready var days_grid := %DaysGrid as GridContainer
|
||||
@onready var day_config_template := %DayConfigTemplate as VBoxContainer
|
||||
@onready var day_config_template := %DayConfigTemplate as PanelContainer
|
||||
@onready var load_dr_btn := %LoadDRConfigBtn as Button
|
||||
@onready var save_dr_btn := %SaveDRConfigBtn as Button
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ signal closed
|
||||
@onready var reward_name_label = $MainWindow/HBox/RightCol/MiddleDetails/VBox/RewardName
|
||||
|
||||
var _month_rewards: Array = []
|
||||
var _claimed_days: int = 0
|
||||
var _claimed_days: Array = []
|
||||
var _today_index: int = 0
|
||||
var _server_month: int = 1
|
||||
var _can_claim: bool = false
|
||||
var _today: String = ""
|
||||
|
||||
@@ -25,10 +27,6 @@ func _ready():
|
||||
)
|
||||
claim_btn.pressed.connect(_on_claim_pressed)
|
||||
|
||||
var time_dict = Time.get_datetime_dict_from_system()
|
||||
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
|
||||
month_label.text = months[time_dict.month - 1] + " Sign-in"
|
||||
|
||||
func show_panel():
|
||||
show()
|
||||
status_label.text = "Loading rewards..."
|
||||
@@ -51,9 +49,20 @@ func _fetch_state():
|
||||
var data = json.get_data()
|
||||
_month_rewards = data.get("month_rewards", [])
|
||||
var state = data.get("state", {})
|
||||
_claimed_days = state.get("claimed_days", 0)
|
||||
|
||||
var claimed_list = state.get("claimed_days", [])
|
||||
_claimed_days.clear()
|
||||
for item in claimed_list:
|
||||
_claimed_days.append(int(item))
|
||||
|
||||
_can_claim = data.get("can_claim_today", false)
|
||||
_today = data.get("today_date", "")
|
||||
_today_index = data.get("today_index", 0)
|
||||
_server_month = data.get("server_month", 1)
|
||||
|
||||
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
|
||||
if _server_month >= 1 and _server_month <= 12:
|
||||
month_label.text = months[_server_month - 1] + " Sign-in"
|
||||
|
||||
_update_ui()
|
||||
else:
|
||||
@@ -73,8 +82,8 @@ func _update_ui():
|
||||
|
||||
var today_reward_amount = 0
|
||||
var today_reward_type = "star"
|
||||
if _claimed_days < _month_rewards.size():
|
||||
var r = _month_rewards[_claimed_days]
|
||||
if _today_index < _month_rewards.size():
|
||||
var r = _month_rewards[_today_index]
|
||||
if typeof(r) == TYPE_DICTIONARY:
|
||||
today_reward_amount = r.get("amount", 0)
|
||||
today_reward_type = r.get("type", "star")
|
||||
@@ -99,8 +108,8 @@ func _update_ui():
|
||||
|
||||
var r_slot_data = _get_reward_display_data(reward_type)
|
||||
|
||||
var is_claimed = i < _claimed_days
|
||||
var is_today = i == _claimed_days
|
||||
var is_claimed = _claimed_days.has(i)
|
||||
var is_today = i == _today_index
|
||||
|
||||
var slot = slot_template.duplicate()
|
||||
slot.visible = true
|
||||
|
||||
Reference in New Issue
Block a user