adding loader msg.xml and correct message when login/register error are detected
This commit is contained in:
parent
d8ccda03c0
commit
be7dbb08b6
16 changed files with 361 additions and 1341 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -15,3 +15,9 @@ export_presets.cfg
|
||||||
# Ignore binary & package
|
# Ignore binary & package
|
||||||
*.bin
|
*.bin
|
||||||
*.pck
|
*.pck
|
||||||
|
|
||||||
|
# Ignore lib gdnaive
|
||||||
|
libgdnative.*.so
|
||||||
|
|
||||||
|
# Ignore temp
|
||||||
|
temp/
|
||||||
|
|
|
@ -32,16 +32,16 @@ func add_child_to_content( node):
|
||||||
# else:
|
# else:
|
||||||
# .add_child( node )
|
# .add_child( node )
|
||||||
# prints(self.get_name()+" just fathered", node.get_name())
|
# prints(self.get_name()+" just fathered", node.get_name())
|
||||||
|
|
||||||
func add_window_part( node ):
|
func add_window_part( node ):
|
||||||
add_child( node )
|
add_child( node )
|
||||||
|
|
||||||
func set_mouse_pass_to_children( node ):
|
func set_mouse_pass_to_children( node ):
|
||||||
for child in node.get_children():
|
for child in node.get_children():
|
||||||
set_mouse_pass_to_children( child )
|
set_mouse_pass_to_children( child )
|
||||||
if node is Control:
|
if node is Control:
|
||||||
node.mouse_filter = MOUSE_FILTER_PASS
|
node.mouse_filter = MOUSE_FILTER_PASS
|
||||||
|
|
||||||
#func _ready():
|
#func _ready():
|
||||||
func _enter_tree():
|
func _enter_tree():
|
||||||
########
|
########
|
||||||
|
@ -49,7 +49,7 @@ func _enter_tree():
|
||||||
# The interal elements structure is:
|
# The interal elements structure is:
|
||||||
# self - MarginContainer
|
# self - MarginContainer
|
||||||
# background - NinePatchRect
|
# background - NinePatchRect
|
||||||
# parts - VBoxContainer
|
# parts - VBoxContainer
|
||||||
# header_box - MarginContainer
|
# header_box - MarginContainer
|
||||||
# header - HBoxContainer
|
# header - HBoxContainer
|
||||||
# quit - TextureButton
|
# quit - TextureButton
|
||||||
|
@ -68,13 +68,13 @@ func _enter_tree():
|
||||||
# self
|
# self
|
||||||
self.size_flags_horizontal = SIZE_EXPAND
|
self.size_flags_horizontal = SIZE_EXPAND
|
||||||
self.size_flags_vertical = SIZE_EXPAND
|
self.size_flags_vertical = SIZE_EXPAND
|
||||||
|
|
||||||
self.set( "custom_constants/margin_right", 0)
|
self.set( "custom_constants/margin_right", 0)
|
||||||
self.set( "custom_constants/margin_top", 0)
|
self.set( "custom_constants/margin_top", 0)
|
||||||
self.set( "custom_constants/margin_left", 0)
|
self.set( "custom_constants/margin_left", 0)
|
||||||
self.set( "custom_constants/margin_bottom", 0)
|
self.set( "custom_constants/margin_bottom", 0)
|
||||||
|
|
||||||
|
|
||||||
self.connect ( "gui_input", self, "_on_window_gui_input" )
|
self.connect ( "gui_input", self, "_on_window_gui_input" )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
|
@ -85,30 +85,34 @@ func _enter_tree():
|
||||||
background.name = "background"
|
background.name = "background"
|
||||||
if not background_texture:
|
if not background_texture:
|
||||||
var background_image = Image.new()
|
var background_image = Image.new()
|
||||||
if not background_image.load( "res://addons/ui_window/background_default.jpg" ) == OK :
|
var stream_texture = load('res://addons/ui_window/background_default.jpg')
|
||||||
|
if not stream_texture :
|
||||||
print("Erreur lors du chargement de l'image: "+str("res://addons/ui_window/background_default.jpg") )
|
print("Erreur lors du chargement de l'image: "+str("res://addons/ui_window/background_default.jpg") )
|
||||||
|
else:
|
||||||
|
background_image = stream_texture.get_data()
|
||||||
background.texture = ImageTexture.new()
|
background.texture = ImageTexture.new()
|
||||||
background.texture.create_from_image( background_image )
|
background.texture.create_from_image( background_image )
|
||||||
else:
|
else:
|
||||||
background.texture = background_texture
|
background.texture = background_texture
|
||||||
|
|
||||||
background.texture.flags = Texture.FLAG_FILTER | Texture.FLAG_REPEAT
|
background.texture.flags = Texture.FLAG_FILTER | Texture.FLAG_REPEAT
|
||||||
background.axis_stretch_horizontal = NinePatchRect.AXIS_STRETCH_MODE_TILE
|
background.axis_stretch_horizontal = NinePatchRect.AXIS_STRETCH_MODE_TILE
|
||||||
background.axis_stretch_vertical = NinePatchRect.AXIS_STRETCH_MODE_TILE
|
background.axis_stretch_vertical = NinePatchRect.AXIS_STRETCH_MODE_TILE
|
||||||
|
|
||||||
background.size_flags_horizontal = SIZE_EXPAND_FILL
|
background.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||||
background.size_flags_vertical = SIZE_EXPAND_FILL
|
background.size_flags_vertical = SIZE_EXPAND_FILL
|
||||||
|
|
||||||
background.region_rect = Rect2( 0, 0, 0, 0 )
|
background.region_rect = Rect2( 0, 0, 0, 0 )
|
||||||
background.patch_margin_left = 4
|
background.patch_margin_left = 4
|
||||||
background.patch_margin_top = 32
|
background.patch_margin_top = 32
|
||||||
background.patch_margin_right = 4
|
background.patch_margin_right = 4
|
||||||
background.patch_margin_bottom = 4
|
background.patch_margin_bottom = 4
|
||||||
|
|
||||||
background.self_modulate = background_color
|
background.self_modulate = background_color
|
||||||
|
|
||||||
self.add_window_part( background )
|
self.add_window_part( background )
|
||||||
# background.set_owner( self )
|
print("[ui_window:3]")
|
||||||
|
# background.set_owner( self )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# parts
|
# parts
|
||||||
|
@ -119,7 +123,7 @@ func _enter_tree():
|
||||||
parts.size_flags_horizontal = SIZE_EXPAND_FILL
|
parts.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||||
parts.size_flags_vertical = SIZE_EXPAND_FILL
|
parts.size_flags_vertical = SIZE_EXPAND_FILL
|
||||||
self.add_window_part( parts )
|
self.add_window_part( parts )
|
||||||
# parts.set_owner( self )
|
# parts.set_owner( self )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# header_box
|
# header_box
|
||||||
|
@ -129,18 +133,18 @@ func _enter_tree():
|
||||||
header_box.name = "header_box"
|
header_box.name = "header_box"
|
||||||
header_box.size_flags_horizontal = SIZE_EXPAND_FILL
|
header_box.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||||
header_box.size_flags_vertical = SIZE_SHRINK_CENTER
|
header_box.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||||
|
|
||||||
header_box.set( "custom_constants/margin_right", 4)
|
header_box.set( "custom_constants/margin_right", 4)
|
||||||
header_box.set( "custom_constants/margin_top", 4)
|
header_box.set( "custom_constants/margin_top", 4)
|
||||||
header_box.set( "custom_constants/margin_left", 4)
|
header_box.set( "custom_constants/margin_left", 4)
|
||||||
header_box.set( "custom_constants/margin_bottom", 4)
|
header_box.set( "custom_constants/margin_bottom", 4)
|
||||||
|
|
||||||
if is_movable:
|
if is_movable:
|
||||||
header_box.mouse_default_cursor_shape = CURSOR_MOVE
|
header_box.mouse_default_cursor_shape = CURSOR_MOVE
|
||||||
parts.add_child( header_box )
|
parts.add_child( header_box )
|
||||||
# header_box.set_owner( parts )
|
# header_box.set_owner( parts )
|
||||||
header_box.connect ( "gui_input", self, "_on_Header_gui_input" )
|
header_box.connect ( "gui_input", self, "_on_Header_gui_input" )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# header
|
# header
|
||||||
var header
|
var header
|
||||||
|
@ -152,7 +156,7 @@ func _enter_tree():
|
||||||
if is_movable:
|
if is_movable:
|
||||||
header.mouse_default_cursor_shape = CURSOR_MOVE
|
header.mouse_default_cursor_shape = CURSOR_MOVE
|
||||||
header_box.add_child( header )
|
header_box.add_child( header )
|
||||||
# header.set_owner( header_box )
|
# header.set_owner( header_box )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# quit
|
# quit
|
||||||
|
@ -162,15 +166,16 @@ func _enter_tree():
|
||||||
quit_button.name = "quit"
|
quit_button.name = "quit"
|
||||||
quit_button.size_flags_horizontal = SIZE_SHRINK_END
|
quit_button.size_flags_horizontal = SIZE_SHRINK_END
|
||||||
quit_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
quit_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||||
|
|
||||||
var tex_quit = ImageTexture.new()
|
var tex_quit = ImageTexture.new()
|
||||||
var img_quit = Image.new()
|
var img_quit = Image.new()
|
||||||
img_quit.load( "res://assets/GUI/images/button_quit.png" )
|
var stream_texture = load( "res://assets/GUI/images/button_quit.png")
|
||||||
|
img_quit = stream_texture.get_data()
|
||||||
tex_quit.create_from_image( img_quit )
|
tex_quit.create_from_image( img_quit )
|
||||||
quit_button.texture_normal = tex_quit
|
quit_button.texture_normal = tex_quit
|
||||||
|
|
||||||
header.add_child( quit_button )
|
header.add_child( quit_button )
|
||||||
# quit_button.set_owner( header )
|
# quit_button.set_owner( header )
|
||||||
quit_button.connect ( "pressed", self, "_on_Quit_pressed" )
|
quit_button.connect ( "pressed", self, "_on_Quit_pressed" )
|
||||||
###
|
###
|
||||||
# close
|
# close
|
||||||
|
@ -180,15 +185,16 @@ func _enter_tree():
|
||||||
close_button.name = "close"
|
close_button.name = "close"
|
||||||
close_button.size_flags_horizontal = SIZE_SHRINK_END
|
close_button.size_flags_horizontal = SIZE_SHRINK_END
|
||||||
close_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
close_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||||
|
|
||||||
var tex_close = ImageTexture.new()
|
var tex_close = ImageTexture.new()
|
||||||
var img_close = Image.new()
|
var img_close = Image.new()
|
||||||
img_close.load( "res://assets/GUI/images/button_close.png" )
|
var stream_texture = load("res://assets/GUI/images/button_close.png")
|
||||||
|
img_close = stream_texture.get_data()
|
||||||
tex_close.create_from_image( img_close )
|
tex_close.create_from_image( img_close )
|
||||||
close_button.texture_normal = tex_close
|
close_button.texture_normal = tex_close
|
||||||
|
|
||||||
header.add_child( close_button )
|
header.add_child( close_button )
|
||||||
# close_button.set_owner( header )
|
# close_button.set_owner( header )
|
||||||
close_button.connect ( "pressed", self, "_on_Close_pressed" )
|
close_button.connect ( "pressed", self, "_on_Close_pressed" )
|
||||||
###
|
###
|
||||||
# open
|
# open
|
||||||
|
@ -198,15 +204,16 @@ func _enter_tree():
|
||||||
open_button.name = "open"
|
open_button.name = "open"
|
||||||
open_button.size_flags_horizontal = SIZE_SHRINK_END
|
open_button.size_flags_horizontal = SIZE_SHRINK_END
|
||||||
open_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
open_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||||
|
|
||||||
var tex_open = ImageTexture.new()
|
var tex_open = ImageTexture.new()
|
||||||
var img_open = Image.new()
|
var img_open = Image.new()
|
||||||
img_open.load( "res://assets/GUI/images/button_open.png" )
|
var stream_texture = load("res://assets/GUI/images/button_open.png")
|
||||||
|
img_open = stream_texture.get_data()
|
||||||
tex_open.create_from_image( img_open )
|
tex_open.create_from_image( img_open )
|
||||||
open_button.texture_normal = tex_open
|
open_button.texture_normal = tex_open
|
||||||
open_button.visible = false
|
open_button.visible = false
|
||||||
header.add_child( open_button )
|
header.add_child( open_button )
|
||||||
# open_button.set_owner( header )
|
# open_button.set_owner( header )
|
||||||
open_button.connect ( "pressed", self, "_on_Open_pressed" )
|
open_button.connect ( "pressed", self, "_on_Open_pressed" )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
|
@ -221,7 +228,7 @@ func _enter_tree():
|
||||||
if is_movable:
|
if is_movable:
|
||||||
title_label.mouse_default_cursor_shape = CURSOR_MOVE
|
title_label.mouse_default_cursor_shape = CURSOR_MOVE
|
||||||
header.add_child( title_label )
|
header.add_child( title_label )
|
||||||
# title_label.set_owner( header )
|
# title_label.set_owner( header )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# Content
|
# Content
|
||||||
|
@ -236,8 +243,8 @@ func _enter_tree():
|
||||||
content_box.set( "custom_constants/margin_left", 8)
|
content_box.set( "custom_constants/margin_left", 8)
|
||||||
content_box.set( "custom_constants/margin_bottom", 8)
|
content_box.set( "custom_constants/margin_bottom", 8)
|
||||||
parts.add_child( content_box )
|
parts.add_child( content_box )
|
||||||
# content_box.set_owner( parts )
|
# content_box.set_owner( parts )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# content_box/scroll_container
|
# content_box/scroll_container
|
||||||
var content_scroll_container
|
var content_scroll_container
|
||||||
|
@ -248,7 +255,7 @@ func _enter_tree():
|
||||||
content_scroll_container.size_flags_vertical = SIZE_FILL
|
content_scroll_container.size_flags_vertical = SIZE_FILL
|
||||||
content_scroll_container.scroll_deadzone = 0
|
content_scroll_container.scroll_deadzone = 0
|
||||||
content_box.add_child( content_scroll_container )
|
content_box.add_child( content_scroll_container )
|
||||||
# content_scroll_container.set_owner( content_box )
|
# content_scroll_container.set_owner( content_box )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# content
|
# content
|
||||||
|
@ -259,10 +266,10 @@ func _enter_tree():
|
||||||
content.size_flags_horizontal = SIZE_EXPAND_FILL
|
content.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||||
content.size_flags_vertical = SIZE_EXPAND_FILL
|
content.size_flags_vertical = SIZE_EXPAND_FILL
|
||||||
content_scroll_container.add_child( content )
|
content_scroll_container.add_child( content )
|
||||||
# content.set_owner( content_scroll_container )
|
# content.set_owner( content_scroll_container )
|
||||||
###
|
###
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
# Footer
|
# Footer
|
||||||
var footer_box
|
var footer_box
|
||||||
|
@ -276,8 +283,8 @@ func _enter_tree():
|
||||||
footer_box.set( "custom_constants/margin_left", content_margin.position.x)
|
footer_box.set( "custom_constants/margin_left", content_margin.position.x)
|
||||||
footer_box.set( "custom_constants/margin_bottom", content_margin.size.y)
|
footer_box.set( "custom_constants/margin_bottom", content_margin.size.y)
|
||||||
parts.add_child( footer_box )
|
parts.add_child( footer_box )
|
||||||
# footer_box.set_owner( parts )
|
# footer_box.set_owner( parts )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# footer_box/footer
|
# footer_box/footer
|
||||||
var footer
|
var footer
|
||||||
|
@ -287,7 +294,7 @@ func _enter_tree():
|
||||||
footer.size_flags_horizontal = SIZE_EXPAND_FILL
|
footer.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||||
footer.size_flags_vertical = SIZE_EXPAND_FILL
|
footer.size_flags_vertical = SIZE_EXPAND_FILL
|
||||||
footer_box.add_child( footer )
|
footer_box.add_child( footer )
|
||||||
# footer.set_owner( footer_box )
|
# footer.set_owner( footer_box )
|
||||||
###
|
###
|
||||||
###
|
###
|
||||||
# footer_label
|
# footer_label
|
||||||
|
@ -308,27 +315,28 @@ func _enter_tree():
|
||||||
resize_button.name = "resize"
|
resize_button.name = "resize"
|
||||||
resize_button.size_flags_horizontal = SIZE_FILL | SIZE_SHRINK_END
|
resize_button.size_flags_horizontal = SIZE_FILL | SIZE_SHRINK_END
|
||||||
resize_button.size_flags_vertical = SIZE_SHRINK_END
|
resize_button.size_flags_vertical = SIZE_SHRINK_END
|
||||||
|
|
||||||
var tex_resize = ImageTexture.new()
|
var tex_resize = ImageTexture.new()
|
||||||
var img_resize = Image.new()
|
var img_resize = Image.new()
|
||||||
img_resize.load( "res://assets/GUI/images/button_resize.png" )
|
var stream_texture = load("res://assets/GUI/images/button_resize.png")
|
||||||
|
img_resize = stream_texture.get_data()
|
||||||
tex_resize.create_from_image( img_resize )
|
tex_resize.create_from_image( img_resize )
|
||||||
resize_button.texture_normal = tex_resize
|
resize_button.texture_normal = tex_resize
|
||||||
resize_button.mouse_default_cursor_shape = CURSOR_FDIAGSIZE
|
resize_button.mouse_default_cursor_shape = CURSOR_FDIAGSIZE
|
||||||
resize_button.action_mode = Button.ACTION_MODE_BUTTON_PRESS
|
resize_button.action_mode = Button.ACTION_MODE_BUTTON_PRESS
|
||||||
footer.add_child( resize_button )
|
footer.add_child( resize_button )
|
||||||
# resize_button.set_owner( footer )
|
# resize_button.set_owner( footer )
|
||||||
resize_button.connect ( "pressed", self, "_on_Resize_pressed" )
|
resize_button.connect ( "pressed", self, "_on_Resize_pressed" )
|
||||||
###er_label.set_owner( footer )
|
###er_label.set_owner( footer )
|
||||||
###
|
###
|
||||||
|
|
||||||
current_rect_size = self.rect_min_size
|
current_rect_size = self.rect_min_size
|
||||||
|
|
||||||
if is_borderless:
|
if is_borderless:
|
||||||
$background.region_rect = Rect2( $background.patch_margin_left-1
|
$background.region_rect = Rect2( $background.patch_margin_left-1
|
||||||
, $background.patch_margin_top-1
|
, $background.patch_margin_top-1
|
||||||
, 256-($background.patch_margin_left+$background.patch_margin_right)+2
|
, 256-($background.patch_margin_left+$background.patch_margin_right)+2
|
||||||
, 256-($background.patch_margin_top+$background.patch_margin_bottom)+2 )
|
, 256-($background.patch_margin_top+$background.patch_margin_bottom)+2 )
|
||||||
$background.patch_margin_left = 1
|
$background.patch_margin_left = 1
|
||||||
$background.patch_margin_top = 1
|
$background.patch_margin_top = 1
|
||||||
$background.patch_margin_right = 1
|
$background.patch_margin_right = 1
|
||||||
|
@ -338,10 +346,10 @@ func _enter_tree():
|
||||||
open_button.visible = false
|
open_button.visible = false
|
||||||
quit_button.visible = false
|
quit_button.visible = false
|
||||||
title_label.visible = false
|
title_label.visible = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if not is_resizable:
|
if not is_resizable:
|
||||||
if not has_footer:
|
if not has_footer:
|
||||||
footer_box.visible = false
|
footer_box.visible = false
|
||||||
|
@ -355,21 +363,21 @@ func _ready():
|
||||||
if child.name.begins_with( "footer_" ):
|
if child.name.begins_with( "footer_" ):
|
||||||
if footer_box.get_node("footer").has_node("footer_label"):
|
if footer_box.get_node("footer").has_node("footer_label"):
|
||||||
footer_box.get_node("footer").remove_child( footer_box.get_node("footer").get_node("footer_label") )
|
footer_box.get_node("footer").remove_child( footer_box.get_node("footer").get_node("footer_label") )
|
||||||
|
|
||||||
self.remove_child( child )
|
self.remove_child( child )
|
||||||
get_footer().add_child( child )
|
get_footer().add_child( child )
|
||||||
get_footer().move_child( child, 0 )
|
get_footer().move_child( child, 0 )
|
||||||
else:
|
else:
|
||||||
self.remove_child( child )
|
self.remove_child( child )
|
||||||
get_content().add_child( child )
|
get_content().add_child( child )
|
||||||
|
|
||||||
set_mouse_pass_to_children( self )
|
set_mouse_pass_to_children( self )
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
if size_changed:
|
if size_changed:
|
||||||
self.rect_size = Vector2( clamp( self.rect_size.x, min_size.x, self.rect_size.x ), clamp( self.rect_size.y, min_size.y, self.rect_size.y ) )
|
self.rect_size = Vector2( clamp( self.rect_size.x, min_size.x, self.rect_size.x ), clamp( self.rect_size.y, min_size.y, self.rect_size.y ) )
|
||||||
size_changed = false
|
size_changed = false
|
||||||
|
|
||||||
func _on_Window_mouse_entered():
|
func _on_Window_mouse_entered():
|
||||||
print("mouse_entered")
|
print("mouse_entered")
|
||||||
|
|
||||||
|
@ -403,8 +411,8 @@ func close():
|
||||||
footer_box.visible = false
|
footer_box.visible = false
|
||||||
current_rect_size = self.rect_size
|
current_rect_size = self.rect_size
|
||||||
self.rect_size = Vector2( 0, 0 )
|
self.rect_size = Vector2( 0, 0 )
|
||||||
|
|
||||||
|
|
||||||
func _on_Close_pressed():
|
func _on_Close_pressed():
|
||||||
close()
|
close()
|
||||||
|
|
||||||
|
@ -421,7 +429,7 @@ func open():
|
||||||
content_box.visible = true
|
content_box.visible = true
|
||||||
footer_box.visible = true
|
footer_box.visible = true
|
||||||
self.rect_size = current_rect_size
|
self.rect_size = current_rect_size
|
||||||
|
|
||||||
func _on_Open_pressed():
|
func _on_Open_pressed():
|
||||||
open()
|
open()
|
||||||
|
|
||||||
|
@ -429,34 +437,34 @@ func _on_Resize_pressed():
|
||||||
is_resizing = true
|
is_resizing = true
|
||||||
|
|
||||||
func _input( event ):
|
func _input( event ):
|
||||||
if is_resizable:
|
if is_resizable:
|
||||||
if is_resizing and event is InputEventMouseButton and not event.pressed:
|
if is_resizing and event is InputEventMouseButton and not event.pressed:
|
||||||
is_resizing = false
|
is_resizing = false
|
||||||
if event is InputEventMouseMotion and is_resizing:
|
if event is InputEventMouseMotion and is_resizing:
|
||||||
var delta = event.relative
|
var delta = event.relative
|
||||||
self.rect_size += delta
|
self.rect_size += delta
|
||||||
size_changed = true
|
size_changed = true
|
||||||
|
|
||||||
func check_if_clicked( event ):
|
func check_if_clicked( event ):
|
||||||
if not is_moving and event is InputEventMouseButton and event.is_pressed() and not event.is_echo() and event.button_index == 1 :
|
if not is_moving and event is InputEventMouseButton and event.is_pressed() and not event.is_echo() and event.button_index == 1 :
|
||||||
emit_signal( "window_clicked", self )
|
emit_signal( "window_clicked", self )
|
||||||
|
|
||||||
func _on_Header_gui_input( event ):
|
func _on_Header_gui_input( event ):
|
||||||
|
|
||||||
check_if_clicked( event )
|
check_if_clicked( event )
|
||||||
|
|
||||||
if is_movable:
|
if is_movable:
|
||||||
if is_moving and event is InputEventMouseButton and not event.pressed:
|
if is_moving and event is InputEventMouseButton and not event.pressed:
|
||||||
is_moving = false
|
is_moving = false
|
||||||
elif not is_moving and event is InputEventMouseButton and event.pressed:
|
elif not is_moving and event is InputEventMouseButton and event.pressed:
|
||||||
is_moving = true
|
is_moving = true
|
||||||
if event is InputEventMouseMotion and is_moving:
|
if event is InputEventMouseMotion and is_moving:
|
||||||
var delta = event.relative
|
var delta = event.relative
|
||||||
self.rect_position += delta
|
self.rect_position += delta
|
||||||
|
|
||||||
func _on_window_gui_input( event ):
|
func _on_window_gui_input( event ):
|
||||||
check_if_clicked( event )
|
check_if_clicked( event )
|
||||||
|
|
||||||
func load_from_file( config_file ):
|
func load_from_file( config_file ):
|
||||||
if config_file.has_section( self.name ):
|
if config_file.has_section( self.name ):
|
||||||
self.rect_position = config_file.get_value( self.name, "position" )
|
self.rect_position = config_file.get_value( self.name, "position" )
|
||||||
|
@ -471,20 +479,19 @@ func load_from_file( config_file ):
|
||||||
|
|
||||||
|
|
||||||
func save_to_file( config_file ):
|
func save_to_file( config_file ):
|
||||||
|
|
||||||
var is_open = content_box.visible
|
var is_open = content_box.visible
|
||||||
|
|
||||||
config_file.set_value(self.name, "position", self.rect_position)
|
config_file.set_value(self.name, "position", self.rect_position)
|
||||||
|
|
||||||
if not is_open:
|
if not is_open:
|
||||||
config_file.set_value(self.name, "size", current_rect_size)
|
config_file.set_value(self.name, "size", current_rect_size)
|
||||||
else:
|
else:
|
||||||
config_file.set_value(self.name, "size", self.rect_size)
|
config_file.set_value(self.name, "size", self.rect_size)
|
||||||
|
|
||||||
if is_open:
|
if is_open:
|
||||||
config_file.set_value(self.name, "opened", true)
|
config_file.set_value(self.name, "opened", true)
|
||||||
else:
|
else:
|
||||||
config_file.set_value(self.name, "opened", false)
|
config_file.set_value(self.name, "opened", false)
|
||||||
|
|
||||||
config_file.set_value(self.name, "borderless", is_borderless)
|
config_file.set_value(self.name, "borderless", is_borderless)
|
||||||
|
|
|
@ -6,6 +6,7 @@ extends Node
|
||||||
|
|
||||||
var _msg_xml = XMLParser.new()
|
var _msg_xml = XMLParser.new()
|
||||||
var _msg_md5sum
|
var _msg_md5sum
|
||||||
|
var _msg_data = {}
|
||||||
|
|
||||||
func open_message_xml():
|
func open_message_xml():
|
||||||
var file = File.new()
|
var file = File.new()
|
||||||
|
@ -31,28 +32,40 @@ func read_all_node():
|
||||||
#while i < _msg_xml.get_attribute_count():
|
#while i < _msg_xml.get_attribute_count():
|
||||||
# print(" -- Attribut Name:" + _msg_xml.get_attribute_name(i) + " Value:" + _msg_xml.get_attribute_value(i))
|
# print(" -- Attribut Name:" + _msg_xml.get_attribute_name(i) + " Value:" + _msg_xml.get_attribute_value(i))
|
||||||
# i += 1
|
# i += 1
|
||||||
|
if _msg_xml.get_node_type() != XMLParser.NODE_ELEMENT:
|
||||||
|
ret = _msg_xml.read()
|
||||||
|
continue
|
||||||
|
|
||||||
match _msg_xml.get_node_name():
|
match _msg_xml.get_node_name():
|
||||||
"branch":
|
"branch":
|
||||||
i = 0
|
i = 0
|
||||||
while i < _msg_xml.get_attribute_count() and _msg_xml.get_attribute_name(i) != "name":
|
while i < _msg_xml.get_attribute_count() and _msg_xml.get_attribute_name(i) != "name":
|
||||||
i += 1
|
i += 1
|
||||||
if i < _msg_xml.get_attribute_count():
|
if i < _msg_xml.get_attribute_count():
|
||||||
print(_msg_xml.get_attribute_value(i))
|
|
||||||
branch = _msg_xml.get_attribute_value(i)
|
branch = _msg_xml.get_attribute_value(i)
|
||||||
|
#print(branch + " " + str(_msg_xml.get_node_type()))
|
||||||
|
_msg_data[branch] = []
|
||||||
"leaf":
|
"leaf":
|
||||||
i = 0
|
i = 0
|
||||||
while i < _msg_xml.get_attribute_count() and _msg_xml.get_attribute_name(i) != "name":
|
while i < _msg_xml.get_attribute_count() and _msg_xml.get_attribute_name(i) != "name":
|
||||||
i += 1
|
i += 1
|
||||||
if i < _msg_xml.get_attribute_count():
|
if i < _msg_xml.get_attribute_count():
|
||||||
print(branch + ":" + _msg_xml.get_attribute_value(i))
|
leaf = _msg_xml.get_attribute_value(i)
|
||||||
|
#print(branch + ":" + leaf + str(_msg_xml.get_node_type()))
|
||||||
|
_msg_data[branch].append(leaf)
|
||||||
ret = _msg_xml.read()
|
ret = _msg_xml.read()
|
||||||
|
print("Branch:" + str(_msg_data.size()))
|
||||||
|
for key in _msg_data:
|
||||||
|
print(" " + key + ":" + str(_msg_data[key].size()))
|
||||||
|
for leaf in _msg_data[key]:
|
||||||
|
print(" " + key + ":" + leaf)
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
open_message_xml()
|
open_message_xml()
|
||||||
read_all_node()
|
read_all_node()
|
||||||
|
print("[msg] ready")
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
#func _process(delta):
|
#func _process(delta):
|
||||||
|
|
|
@ -29,7 +29,7 @@ class nel_register:
|
||||||
self._confirmed = confirmed
|
self._confirmed = confirmed
|
||||||
self._email = email
|
self._email = email
|
||||||
self._tac = tac
|
self._tac = tac
|
||||||
self._url_encoding = load("res://assets/Scripts/Tools/url_encoding.gd").url_encoding.new()
|
self._url_encoding = preload("res://assets/Scripts/Tools/url_encoding.gd").url_encoding.new()
|
||||||
|
|
||||||
func get_request():
|
func get_request():
|
||||||
return "/ams/index.php?page=register"
|
return "/ams/index.php?page=register"
|
||||||
|
|
|
@ -76,6 +76,9 @@ var _queue_message_system
|
||||||
var _khaganat_host = "localhost"
|
var _khaganat_host = "localhost"
|
||||||
var _khaganat_port = "47851"
|
var _khaganat_port = "47851"
|
||||||
|
|
||||||
|
onready var BitStream = preload("res://bitstream.gdns")
|
||||||
|
onready var BitSet = preload("res://bitset.gdns")
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
_current_received_number = 0
|
_current_received_number = 0
|
||||||
_last_received_number = 0
|
_last_received_number = 0
|
||||||
|
@ -85,7 +88,7 @@ func _ready():
|
||||||
_connection_state = TCONNECTIONSTATE.NOTINITIALISED
|
_connection_state = TCONNECTIONSTATE.NOTINITIALISED
|
||||||
_socketUDP = PacketPeerUDP.new()
|
_socketUDP = PacketPeerUDP.new()
|
||||||
_queue_message_system = Array()
|
_queue_message_system = Array()
|
||||||
_long_ack_bit_field = preload("res://bitset.gdns").new()
|
_long_ack_bit_field = BitSet.new()
|
||||||
_long_ack_bit_field.resize(512)
|
_long_ack_bit_field.resize(512)
|
||||||
_last_ack_in_long_ack = 0
|
_last_ack_in_long_ack = 0
|
||||||
_latest_sync = 0
|
_latest_sync = 0
|
||||||
|
@ -96,7 +99,7 @@ func _ready():
|
||||||
_quit_id = 0
|
_quit_id = 0
|
||||||
|
|
||||||
func send_system_login(user_addr, user_key, user_id, lang):
|
func send_system_login(user_addr, user_key, user_id, lang):
|
||||||
var msgout = preload("res://bitstream.gdns").new()
|
var msgout = BitStream.new()
|
||||||
msgout.put_sint32(_current_received_number)
|
msgout.put_sint32(_current_received_number)
|
||||||
msgout.put_bool(true)
|
msgout.put_bool(true)
|
||||||
msgout.put_uint8(CLFECOMMON.SYSTEM_LOGIN_CODE)
|
msgout.put_uint8(CLFECOMMON.SYSTEM_LOGIN_CODE)
|
||||||
|
@ -113,7 +116,7 @@ func send_system_login(user_addr, user_key, user_id, lang):
|
||||||
_connection_state = TCONNECTIONSTATE.CONNECTED
|
_connection_state = TCONNECTIONSTATE.CONNECTED
|
||||||
|
|
||||||
func send_system_sync():
|
func send_system_sync():
|
||||||
var msgout = preload("res://bitstream.gdns").new()
|
var msgout = BitStream.new()
|
||||||
msgout.put_sint32(_current_received_number)
|
msgout.put_sint32(_current_received_number)
|
||||||
msgout.put_bool(true)
|
msgout.put_bool(true)
|
||||||
msgout.put_uint8(CLFECOMMON.SYSTEM_ACK_SYNC_CODE)
|
msgout.put_uint8(CLFECOMMON.SYSTEM_ACK_SYNC_CODE)
|
||||||
|
@ -124,7 +127,7 @@ func send_system_sync():
|
||||||
_queue_message_system.append(msgout)
|
_queue_message_system.append(msgout)
|
||||||
|
|
||||||
func send_system_ack_probe():
|
func send_system_ack_probe():
|
||||||
var msgout = preload("res://bitstream.gdns").new()
|
var msgout = BitStream.new()
|
||||||
msgout.put_sint32(_current_received_number)
|
msgout.put_sint32(_current_received_number)
|
||||||
msgout.put_bool(true)
|
msgout.put_bool(true)
|
||||||
msgout.put_uint8(CLFECOMMON.SYSTEM_ACK_PROBE_CODE)
|
msgout.put_uint8(CLFECOMMON.SYSTEM_ACK_PROBE_CODE)
|
||||||
|
@ -140,7 +143,7 @@ func send_system_ack_probe():
|
||||||
|
|
||||||
func send_system_quit():
|
func send_system_quit():
|
||||||
# TODO - check why we send quit_id
|
# TODO - check why we send quit_id
|
||||||
var msgout = preload("res://bitstream.gdns").new()
|
var msgout = BitStream.new()
|
||||||
_quit_id += 1
|
_quit_id += 1
|
||||||
msgout.put_sint32(_current_received_number)
|
msgout.put_sint32(_current_received_number)
|
||||||
msgout.put_bool(true)
|
msgout.put_bool(true)
|
||||||
|
@ -154,7 +157,7 @@ func send_system_quit():
|
||||||
return
|
return
|
||||||
|
|
||||||
func send_systemm_disconnect():
|
func send_systemm_disconnect():
|
||||||
var msgout = preload("res://bitstream.gdns").new()
|
var msgout = BitStream.new()
|
||||||
msgout.put_sint32(_current_received_number)
|
msgout.put_sint32(_current_received_number)
|
||||||
msgout.put_bool(true)
|
msgout.put_bool(true)
|
||||||
msgout.put_uint8(CLFECOMMON.SYSTEM_DISCONNECTION_CODE)
|
msgout.put_uint8(CLFECOMMON.SYSTEM_DISCONNECTION_CODE)
|
||||||
|
@ -166,10 +169,11 @@ func send_systemm_disconnect():
|
||||||
|
|
||||||
func disconnect_server():
|
func disconnect_server():
|
||||||
print("[net_low_level:disconnect_server] Disconnect")
|
print("[net_low_level:disconnect_server] Disconnect")
|
||||||
if _socketUDP:
|
if typeof(_socketUDP) != TYPE_NIL:
|
||||||
send_systemm_disconnect()
|
send_systemm_disconnect()
|
||||||
print("[net_low_level:disconnect_server] Send disconnect to server")
|
print("[net_low_level:disconnect_server] Send disconnect to server")
|
||||||
_socketUDP.close()
|
_socketUDP.close()
|
||||||
|
_socketUDP = null
|
||||||
|
|
||||||
func set_khaganat_server(host, port):
|
func set_khaganat_server(host, port):
|
||||||
_khaganat_host = host
|
_khaganat_host = host
|
||||||
|
@ -179,6 +183,8 @@ func connect_to_server(user_addr, user_key, user_id):
|
||||||
var connexion = load("res://assets/Scripts/Config/connexion.gd").connexion.new()
|
var connexion = load("res://assets/Scripts/Config/connexion.gd").connexion.new()
|
||||||
var lang = connexion.get_language()
|
var lang = connexion.get_language()
|
||||||
print("[net_low_level:connect_to_server] prepare:" + str(_khaganat_host) + ":" + str(_khaganat_port))
|
print("[net_low_level:connect_to_server] prepare:" + str(_khaganat_host) + ":" + str(_khaganat_port))
|
||||||
|
if typeof(_socketUDP) == TYPE_NIL:
|
||||||
|
_socketUDP = PacketPeerUDP.new()
|
||||||
_socketUDP.set_dest_address(_khaganat_host, _khaganat_port)
|
_socketUDP.set_dest_address(_khaganat_host, _khaganat_port)
|
||||||
send_system_login(user_addr, user_key, user_id, lang)
|
send_system_login(user_addr, user_key, user_id, lang)
|
||||||
|
|
||||||
|
@ -189,7 +195,7 @@ func decode_system_message(msgin):
|
||||||
CLFECOMMON.SYSTEM_LOGIN_CODE:
|
CLFECOMMON.SYSTEM_LOGIN_CODE:
|
||||||
pass
|
pass
|
||||||
CLFECOMMON.SYSTEM_SYNC_CODE:
|
CLFECOMMON.SYSTEM_SYNC_CODE:
|
||||||
var hexa = load("res://assets/Scripts/Tools/hexa.gd").new()
|
var hexa = preload("res://assets/Scripts/Tools/hexa.gd").new()
|
||||||
var synchronize = msgin.get_uint32()
|
var synchronize = msgin.get_uint32()
|
||||||
var stime = msgin.get_sint64()
|
var stime = msgin.get_sint64()
|
||||||
_latest_sync = msgin.get_uint32()
|
_latest_sync = msgin.get_uint32()
|
||||||
|
@ -229,11 +235,12 @@ func decode_normal_message(msgin):
|
||||||
func analyze_message_received(msgbytes):
|
func analyze_message_received(msgbytes):
|
||||||
# khanat-opennel-code/code/ryzom/server/src/frontend_service/fe_receive_sub.cpp:769 void CFeReceiveSub::handleReceivedMsg( CClientHost *clienthost )
|
# khanat-opennel-code/code/ryzom/server/src/frontend_service/fe_receive_sub.cpp:769 void CFeReceiveSub::handleReceivedMsg( CClientHost *clienthost )
|
||||||
_update_time = OS.get_ticks_msec()
|
_update_time = OS.get_ticks_msec()
|
||||||
var msgin = preload("res://bitstream.gdns").new()
|
var msgin = BitStream.new()
|
||||||
msgin.put_data(msgbytes)
|
msgin.put_data(msgbytes)
|
||||||
_current_received_number = msgin.get_sint32()
|
_current_received_number = msgin.get_sint32()
|
||||||
var system_mode = msgin.get_bool()
|
var system_mode = msgin.get_bool()
|
||||||
print("[net_low_level:analyze_message_received] Tick:" + str(_current_received_number) + ", Mode:" + str(system_mode) + ", Size:" + str(msgin.size()))
|
if ProjectSettings.get_setting("khaganat/debug_mode"):
|
||||||
|
print("[net_low_level:analyze_message_received] Tick:" + str(_current_received_number) + ", Mode:" + str(system_mode) + ", Size:" + str(msgin.size()))
|
||||||
if system_mode:
|
if system_mode:
|
||||||
print("[net_low_level:analyze_message_received] System Mode")
|
print("[net_low_level:analyze_message_received] System Mode")
|
||||||
if _current_received_number > _last_received_number + 1:
|
if _current_received_number > _last_received_number + 1:
|
||||||
|
@ -277,6 +284,8 @@ func analyze_message_received(msgbytes):
|
||||||
decode_normal_message(msgin)
|
decode_normal_message(msgin)
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
|
if typeof(_socketUDP) == TYPE_NIL:
|
||||||
|
return
|
||||||
var max_read = 10
|
var max_read = 10
|
||||||
if _connection_state == TCONNECTIONSTATE.NOTINITIALISED:
|
if _connection_state == TCONNECTIONSTATE.NOTINITIALISED:
|
||||||
return
|
return
|
||||||
|
@ -286,7 +295,8 @@ func _process(delta):
|
||||||
return
|
return
|
||||||
if _queue_message_system.size() > 0:
|
if _queue_message_system.size() > 0:
|
||||||
var msgout = _queue_message_system.pop_front()
|
var msgout = _queue_message_system.pop_front()
|
||||||
print("[net_low_level:_process] Send data system (" + str(msgout.size()) + ", " + msgout.show() + ")" )
|
if ProjectSettings.get_setting("khaganat/debug_mode"):
|
||||||
|
print("[net_low_level:_process] Send data system (" + str(msgout.size()) + ", " + msgout.show() + ")" )
|
||||||
_socketUDP.put_packet(msgout.get_data())
|
_socketUDP.put_packet(msgout.get_data())
|
||||||
|
|
||||||
if _latest_probes.size() > 0:
|
if _latest_probes.size() > 0:
|
||||||
|
@ -298,4 +308,5 @@ func _process(delta):
|
||||||
analyze_message_received(msgbytes)
|
analyze_message_received(msgbytes)
|
||||||
|
|
||||||
func _exit_tree():
|
func _exit_tree():
|
||||||
|
print("[net_low_level] End")
|
||||||
disconnect_server()
|
disconnect_server()
|
|
@ -27,7 +27,7 @@ custom_template/debug=""
|
||||||
|
|
||||||
name="khaganat.linux.32"
|
name="khaganat.linux.32"
|
||||||
platform="Linux/X11"
|
platform="Linux/X11"
|
||||||
runnable=true
|
runnable=false
|
||||||
custom_features=""
|
custom_features=""
|
||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
|
|
|
@ -15,7 +15,7 @@ func _ready():
|
||||||
func _input( event ):
|
func _input( event ):
|
||||||
if event.is_action_pressed( "ui_music_controls" ):
|
if event.is_action_pressed( "ui_music_controls" ):
|
||||||
$Windows/Music.visible = not $Windows/Music.visible
|
$Windows/Music.visible = not $Windows/Music.visible
|
||||||
|
|
||||||
|
|
||||||
func _on_SaveHUD_pressed():
|
func _on_SaveHUD_pressed():
|
||||||
var config_file = ConfigFile.new()
|
var config_file = ConfigFile.new()
|
||||||
|
|
|
@ -5,12 +5,12 @@ var current_song = ""
|
||||||
var current_position = 0.0
|
var current_position = 0.0
|
||||||
var popup
|
var popup
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
for song in $Songs.get_children():
|
for song in $Songs.get_children():
|
||||||
songs_list.append( song.name )
|
songs_list.append( song.name )
|
||||||
if $Songs.get_child_count() > 0:
|
if $Songs.get_child_count() > 0:
|
||||||
current_song = songs_list[0]
|
current_song = songs_list[0]
|
||||||
|
|
||||||
|
|
||||||
popup = $SongsSelector.get_popup()
|
popup = $SongsSelector.get_popup()
|
||||||
for song in songs_list:
|
for song in songs_list:
|
||||||
|
@ -30,7 +30,7 @@ func set_pause():
|
||||||
get_node( "Songs" ).get_node( current_song ).stop()
|
get_node( "Songs" ).get_node( current_song ).stop()
|
||||||
else:
|
else:
|
||||||
current_position = 0.0
|
current_position = 0.0
|
||||||
|
|
||||||
$Buttons/Pause.text = "Play"
|
$Buttons/Pause.text = "Play"
|
||||||
$Title.text = "Musiques (Paused):"
|
$Title.text = "Musiques (Paused):"
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ func set_stop():
|
||||||
$Buttons/Pause.pressed = false
|
$Buttons/Pause.pressed = false
|
||||||
$Buttons/Pause.text = "Play"
|
$Buttons/Pause.text = "Play"
|
||||||
$Title.text = "Musiques (Stopped):"
|
$Title.text = "Musiques (Stopped):"
|
||||||
|
|
||||||
func _on_Pause_toggled(button_pressed):
|
func _on_Pause_toggled(button_pressed):
|
||||||
if button_pressed:
|
if button_pressed:
|
||||||
set_play()
|
set_play()
|
||||||
|
@ -56,7 +56,7 @@ func _on_SongsSelector_item_selected(ID):
|
||||||
if not current_song == new_song:
|
if not current_song == new_song:
|
||||||
set_stop()
|
set_stop()
|
||||||
current_song = popup.get_item_text(ID)
|
current_song = popup.get_item_text(ID)
|
||||||
|
|
||||||
func _on_song_finished():
|
func _on_song_finished():
|
||||||
print("test")
|
print("test")
|
||||||
set_stop()
|
set_stop()
|
|
@ -64,7 +64,6 @@ custom_colors/font_color = Color( 0.494118, 0.411765, 0.658824, 1 )
|
||||||
custom_colors/font_color_hover = Color( 0.863051, 0.203209, 1, 1 )
|
custom_colors/font_color_hover = Color( 0.863051, 0.203209, 1, 1 )
|
||||||
custom_colors/font_color_pressed = Color( 0.673295, 0.508021, 1, 1 )
|
custom_colors/font_color_pressed = Color( 0.673295, 0.508021, 1, 1 )
|
||||||
text = "Stop"
|
text = "Stop"
|
||||||
|
|
||||||
[connection signal="item_selected" from="SongsSelector" to="." method="_on_SongsSelector_item_selected"]
|
[connection signal="item_selected" from="SongsSelector" to="." method="_on_SongsSelector_item_selected"]
|
||||||
[connection signal="toggled" from="Buttons/Pause" to="." method="_on_Pause_toggled"]
|
[connection signal="toggled" from="Buttons/Pause" to="." method="_on_Pause_toggled"]
|
||||||
[connection signal="pressed" from="Buttons/Stop" to="." method="_on_Stop_pressed"]
|
[connection signal="pressed" from="Buttons/Stop" to="." method="_on_Stop_pressed"]
|
||||||
|
|
|
@ -11,8 +11,8 @@ func _on_login_button_pressed():
|
||||||
|
|
||||||
|
|
||||||
func _on_play_button_pressed():
|
func _on_play_button_pressed():
|
||||||
var username = get_node("h_box_container/v_box_container/margin_container/login_box/email_box/email_edit").get_text();
|
var username = $h_box_container/v_box_container/margin_container/login_box/email_box/email_edit.get_text();
|
||||||
var password = get_node("h_box_container/v_box_container/margin_container/login_box/password_box/password_edit").get_text();
|
var password = $h_box_container/v_box_container/margin_container/login_box/password_box/password_edit.get_text();
|
||||||
if username != null and username != "" and password != null and password != "":
|
if username != null and username != "" and password != null and password != "":
|
||||||
do_request_salt(username, password)
|
do_request_salt(username, password)
|
||||||
|
|
||||||
|
@ -24,11 +24,11 @@ func _on_play_without_connexion_pressed():
|
||||||
|
|
||||||
func do_request_salt(username, password):
|
func do_request_salt(username, password):
|
||||||
#var message = load("res://assets/Scripts/Models/nel_login_message.gd")
|
#var message = load("res://assets/Scripts/Models/nel_login_message.gd")
|
||||||
var connexion = load("res://assets/Scripts/Config/connexion.gd").connexion.new()
|
var connexion = preload("res://assets/Scripts/Config/connexion.gd").connexion.new()
|
||||||
#if message:
|
#if message:
|
||||||
_username = username
|
_username = username
|
||||||
_password = password
|
_password = password
|
||||||
var message = load("res://assets/Scripts/Models/nel_login_message.gd").nel_login_message.new("https-login", _username, _password, "Lirria", "2", "en")
|
var message = preload("res://assets/Scripts/Models/nel_login_message.gd").nel_login_message.new("https-login", _username, _password, "Lirria", "2", "en")
|
||||||
#message = message.nel_login_message.new("https-login", _username, _password, "Lirria", "2", "en")
|
#message = message.nel_login_message.new("https-login", _username, _password, "Lirria", "2", "en")
|
||||||
var url_login = connexion.get_url_login();
|
var url_login = connexion.get_url_login();
|
||||||
$HTTPSalt.request(url_login + "?" + message.get_request_salt());
|
$HTTPSalt.request(url_login + "?" + message.get_request_salt());
|
||||||
|
@ -37,28 +37,41 @@ func do_request_salt(username, password):
|
||||||
|
|
||||||
|
|
||||||
func _on_HTTPSalt_request_completed(result, response_code, headers, body):
|
func _on_HTTPSalt_request_completed(result, response_code, headers, body):
|
||||||
if response_code != 200 || ProjectSettings.get_setting("kaghanat/debug_mode"):
|
print("[login_menu:_on_HTTPSalt_request_completed] response_code:" + str(response_code))
|
||||||
emit_signal( "login_button_pressed" )
|
if response_code != 200: # || ProjectSettings.get_setting("khaganat/debug_mode"):
|
||||||
|
print("[login_menu:_on_HTTPSalt_request_completed] Impossible to connect")
|
||||||
|
#emit_signal( "login_button_pressed" )
|
||||||
|
$error_dialog/v_box_container/label.text = "Impossible to connect"
|
||||||
|
$error_dialog.popup_centered()
|
||||||
else:
|
else:
|
||||||
var text = str2var(body.get_string_from_utf8())
|
var text = str2var(body.get_string_from_utf8())
|
||||||
var s = body.get_string_from_utf8().split(":")
|
var s = body.get_string_from_utf8().split(":")
|
||||||
print("[login_menu:_on_HTTPSalt_request_completed] return:'" + str(text) + "'")
|
print("[login_menu:_on_HTTPSalt_request_completed] return:'" + str(text) + "'")
|
||||||
if(s[0] == "1"):
|
if(s[0] == "1"):
|
||||||
print("[login_menu] salt:'" + str(s[1]) + "'")
|
print("[login_menu] salt:'" + str(s[1]) + "'")
|
||||||
var message = load("res://assets/Scripts/Models/nel_login_message.gd").nel_login_message.new("https-login", _username, _password, "Lirria", "2", "en")
|
var message = preload("res://assets/Scripts/Models/nel_login_message.gd").nel_login_message.new("https-login", _username, _password, "Lirria", "2", "en")
|
||||||
var connexion = load("res://assets/Scripts/Config/connexion.gd").connexion.new()
|
var connexion = preload("res://assets/Scripts/Config/connexion.gd").connexion.new()
|
||||||
var url_login = connexion.get_url_login();
|
var url_login = connexion.get_url_login();
|
||||||
print("[login_menu] URL:" + url_login + "?" + message.get_request_string(str(s[1])));
|
print("[login_menu] URL:" + url_login + "?" + message.get_request_string(str(s[1])));
|
||||||
$HTTPRequest.request(url_login + "?" + message.get_request_string(str(s[1])));
|
$HTTPRequest.request(url_login + "?" + message.get_request_string(str(s[1])));
|
||||||
else:
|
else:
|
||||||
get_node("error_dialog/v_box_container/label").text = "Impossible de se connecter"
|
print("[login_menu:_on_HTTPSalt_request_completed] error to connect")
|
||||||
get_node("error_dialog").popup_centered()
|
var regex = RegEx.new()
|
||||||
|
regex.compile("^(\\d+)[:](?<comment>.+)$")
|
||||||
|
var search = regex.search(s[0])
|
||||||
|
if search:
|
||||||
|
$error_dialog/v_box_container/label.text = "Impossible to connect\n" + search.get_string("comment")
|
||||||
|
$error_dialog.popup_centered()
|
||||||
|
else:
|
||||||
|
$error_dialog/v_box_container/label.text = "Impossible to connect\n" + str(s[0])
|
||||||
|
$error_dialog.popup_centered()
|
||||||
|
return
|
||||||
|
|
||||||
# Step Login
|
# Step Login
|
||||||
|
|
||||||
func do_request(username, password):
|
func do_request(username, password):
|
||||||
var message = load("res://assets/Scripts/Models/nel_login_message.gd")
|
var message = preload("res://assets/Scripts/Models/nel_login_message.gd")
|
||||||
var connexion = load("res://assets/Scripts/Config/connexion.gd").connexion.new()
|
var connexion = preload("res://assets/Scripts/Config/connexion.gd").connexion.new()
|
||||||
if message:
|
if message:
|
||||||
var url_login
|
var url_login
|
||||||
message = message.nel_login_message.new("https-login", username, password, "Lirria", "2", "en")
|
message = message.nel_login_message.new("https-login", username, password, "Lirria", "2", "en")
|
||||||
|
@ -68,35 +81,46 @@ func do_request(username, password):
|
||||||
|
|
||||||
|
|
||||||
func _on_HTTPRequest_request_completed(result, response_code, headers, body):
|
func _on_HTTPRequest_request_completed(result, response_code, headers, body):
|
||||||
if response_code != 200 || ProjectSettings.get_setting("kaghanat/debug_mode"):
|
print("[login_menu:_on_HTTPRequest_request_completed] response_code:" + str(response_code))
|
||||||
emit_signal( "login_button_pressed" )
|
if response_code != 200: # || ProjectSettings.get_setting("khaganat/debug_mode"):
|
||||||
|
# emit_signal( "login_button_pressed" )
|
||||||
|
print("[login_menu:_on_HTTPRequest_request_completed] Impossible to connect")
|
||||||
|
$error_dialog/v_box_container/label.text = "Impossible to connect"
|
||||||
|
$error_dialog.popup_centered()
|
||||||
else:
|
else:
|
||||||
var text = str2var(body.get_string_from_utf8())
|
var text = str2var(body.get_string_from_utf8())
|
||||||
var lines = body.get_string_from_utf8().split("\n")
|
var lines = body.get_string_from_utf8().split("\n")
|
||||||
if lines.size() != 2:
|
if lines.size() != 2:
|
||||||
print("[login_menu] Impossible to connect (bad return)")
|
print("[login_menu] Impossible to connect (bad return)")
|
||||||
get_node("error_dialog/v_box_container/label").text = "Impossible to connect (bad return)"
|
$error_dialog/v_box_container/label.text = "Impossible to connect (bad return)"
|
||||||
get_node("error_dialog").popup_centered()
|
$error_dialog.popup_centered()
|
||||||
return
|
return
|
||||||
var line1 = lines[0].split("#")
|
var line1 = lines[0].split("#")
|
||||||
var line2 = lines[1].split("#")
|
var line2 = lines[1].split("#")
|
||||||
#print("[login_menu:_on_HTTPRequest_request_completed] return:'" + str(text) + "'" + str(lines.size()) + "'" + str(line1.size()) + "'" + str(line2.size()))
|
#print("[login_menu:_on_HTTPRequest_request_completed] return:'" + str(text) + "'" + str(lines.size()) + "'" + str(line1.size()) + "'" + str(line2.size()))
|
||||||
if line1[0] != "1":
|
if line1[0] != "1":
|
||||||
print("[login_menu] Impossible to connect (return" + line1[0] + ")")
|
print("[login_menu] Impossible to connect (return" + line1[0] + ")")
|
||||||
get_node("error_dialog/v_box_container/label").text = "Impossible to connect (return :" + str(line1[0]) + ")"
|
var regex = RegEx.new()
|
||||||
get_node("error_dialog").popup_centered()
|
regex.compile("^(\\d+)[:](?<comment>.+)$")
|
||||||
|
var search = regex.search(line1[0])
|
||||||
|
if search:
|
||||||
|
$error_dialog/v_box_container/label.text = "Impossible to connect\n" + search.get_string("comment")
|
||||||
|
$error_dialog.popup_centered()
|
||||||
|
else:
|
||||||
|
$error_dialog/v_box_container/label.text = "Impossible to connect\n" + str(line1[0])
|
||||||
|
$error_dialog.popup_centered()
|
||||||
return
|
return
|
||||||
if line1.size() < 5:
|
if line1.size() < 5:
|
||||||
print("[login_menu] Impossible to connect (bad return 1st line, size:" + str(line1.size()) + ")")
|
print("[login_menu] Impossible to connect (bad return 1st line, size:" + str(line1.size()) + ")")
|
||||||
get_node("error_dialog/v_box_container/label").text = "Impossible to connect (bad return 1st line, size:" + str(line1.size()) + ")"
|
$error_dialog/v_box_container/label.text = "Impossible to connect (bad return 1st line, size:" + str(line1.size()) + ")"
|
||||||
get_node("error_dialog").popup_centered()
|
$error_dialog.popup_centered()
|
||||||
return
|
return
|
||||||
if line2.size() != 3:
|
if line2.size() != 3:
|
||||||
print("[login_menu] Impossible to connect (bad return 2nd line, size:" + str(line2.size()) + ")")
|
print("[login_menu] Impossible to connect (bad return 2nd line, size:" + str(line2.size()) + ")")
|
||||||
get_node("error_dialog/v_box_container/label").text = "Impossible to connect (bad return 2nd line, size:" + str(line2.size()) + ")"
|
$error_dialog/v_box_container/label.text = "Impossible to connect (bad return 2nd line, size:" + str(line2.size()) + ")"
|
||||||
get_node("error_dialog").popup_centered()
|
$error_dialog.popup_centered()
|
||||||
return
|
return
|
||||||
var server_info_script = load("res://assets/Scripts/Models/nel_server_info.gd");
|
var server_info_script = preload("res://assets/Scripts/Models/nel_server_info.gd");
|
||||||
print("[login_menu] " + str(body.get_string_from_utf8()))
|
print("[login_menu] " + str(body.get_string_from_utf8()))
|
||||||
var state = line1[0]
|
var state = line1[0]
|
||||||
var cookie = line1[1]
|
var cookie = line1[1]
|
||||||
|
@ -115,8 +139,8 @@ func _on_HTTPRequest_request_completed(result, response_code, headers, body):
|
||||||
|
|
||||||
var cookieSplit = cookie.split("|")
|
var cookieSplit = cookie.split("|")
|
||||||
if cookieSplit.size() != 3:
|
if cookieSplit.size() != 3:
|
||||||
get_node("error_dialog/v_box_container/label").text = "Impossible de se connecter (bad cookies size:" + str(cookieSplit.size()) + ")"
|
$error_dialog/v_box_container/label.text = "Impossible de se connecter (bad cookies size:" + str(cookieSplit.size()) + ")"
|
||||||
get_node("error_dialog").popup_centered()
|
$error_dialog.popup_centered()
|
||||||
return
|
return
|
||||||
var UserAddr = cookieSplit[0]
|
var UserAddr = cookieSplit[0]
|
||||||
var UserKey = cookieSplit[1]
|
var UserKey = cookieSplit[1]
|
||||||
|
@ -129,6 +153,7 @@ func _on_HTTPRequest_request_completed(result, response_code, headers, body):
|
||||||
|
|
||||||
emit_signal( "login_button_pressed" )
|
emit_signal( "login_button_pressed" )
|
||||||
|
|
||||||
|
|
||||||
func _make_post_request(url, data_to_send, use_ssl):
|
func _make_post_request(url, data_to_send, use_ssl):
|
||||||
# Convert data to json string:
|
# Convert data to json string:
|
||||||
var query = JSON.print(data_to_send)
|
var query = JSON.print(data_to_send)
|
||||||
|
|
|
@ -215,7 +215,6 @@ margin_bottom = 33.0
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
text = "Ok"
|
text = "Ok"
|
||||||
|
|
||||||
[connection signal="request_completed" from="HTTPSalt" to="." method="_on_HTTPSalt_request_completed"]
|
[connection signal="request_completed" from="HTTPSalt" to="." method="_on_HTTPSalt_request_completed"]
|
||||||
[connection signal="request_completed" from="HTTPRequest" to="." method="_on_HTTPRequest_request_completed"]
|
[connection signal="request_completed" from="HTTPRequest" to="." method="_on_HTTPRequest_request_completed"]
|
||||||
[connection signal="pressed" from="h_box_container/v_box_container/margin_container/login_box/email_box/email_label_box/register_button" to="." method="_on_register_button_pressed"]
|
[connection signal="pressed" from="h_box_container/v_box_container/margin_container/login_box/email_box/email_label_box/register_button" to="." method="_on_register_button_pressed"]
|
||||||
|
|
|
@ -53,12 +53,12 @@ func do_enable_register_button():
|
||||||
|
|
||||||
|
|
||||||
func _on_play_button_pressed():
|
func _on_play_button_pressed():
|
||||||
var username = get_node("h_box_container/v_box_container/center_container/register_box/login_box/login_edit").get_text();
|
var username = $h_box_container/v_box_container/center_container/register_box/login_box/login_edit.get_text();
|
||||||
var password = get_node("h_box_container/v_box_container/center_container/register_box/password_box/password_edit").get_text();
|
var password = $h_box_container/v_box_container/center_container/register_box/password_box/password_edit.get_text();
|
||||||
var confirmed = get_node("h_box_container/v_box_container/center_container/register_box/password_confirm_box/password_edit").get_text();
|
var confirmed = $h_box_container/v_box_container/center_container/register_box/password_confirm_box/password_edit.get_text();
|
||||||
var email = get_node("h_box_container/v_box_container/center_container/register_box/email_box/email_edit").get_text();
|
var email = $h_box_container/v_box_container/center_container/register_box/email_box/email_edit.get_text();
|
||||||
var cur_state = get_node('h_box_container/v_box_container/center_container/register_box/license_box/check_box').is_pressed()
|
var cur_state = $h_box_container/v_box_container/center_container/register_box/license_box/check_box.is_pressed()
|
||||||
var enregister = get_node('h_box_container/v_box_container/center_container/register_box/h_box_container/register_button2')
|
var enregister = $h_box_container/v_box_container/center_container/register_box/h_box_container/register_button2
|
||||||
var tac = "off";
|
var tac = "off";
|
||||||
if cur_state == true:
|
if cur_state == true:
|
||||||
tac = "on";
|
tac = "on";
|
||||||
|
@ -102,12 +102,12 @@ func do_request(username, password, confirmed, email, tac):
|
||||||
func _on_HTTPRequest_request_completed( result, response_code, headers, body ):
|
func _on_HTTPRequest_request_completed( result, response_code, headers, body ):
|
||||||
var pos
|
var pos
|
||||||
var search
|
var search
|
||||||
var enregister = get_node('h_box_container/v_box_container/center_container/register_box/h_box_container/register_button2')
|
var enregister = $h_box_container/v_box_container/center_container/register_box/h_box_container/register_button2
|
||||||
var comment_last = get_node('h_box_container/v_box_container/center_container/register_box/comment_last')
|
var comment_last = $h_box_container/v_box_container/center_container/register_box/comment_last
|
||||||
var comment_username = get_node('h_box_container/v_box_container/center_container/register_box/login_box/comment')
|
var comment_username = $h_box_container/v_box_container/center_container/register_box/login_box/comment
|
||||||
var comment_password = get_node('h_box_container/v_box_container/center_container/register_box/password_box/comment')
|
var comment_password = $h_box_container/v_box_container/center_container/register_box/password_box/comment
|
||||||
var comment_confirm_password = get_node('h_box_container/v_box_container/center_container/register_box/password_confirm_box/comment')
|
var comment_confirm_password = $h_box_container/v_box_container/center_container/register_box/password_confirm_box/comment
|
||||||
var comment_email = get_node('h_box_container/v_box_container/center_container/register_box/email_box/comment')
|
var comment_email = $h_box_container/v_box_container/center_container/register_box/email_box/comment
|
||||||
var regex = RegEx.new()
|
var regex = RegEx.new()
|
||||||
|
|
||||||
comment_username.text = ""
|
comment_username.text = ""
|
||||||
|
@ -135,7 +135,7 @@ func _on_HTTPRequest_request_completed( result, response_code, headers, body ):
|
||||||
get_node("wait_dialog").hide()
|
get_node("wait_dialog").hide()
|
||||||
|
|
||||||
var text = str2var(body.get_string_from_utf8())
|
var text = str2var(body.get_string_from_utf8())
|
||||||
regex.compile("(\\d+)")
|
regex.compile("^(\\d+)[:]")
|
||||||
var tab = text.split(":", true,2)
|
var tab = text.split(":", true,2)
|
||||||
if tab.size() > 1 :
|
if tab.size() > 1 :
|
||||||
if regex.search(tab[0]):
|
if regex.search(tab[0]):
|
||||||
|
@ -145,6 +145,7 @@ func _on_HTTPRequest_request_completed( result, response_code, headers, body ):
|
||||||
get_node("wait_dialog").hide()
|
get_node("wait_dialog").hide()
|
||||||
get_node("error_dialog/v_box_container/label").text = "Serveur a renvoyé une erreur\nCode retour:" + str(tab[0]) + "\nMessage:" + tab[1]
|
get_node("error_dialog/v_box_container/label").text = "Serveur a renvoyé une erreur\nCode retour:" + str(tab[0]) + "\nMessage:" + tab[1]
|
||||||
get_node("error_dialog").popup_centered()
|
get_node("error_dialog").popup_centered()
|
||||||
|
print("[Register] Failed to register (Code retour:" + str(tab[0]) + ", message:" + tab[1] +")")
|
||||||
return
|
return
|
||||||
|
|
||||||
tab = text.rsplit("\n")
|
tab = text.rsplit("\n")
|
||||||
|
|
|
@ -28,7 +28,6 @@ expand = true
|
||||||
stretch_mode = 7
|
stretch_mode = 7
|
||||||
|
|
||||||
[node name="h_box_container" type="HBoxContainer" parent="."]
|
[node name="h_box_container" type="HBoxContainer" parent="."]
|
||||||
editor/display_folded = true
|
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
|
|
||||||
|
@ -342,7 +341,6 @@ margin_bottom = 114.0
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
text = "Ok"
|
text = "Ok"
|
||||||
|
|
||||||
[connection signal="request_completed" from="HTTPRequest" to="." method="_on_HTTPRequest_request_completed"]
|
[connection signal="request_completed" from="HTTPRequest" to="." method="_on_HTTPRequest_request_completed"]
|
||||||
[connection signal="text_changed" from="h_box_container/v_box_container/center_container/register_box/login_box/login_edit" to="." method="_on_login_edit_text_changed"]
|
[connection signal="text_changed" from="h_box_container/v_box_container/center_container/register_box/login_box/login_edit" to="." method="_on_login_edit_text_changed"]
|
||||||
[connection signal="text_changed" from="h_box_container/v_box_container/center_container/register_box/password_box/password_edit" to="." method="_on_password_edit_text_changed"]
|
[connection signal="text_changed" from="h_box_container/v_box_container/center_container/register_box/password_box/password_edit" to="." method="_on_password_edit_text_changed"]
|
||||||
|
|
|
@ -17,15 +17,15 @@ var zoom_direction = null
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
|
||||||
# $viewport/character/face_camera.make_current()
|
# $viewport/character/face_camera.make_current()
|
||||||
|
|
||||||
|
|
||||||
self.character_preview = $viewport/character
|
self.character_preview = $viewport/character
|
||||||
self.character_preview.set_default_values()
|
self.character_preview.set_default_values()
|
||||||
# self.character_preview.get_node( "Camera_rotation_helper/face_camera" ).make_current()
|
# self.character_preview.get_node( "Camera_rotation_helper/face_camera" ).make_current()
|
||||||
self.character_preview.get_node( "face_camera" ).make_current()
|
self.character_preview.get_node( "face_camera" ).make_current()
|
||||||
|
|
||||||
self.character_mesh = $viewport/character.get_node("suzanne/mesh")
|
self.character_mesh = $viewport/character.get_node("suzanne/mesh")
|
||||||
# self.character_face_camera = $viewport/character/Camera_rotation_helper/face_camera
|
# self.character_face_camera = $viewport/character/Camera_rotation_helper/face_camera
|
||||||
self.character_box = $margin_container/character_box
|
self.character_box = $margin_container/character_box
|
||||||
|
@ -37,25 +37,25 @@ func _ready():
|
||||||
update_character_slots()
|
update_character_slots()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func update_character_slots():
|
func update_character_slots():
|
||||||
|
|
||||||
var config_file = ConfigFile.new()
|
var config_file = ConfigFile.new()
|
||||||
var err = config_file.load( "user://player.cfg" )
|
var err = config_file.load( "user://player.cfg" )
|
||||||
if err:
|
if err:
|
||||||
print("Error code when loading player config file: ", err)
|
print("Error code when loading player config file: ", err)
|
||||||
|
|
||||||
var useds_slot = []
|
var useds_slot = []
|
||||||
var last_slot = 0
|
var last_slot = 0
|
||||||
for section in config_file.get_sections():
|
for section in config_file.get_sections():
|
||||||
useds_slot.append( int(section) )
|
useds_slot.append( int(section) )
|
||||||
if not self.character_box.has_node( "character_slots/slots_box/slot_box_"+section ):
|
if not self.character_box.has_node( "character_slots/slots_box/slot_box_"+section ):
|
||||||
last_slot = int(section)
|
last_slot = int(section)
|
||||||
|
|
||||||
var character_name = config_file.get_value( section, "name" )
|
var character_name = config_file.get_value( section, "name" )
|
||||||
if not character_name:
|
if not character_name:
|
||||||
character_name = "NameNotFound"
|
character_name = "NameNotFound"
|
||||||
|
|
||||||
var slot_box = HBoxContainer.new()
|
var slot_box = HBoxContainer.new()
|
||||||
slot_box.name = "slot_box_"+section
|
slot_box.name = "slot_box_"+section
|
||||||
slot_box.size_flags_horizontal = SIZE_FILL
|
slot_box.size_flags_horizontal = SIZE_FILL
|
||||||
|
@ -63,29 +63,29 @@ func update_character_slots():
|
||||||
slot_box.set( "custom_constants/separation", 8)
|
slot_box.set( "custom_constants/separation", 8)
|
||||||
self.character_box.get_node( "character_slots/slots_box/" ).add_child( slot_box )
|
self.character_box.get_node( "character_slots/slots_box/" ).add_child( slot_box )
|
||||||
slot_box.connect( "mouse_entered", self, "_on_name_mouse_entered_pressed", [int(section)] )
|
slot_box.connect( "mouse_entered", self, "_on_name_mouse_entered_pressed", [int(section)] )
|
||||||
|
|
||||||
var label_name = Label.new()
|
var label_name = Label.new()
|
||||||
label_name.text = character_name
|
label_name.text = character_name
|
||||||
label_name.size_flags_horizontal = SIZE_EXPAND
|
label_name.size_flags_horizontal = SIZE_EXPAND
|
||||||
slot_box.add_child( label_name )
|
slot_box.add_child( label_name )
|
||||||
|
|
||||||
var choose_button = Button.new()
|
var choose_button = Button.new()
|
||||||
choose_button.text = "Choisir"
|
choose_button.text = "Choisir"
|
||||||
slot_box.add_child( choose_button )
|
slot_box.add_child( choose_button )
|
||||||
choose_button.connect( "pressed", self, "_on_choose_pressed", [int(section)] )
|
choose_button.connect( "pressed", self, "_on_choose_pressed", [int(section)] )
|
||||||
choose_button.connect( "mouse_entered", self, "_on_name_mouse_entered_pressed", [int(section)] )
|
choose_button.connect( "mouse_entered", self, "_on_name_mouse_entered_pressed", [int(section)] )
|
||||||
|
|
||||||
var delete_button = Button.new()
|
var delete_button = Button.new()
|
||||||
delete_button.text = "Supprimer"
|
delete_button.text = "Supprimer"
|
||||||
slot_box.add_child( delete_button )
|
slot_box.add_child( delete_button )
|
||||||
delete_button.connect( "pressed", self, "_on_delete_pressed", [int(section), slot_box] )
|
delete_button.connect( "pressed", self, "_on_delete_pressed", [int(section), slot_box] )
|
||||||
delete_button.connect( "mouse_entered", self, "_on_name_mouse_entered_pressed", [int(section)] )
|
delete_button.connect( "mouse_entered", self, "_on_name_mouse_entered_pressed", [int(section)] )
|
||||||
|
|
||||||
|
|
||||||
if self.character_box.has_node( "character_slots/creation_button" ):
|
if self.character_box.has_node( "character_slots/creation_button" ):
|
||||||
self.character_box.get_node( "character_slots/creation_button" ).free()
|
self.character_box.get_node( "character_slots/creation_button" ).free()
|
||||||
|
|
||||||
var index = 0
|
var index = 0
|
||||||
while index in useds_slot:
|
while index in useds_slot:
|
||||||
index += 1
|
index += 1
|
||||||
var next_slot = index
|
var next_slot = index
|
||||||
|
@ -101,49 +101,49 @@ func _on_create_pressed( slot ):
|
||||||
self.character_box.get_node( "character_slots" ).hide()
|
self.character_box.get_node( "character_slots" ).hide()
|
||||||
self.character_box.get_node( "character_creation_box" ).show()
|
self.character_box.get_node( "character_creation_box" ).show()
|
||||||
self.character_preview.update()
|
self.character_preview.update()
|
||||||
|
|
||||||
func _on_choose_pressed( slot ):
|
func _on_choose_pressed( slot ):
|
||||||
emit_signal( "character_selected", slot )
|
emit_signal( "character_selected", slot )
|
||||||
|
|
||||||
|
|
||||||
func _on_delete_pressed( slot, node_to_delete ):
|
func _on_delete_pressed( slot, node_to_delete ):
|
||||||
var config_file = ConfigFile.new()
|
var config_file = ConfigFile.new()
|
||||||
var err = config_file.load( "user://player.cfg" )
|
var err = config_file.load( "user://player.cfg" )
|
||||||
if err:
|
if err:
|
||||||
print("Error code when loading player config file: ", err)
|
print("Error code when loading player config file: ", err)
|
||||||
config_file.erase_section( str(slot) )
|
config_file.erase_section( str(slot) )
|
||||||
config_file.save( "user://player.cfg" )
|
config_file.save( "user://player.cfg" )
|
||||||
|
|
||||||
var parent = node_to_delete.get_parent()
|
var parent = node_to_delete.get_parent()
|
||||||
parent.remove_child( node_to_delete )
|
parent.remove_child( node_to_delete )
|
||||||
|
|
||||||
update_character_slots()
|
update_character_slots()
|
||||||
|
|
||||||
|
|
||||||
func _on_name_mouse_entered_pressed( slot ):
|
func _on_name_mouse_entered_pressed( slot ):
|
||||||
$viewport/character.show()
|
$viewport/character.show()
|
||||||
preview_slot = slot
|
preview_slot = slot
|
||||||
update_preview()
|
update_preview()
|
||||||
|
|
||||||
func update_preview():
|
func update_preview():
|
||||||
var slot = preview_slot
|
var slot = preview_slot
|
||||||
|
|
||||||
var config_file = ConfigFile.new()
|
var config_file = ConfigFile.new()
|
||||||
var err = config_file.load( "user://player.cfg" )
|
var err = config_file.load( "user://player.cfg" )
|
||||||
if err:
|
if err:
|
||||||
print("Error code when loading player config file: ", err)
|
print("Error code when loading player config file: ", err)
|
||||||
if config_file.has_section( str(slot) ):
|
if config_file.has_section( str(slot) ):
|
||||||
|
|
||||||
self.character_preview.slot = slot
|
self.character_preview.slot = slot
|
||||||
|
|
||||||
# name
|
# name
|
||||||
var pseudo = config_file.get_value( str(slot), "name", "Player" )
|
var pseudo = config_file.get_value( str(slot), "name", "Player" )
|
||||||
self.character_preview.pseudo = pseudo
|
self.character_preview.pseudo = pseudo
|
||||||
|
|
||||||
# gender
|
# gender
|
||||||
var gender = config_file.get_value( str(slot), "gender", 1 )
|
var gender = config_file.get_value( str(slot), "gender", 1 )
|
||||||
self.character_preview.gender = gender
|
self.character_preview.gender = gender
|
||||||
|
|
||||||
# Color
|
# Color
|
||||||
var color = config_file.get_value( str(slot), "color", Color( 1, 0.25, 0.25, 1 ) )
|
var color = config_file.get_value( str(slot), "color", Color( 1, 0.25, 0.25, 1 ) )
|
||||||
self.character_preview.color = color
|
self.character_preview.color = color
|
||||||
|
@ -151,21 +151,21 @@ func update_preview():
|
||||||
# Size
|
# Size
|
||||||
var size = config_file.get_value( str(slot), "size", 1.0 )
|
var size = config_file.get_value( str(slot), "size", 1.0 )
|
||||||
self.character_preview.size = size
|
self.character_preview.size = size
|
||||||
|
|
||||||
# Ears size
|
# Ears size
|
||||||
var ears_size = config_file.get_value( str(slot), "ears_size", 0.0 )
|
var ears_size = config_file.get_value( str(slot), "ears_size", 0.0 )
|
||||||
self.character_preview.ears_size = ears_size
|
self.character_preview.ears_size = ears_size
|
||||||
|
|
||||||
# Eyes color
|
# Eyes color
|
||||||
var eyes_color = config_file.get_value( str(slot), "eyes_color", Color( 0.0, 1.0, 0.0, 1.0 ) )
|
var eyes_color = config_file.get_value( str(slot), "eyes_color", Color( 0.0, 1.0, 0.0, 1.0 ) )
|
||||||
self.character_preview.eyes_color = eyes_color
|
self.character_preview.eyes_color = eyes_color
|
||||||
|
|
||||||
self.character_preview.update()
|
self.character_preview.update()
|
||||||
|
|
||||||
|
|
||||||
func _on_character_slots_return_button_pressed():
|
func _on_character_slots_return_button_pressed():
|
||||||
emit_signal( "return_button_pressed" )
|
emit_signal( "return_button_pressed" )
|
||||||
|
|
||||||
func _on_character_creation_box_return_button_pressed():
|
func _on_character_creation_box_return_button_pressed():
|
||||||
self.character_box.get_node( "character_slots" ).show()
|
self.character_box.get_node( "character_slots" ).show()
|
||||||
self.character_box.get_node( "character_creation_box" ).hide()
|
self.character_box.get_node( "character_creation_box" ).hide()
|
||||||
|
@ -186,9 +186,9 @@ func _on_character_creation_box_creation_button_pressed():
|
||||||
config_file.set_value( str(self.character_preview.slot), "size", self.character_preview.size)
|
config_file.set_value( str(self.character_preview.slot), "size", self.character_preview.size)
|
||||||
config_file.set_value( str(self.character_preview.slot), "ears_size", self.character_preview.ears_size)
|
config_file.set_value( str(self.character_preview.slot), "ears_size", self.character_preview.ears_size)
|
||||||
config_file.set_value( str(self.character_preview.slot), "eyes_color", self.character_preview.eyes_color)
|
config_file.set_value( str(self.character_preview.slot), "eyes_color", self.character_preview.eyes_color)
|
||||||
|
|
||||||
config_file.save( "user://player.cfg" )
|
config_file.save( "user://player.cfg" )
|
||||||
|
|
||||||
self.character_box.get_node( "character_slots" ).show()
|
self.character_box.get_node( "character_slots" ).show()
|
||||||
self.character_box.get_node( "character_creation_box" ).hide()
|
self.character_box.get_node( "character_creation_box" ).hide()
|
||||||
update_character_slots()
|
update_character_slots()
|
||||||
|
@ -225,10 +225,10 @@ func _on_character_creation_box_ears_size_bar_changed( value ):
|
||||||
|
|
||||||
func _on_character_creation_box_eyes_color_changed(value):
|
func _on_character_creation_box_eyes_color_changed(value):
|
||||||
self.character_preview.eyes_color = value
|
self.character_preview.eyes_color = value
|
||||||
self.character_preview.update()
|
self.character_preview.update()
|
||||||
|
|
||||||
func _process( delta ):
|
func _process( delta ):
|
||||||
|
|
||||||
if turn_direction == "left":
|
if turn_direction == "left":
|
||||||
self.character_mesh.rotation.y -= delta
|
self.character_mesh.rotation.y -= delta
|
||||||
elif turn_direction == "right":
|
elif turn_direction == "right":
|
||||||
|
@ -238,7 +238,7 @@ func _process( delta ):
|
||||||
$viewport/character/face_camera.size += delta
|
$viewport/character/face_camera.size += delta
|
||||||
elif zoom_direction == "back":
|
elif zoom_direction == "back":
|
||||||
$viewport/character/face_camera.size -= delta
|
$viewport/character/face_camera.size -= delta
|
||||||
|
|
||||||
func _on_turn_left_button_down():
|
func _on_turn_left_button_down():
|
||||||
turn_direction = "left"
|
turn_direction = "left"
|
||||||
func _on_turn_left_button_up():
|
func _on_turn_left_button_up():
|
||||||
|
@ -271,6 +271,6 @@ func _on_lights_toggled(button_pressed):
|
||||||
$viewport/character/face_lights.show()
|
$viewport/character/face_lights.show()
|
||||||
else:
|
else:
|
||||||
$viewport/character/face_lights.hide()
|
$viewport/character/face_lights.hide()
|
||||||
|
|
||||||
func _on_character_preview_image_resized():
|
func _on_character_preview_image_resized():
|
||||||
$viewport.size = $margin_container/character_box/v_box_container/character_preview_image.rect_size
|
$viewport.size = $margin_container/character_box/v_box_container/character_preview_image.rect_size
|
||||||
|
|
|
@ -10,7 +10,7 @@ func _ready():
|
||||||
$Menus/TabContainer/Display/ScrollContainer/VBoxContainer/CurrentScreen/SpinBox.value = OS.current_screen
|
$Menus/TabContainer/Display/ScrollContainer/VBoxContainer/CurrentScreen/SpinBox.value = OS.current_screen
|
||||||
|
|
||||||
load_settings()
|
load_settings()
|
||||||
|
|
||||||
|
|
||||||
func _on_font_size_bar_value_changed(value):
|
func _on_font_size_bar_value_changed(value):
|
||||||
$Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size/font_size_value.text = str( value )
|
$Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size/font_size_value.text = str( value )
|
||||||
|
@ -27,17 +27,17 @@ func load_settings():
|
||||||
config_file.save( "user://settings.cfg" )
|
config_file.save( "user://settings.cfg" )
|
||||||
elif not err == OK:
|
elif not err == OK:
|
||||||
print("Error code when loading config file: ", err)
|
print("Error code when loading config file: ", err)
|
||||||
|
|
||||||
global.font_size = config_file.get_value( "theme", "font_size" )
|
global.font_size = config_file.get_value( "theme", "font_size" )
|
||||||
if $Menus.get_theme():
|
if $Menus.get_theme():
|
||||||
$Menus.get_theme().default_font.size = global.font_size
|
$Menus.get_theme().default_font.size = global.font_size
|
||||||
$Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size_bar.value = global.font_size
|
$Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size_bar.value = global.font_size
|
||||||
$Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size/font_size_value.text = str( global.font_size )
|
$Menus/TabContainer/Test/ScrollContainer/VBoxContainer/font_size/font_size_value.text = str( global.font_size )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_ReturnButton_pressed():
|
func _on_ReturnButton_pressed():
|
||||||
|
|
||||||
var config_file = ConfigFile.new()
|
var config_file = ConfigFile.new()
|
||||||
var err = config_file.load( "user://settings.cfg" )
|
var err = config_file.load( "user://settings.cfg" )
|
||||||
if err:
|
if err:
|
||||||
|
@ -53,7 +53,7 @@ func _on_ReturnButton_pressed():
|
||||||
func _on_Title_text_changed(new_text):
|
func _on_Title_text_changed(new_text):
|
||||||
# ----------------------------------
|
# ----------------------------------
|
||||||
# Changing windows title
|
# Changing windows title
|
||||||
var new_title = "Khanat"
|
var new_title = "Khanat"
|
||||||
new_text = new_text.strip_edges()
|
new_text = new_text.strip_edges()
|
||||||
if not new_text == "":
|
if not new_text == "":
|
||||||
new_title = new_text
|
new_title = new_text
|
||||||
|
@ -65,7 +65,7 @@ func _on_Fullscreen_toggled(button_pressed):
|
||||||
if ProjectSettings.has_setting( "display/window/size/fullscreen" ):
|
if ProjectSettings.has_setting( "display/window/size/fullscreen" ):
|
||||||
ProjectSettings.set_setting("display/window/size/fullscreen", button_pressed)
|
ProjectSettings.set_setting("display/window/size/fullscreen", button_pressed)
|
||||||
OS.window_fullscreen = ProjectSettings.get_setting("display/window/size/fullscreen")
|
OS.window_fullscreen = ProjectSettings.get_setting("display/window/size/fullscreen")
|
||||||
|
|
||||||
func _on_Borderless_toggled(button_pressed):
|
func _on_Borderless_toggled(button_pressed):
|
||||||
if ProjectSettings.has_setting( "display/window/size/borderless" ):
|
if ProjectSettings.has_setting( "display/window/size/borderless" ):
|
||||||
ProjectSettings.set_setting("display/window/size/borderless", button_pressed)
|
ProjectSettings.set_setting("display/window/size/borderless", button_pressed)
|
||||||
|
@ -84,3 +84,7 @@ func _on_AlwaysOnTop_toggled(button_pressed):
|
||||||
|
|
||||||
func _on_SpinBox_value_changed(value):
|
func _on_SpinBox_value_changed(value):
|
||||||
OS.current_screen = value
|
OS.current_screen = value
|
||||||
|
|
||||||
|
|
||||||
|
func _on_FluteButton_pressed():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue