Files
MakerYang a902dd3de7 new
2024-08-06 18:30:21 +08:00

195 lines
6.9 KiB
GDScript

#*****************************************************************************
# @author MakerYang
# @site mir2.makeryang.com
#*****************************************************************************
extends Node
# 数据结构
var data = {
"account": {
"token": "",
"area_token": "",
"player": {}
}
}
# 获取用户Token
func get_token() -> String:
return data["account"]["token"]
# 更新并返回用户Token
func update_token(token: String) -> String:
data["account"]["token"] = token
return data["account"]["token"]
# 获取用户服务区Token
func get_area_token() -> String:
return data["account"]["area_token"]
# 更新并返回用户Token
func update_area_token(token: String) -> String:
data["account"]["area_token"] = token
return data["account"]["area_token"]
# 获取用户玩家角色信息
func get_player() -> Dictionary:
return data["account"]["player"]
# 更新并返回用户玩家角色信息
func update_player(player: Dictionary) -> Dictionary:
data["account"]["player"] = player
return data["account"]["player"]
# 获取用户玩家角色Token信息
func get_player_token() -> String:
return data["account"]["player"]["token"]
# 获取玩家昵称数据
func get_player_nickname(player: Dictionary) -> String:
return player["player_nickname"]
# 获取玩家性别数据
func get_player_gender(player: Dictionary) -> String:
return player["player_gender"]
# 获取玩家余额数据
func get_player_balance(player: Dictionary) -> String:
return player["player_balance"]
# 获取玩家积分数据
func get_player_integral(player: Dictionary) -> String:
return player["player_integral"]
# 获取玩家等级数据
func get_player_level(player: Dictionary) -> int:
return player["player_asset_level"]
# 获取玩家角度
func get_player_angle(player: Dictionary) -> int:
return player["player_angle"]
# 更新并返回玩家角度
func update_player_angle(player: Dictionary, angle: int) -> int:
player["player_angle"] = angle
return player["player_angle"]
# 获取玩家生命值数据
func get_player_life(player: Dictionary) -> int:
return player["player_asset_life"]
# 获取玩家生命值百分比数据
func get_player_life_percentage(player: Dictionary) -> float:
return (float(player["player_asset_life"]) / float(player["player_asset_life_max"])) * 100
# 获取玩家生命值格式化数据
func get_player_life_format(player: Dictionary) -> String:
return str(player["player_asset_life"]) + "/" + str(player["player_asset_life_max"])
# 获取玩家魔法值数据
func get_player_magic(player: Dictionary) -> int:
return player["player_asset_magic"]
# 获取玩家魔法值百分比数据
func get_player_magic_percentage(player: Dictionary) -> float:
return (float(player["player_asset_magic"]) / float(player["player_asset_magic_max"])) * 100
# 获取玩家魔法值格式化数据
func get_player_magic_format(player: Dictionary) -> String:
return str(player["player_asset_magic"]) + "/" + str(player["player_asset_magic_max"])
# 获取玩家负重数据
func get_player_weight(player: Dictionary) -> int:
return player["player_asset_weight"]
# 获取玩家负重百分比数据
func get_player_weight_percentage(player: Dictionary) -> float:
return (float(player["player_asset_weight"]) / float(player["player_asset_weight_max"])) * 100
# 获取玩家负重格式化数据
func get_player_weight_format(player: Dictionary) -> String:
return str(player["player_asset_weight"]) + "/" + str(player["player_asset_weight_max"])
# 获取玩家经验值数据
func get_player_experience(player: Dictionary) -> int:
return player["player_asset_experience"]
# 获取玩家经验值百分比数据
func get_player_experience_percentage(player: Dictionary) -> float:
return (float(player["player_asset_experience"]) / float(player["player_asset_experience_max"])) * 100
# 获取玩家经验值格式化数据
func get_player_experience_format(player: Dictionary) -> String:
return str(player["player_asset_experience"]) + "/" + str(player["player_asset_experience_max"])
# 获取玩家生命值与职业格式化数据
func get_player_life_career_format(player: Dictionary) -> String:
var career_level = ""
if player["player_career"] == "warrior":
career_level = "/Z" + str(player["player_asset_level"])
if player["player_career"] == "mage":
career_level = "/M" + str(player["player_asset_level"])
if player["player_career"] == "taoist":
career_level = "/T" + str(player["player_asset_level"])
return str(player["player_asset_life"]) + "/" + str(player["player_asset_life_max"]) + career_level
# 获取玩家地图编号数据
func get_player_map_id(player: Dictionary) -> String:
return player["player_map"]
# 获取玩家地图名称数据
func get_player_map_name(player: Dictionary) -> String:
return player["player_map_name"]
# 获取玩家地图资源路径数据
func get_player_map_path(player: Dictionary) -> String:
return Global.get_map_root_path() + player["player_map"] + "/" + player["player_map"] + ".tscn"
# 获取玩家服饰在原编号数据
func get_player_clothe_id(player: Dictionary) -> String:
return player["player_body_clothe"]
# 获取玩家服饰资源路径数据
func get_player_clothe_path(player: Dictionary) -> String:
return Global.get_clothe_root_path() + player["player_body_clothe"] + "/" + player["player_gender"] + ".tscn"
# 获取玩家服饰资源数据
func loader_player_clothe_resource(player: Dictionary) -> AnimatedSprite2D:
var clothe_path = get_player_clothe_path(player)
var clothe_loader = load(clothe_path).instantiate()
clothe_loader.name = "Clothe"
clothe_loader.speed_scale = Global.get_resource_speed_scale()
return clothe_loader
# 获取玩家武器资源编号数据
func get_player_weapon_id(player: Dictionary) -> String:
return player["player_body_weapon"]
# 获取玩家武器资源路径数据
func get_player_weapon_path(player: Dictionary) -> String:
return Global.get_weapon_root_path() + player["player_body_weapon"] + "/" + player["player_gender"] + ".tscn"
# 获取玩家武器资源数据
func loader_player_weapon_resource(player: Dictionary) -> AnimatedSprite2D:
var weapon_path = get_player_weapon_path(player)
var weapon_loader = load(weapon_path).instantiate()
weapon_loader.name = "Weapon"
weapon_loader.speed_scale = Global.get_resource_speed_scale()
return weapon_loader
# 获取玩家翅膀资源编号数据
func get_player_wing_id(player: Dictionary) -> String:
return player["player_body_wing"]
# 获取玩家翅膀资源路径数据
func get_player_wing_path(player: Dictionary) -> String:
return Global.get_wing_root_path() + player["player_body_wing"] + "/" + player["player_gender"] + ".tscn"
# 获取玩家翅膀资源数据
func loader_player_wing_resource(player: Dictionary) -> AnimatedSprite2D:
var wing_path = get_player_wing_path(player)
var wing_loader = load(wing_path).instantiate()
wing_loader.name = "Wing"
wing_loader.speed_scale = Global.get_resource_speed_scale()
return wing_loader