summaryrefslogtreecommitdiff
path: root/data_models/login_character_list.gd
blob: 8a8d7d551217cf46640ecb2315377b6976af83c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class_name LoginCharacterList
extends Resource


var slot_count: int

var character_information: Array[CharacterInformation]


static func from_character_list_login_packet(packet: CharacterServerLoginSuccessCharacterListPacket) -> LoginCharacterList:
	var resource := LoginCharacterList.new()
	
	resource.slot_count = packet.maximum_slot_count
	resource.character_information = packet.character_information
	
	return resource


static func from_character_list_request_response(response: Array) -> LoginCharacterList:
	var resource := LoginCharacterList.new()
	
	# TODO
	var size: CharacterListSizePacket = response[0]
	var list: RequestCharacterListSuccessPacket = response[1]
	
	resource.slot_count = size.character_slot_count
	resource.character_information = list.character_information
	
	return resource


func get_info_for_slot(slot_idx: int):
	for info in character_information:
		if info.character_number == slot_idx:
			return info
	
	return null