adding some functionnality on main windows [settings, juke blox, select language, information, help/author]
BIN
assets/interfaces/buttons/add.png
Normal file
After Width: | Height: | Size: 879 B |
BIN
assets/interfaces/buttons/del.png
Normal file
After Width: | Height: | Size: 897 B |
BIN
assets/interfaces/buttons/down.png
Normal file
After Width: | Height: | Size: 897 B |
BIN
assets/interfaces/buttons/up.png
Normal file
After Width: | Height: | Size: 885 B |
BIN
assets/interfaces/jukebox/auto_off.png
Normal file
After Width: | Height: | Size: 966 B |
BIN
assets/interfaces/jukebox/auto_on.png
Normal file
After Width: | Height: | Size: 935 B |
BIN
assets/interfaces/jukebox/music_off.png
Normal file
After Width: | Height: | Size: 937 B |
BIN
assets/interfaces/jukebox/music_on.png
Normal file
After Width: | Height: | Size: 952 B |
BIN
assets/interfaces/jukebox/mute.png
Normal file
After Width: | Height: | Size: 925 B |
BIN
assets/interfaces/jukebox/sound_off.png
Normal file
After Width: | Height: | Size: 925 B |
BIN
assets/interfaces/jukebox/sound_on.png
Normal file
After Width: | Height: | Size: 941 B |
BIN
assets/interfaces/jukebox/soundeffect_off.png
Normal file
After Width: | Height: | Size: 936 B |
BIN
assets/interfaces/jukebox/soundeffect_on.png
Normal file
After Width: | Height: | Size: 944 B |
36
locale/en.po
|
@ -118,3 +118,39 @@ msgstr "Add"
|
||||||
|
|
||||||
msgid "OPTION_SETTINGS_SOUND_SELECTION_DELETE"
|
msgid "OPTION_SETTINGS_SOUND_SELECTION_DELETE"
|
||||||
msgstr "Del"
|
msgstr "Del"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_TITLE"
|
||||||
|
msgstr "JUKE BOX"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PREVIOUS"
|
||||||
|
msgstr "Previous"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PAUSE"
|
||||||
|
msgstr "Pause"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PLAY"
|
||||||
|
msgstr "Play"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_NEXT"
|
||||||
|
msgstr "Next"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_SOUND_EFFECT"
|
||||||
|
msgstr "Sound effect"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_MUSIC"
|
||||||
|
msgstr "Music"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_AUTO"
|
||||||
|
msgstr "Music khanat (Auto) or your music"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_MUTE"
|
||||||
|
msgstr "Mute"
|
||||||
|
|
||||||
|
msgid "OPTION_SETTINGS_SOUND_SELECT_DEVICE"
|
||||||
|
msgstr "Del"
|
||||||
|
|
||||||
|
msgid "OPTION_TITLE"
|
||||||
|
msgstr "Settings"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_ADD"
|
||||||
|
msgstr "Add music(s)"
|
||||||
|
|
36
locale/fr.po
|
@ -118,3 +118,39 @@ msgstr "Ajouter"
|
||||||
|
|
||||||
msgid "OPTION_SETTINGS_SOUND_SELECTION_DELETE"
|
msgid "OPTION_SETTINGS_SOUND_SELECTION_DELETE"
|
||||||
msgstr "Supprimer"
|
msgstr "Supprimer"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_TITLE"
|
||||||
|
msgstr "JUKE BOX"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PREVIOUS"
|
||||||
|
msgstr "Précédent"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PAUSE"
|
||||||
|
msgstr "Pause"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PLAY"
|
||||||
|
msgstr "Jouer"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_NEXT"
|
||||||
|
msgstr "Suivant"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_SOUND_EFFECT"
|
||||||
|
msgstr "Effet sonore"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_MUSIC"
|
||||||
|
msgstr "Musique"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_AUTO"
|
||||||
|
msgstr "Jouez votre musique"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_MUTE"
|
||||||
|
msgstr "Silence"
|
||||||
|
|
||||||
|
msgid "OPTION_SETTINGS_SOUND_SELECT_DEVICE"
|
||||||
|
msgstr "Supprimer"
|
||||||
|
|
||||||
|
msgid "OPTION_TITLE"
|
||||||
|
msgstr "Configuration"
|
||||||
|
|
||||||
|
msgid "JUKEBOX_ADD"
|
||||||
|
msgstr "Ajouter une(des) musique(s)"
|
||||||
|
|
|
@ -110,3 +110,40 @@ msgstr ""
|
||||||
msgid "OPTION_SETTINGS_SOUND_SELECTION_DELETE"
|
msgid "OPTION_SETTINGS_SOUND_SELECTION_DELETE"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_TITLE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PREVIOUS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PAUSE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_PLAY"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_NEXT"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_SOUND_EFFECT"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_MUSIC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_AUTO"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_MUTE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "OPTION_SETTINGS_SOUND_SELECT_DEVICE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "OPTION_TITLE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "JUKEBOX_ADD"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -82,8 +82,8 @@ Datas="*res://ressources/scripts/datas/data.gd"
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
|
|
||||||
gdscript/warnings/unused_variable=false
|
gdscript/completion/autocomplete_setters_and_getters=true
|
||||||
gdscript/warnings/unused_argument=false
|
gdscript/warnings/unused_class_variable=true
|
||||||
gdscript/warnings/return_value_discarded=false
|
gdscript/warnings/return_value_discarded=false
|
||||||
|
|
||||||
[display]
|
[display]
|
||||||
|
|
|
@ -20,25 +20,44 @@ var sound_lvl_music = 50
|
||||||
var sound_lvl_effect = 50
|
var sound_lvl_effect = 50
|
||||||
var sound_lvl_global = 50
|
var sound_lvl_global = 50
|
||||||
var mute:bool = false
|
var mute:bool = false
|
||||||
|
var playermusic:bool = false
|
||||||
|
var queuemusic = []
|
||||||
|
|
||||||
|
onready var rand = RandomNumberGenerator.new()
|
||||||
|
|
||||||
|
|
||||||
func msg_debug(text):
|
func msg_debug(text):
|
||||||
if debug:
|
if debug:
|
||||||
var frame = get_stack()[1]
|
var frame = get_stack()[1]
|
||||||
print("DEBUG [%s:%d] %s" % [frame.source, frame.line, text] )
|
print("DEBUG [%s:%d] %s" % [frame.source, frame.line, text] )
|
||||||
|
|
||||||
|
|
||||||
func msg_info(text):
|
func msg_info(text):
|
||||||
var frame = get_stack()[1]
|
var frame = get_stack()[1]
|
||||||
print("INFO [%s:%d] %s" % [frame.source, frame.line, text] )
|
print("INFO [%s:%d] %s" % [frame.source, frame.line, text] )
|
||||||
|
|
||||||
|
|
||||||
func msg_error(text):
|
func msg_error(text):
|
||||||
var frame = get_stack()[1]
|
var frame = get_stack()[1]
|
||||||
print("ERROR [%s:%d] %s" % [frame.source, frame.line, text] )
|
print("ERROR [%s:%d] %s" % [frame.source, frame.line, text] )
|
||||||
|
|
||||||
|
|
||||||
# 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():
|
||||||
load_config()
|
load_config()
|
||||||
|
rand.randomize()
|
||||||
msg_debug("load end")
|
msg_debug("load end")
|
||||||
|
|
||||||
|
|
||||||
|
func set_playermusic(state):
|
||||||
|
Config.msg_debug("player music:" + str(state))
|
||||||
|
self.playermusic = state
|
||||||
|
#MusicManager.load_playlist()
|
||||||
|
#load_playlist
|
||||||
|
|
||||||
|
func get_playermusic():
|
||||||
|
return self.playermusic
|
||||||
|
|
||||||
func set_window_fullscreen(value: bool):
|
func set_window_fullscreen(value: bool):
|
||||||
#if ProjectSettings.has_setting( "display/window/size/fullscreen" ):
|
#if ProjectSettings.has_setting( "display/window/size/fullscreen" ):
|
||||||
# ProjectSettings.set_setting("display/window/size/fullscreen", value)
|
# ProjectSettings.set_setting("display/window/size/fullscreen", value)
|
||||||
|
@ -46,6 +65,7 @@ func set_window_fullscreen(value: bool):
|
||||||
if video_default == false:
|
if video_default == false:
|
||||||
OS.window_fullscreen = window_fullscreen
|
OS.window_fullscreen = window_fullscreen
|
||||||
|
|
||||||
|
|
||||||
func set_window_borderless(value: bool):
|
func set_window_borderless(value: bool):
|
||||||
#if ProjectSettings.has_setting( "display/window/size/borderless" ):
|
#if ProjectSettings.has_setting( "display/window/size/borderless" ):
|
||||||
# ProjectSettings.set_setting("display/window/size/borderless", value)
|
# ProjectSettings.set_setting("display/window/size/borderless", value)
|
||||||
|
@ -53,13 +73,15 @@ func set_window_borderless(value: bool):
|
||||||
if video_default == false:
|
if video_default == false:
|
||||||
OS.window_borderless = window_borderless
|
OS.window_borderless = window_borderless
|
||||||
|
|
||||||
|
|
||||||
func set_window_resizable(value: bool):
|
func set_window_resizable(value: bool):
|
||||||
#if ProjectSettings.has_setting( "display/window/size/resizable" ):
|
#if ProjectSettings.has_setting( "display/window/size/resizable" ):
|
||||||
# ProjectSettings.set_setting("display/window/size/resizable", value)
|
# ProjectSettings.set_setting("display/window/size/resizable", value)
|
||||||
window_resizable = true
|
window_resizable = value
|
||||||
if video_default == false:
|
if video_default == false:
|
||||||
OS.window_resizable = window_resizable
|
OS.window_resizable = window_resizable
|
||||||
|
|
||||||
|
|
||||||
func set_window_width(value: int):
|
func set_window_width(value: int):
|
||||||
#if ProjectSettings.has_setting( "display/window/size/width" ):
|
#if ProjectSettings.has_setting( "display/window/size/width" ):
|
||||||
# ProjectSettings.set_setting("display/window/size/width", value)
|
# ProjectSettings.set_setting("display/window/size/width", value)
|
||||||
|
@ -68,6 +90,7 @@ func set_window_width(value: int):
|
||||||
OS.window_size.x = window_size_x
|
OS.window_size.x = window_size_x
|
||||||
#OS.window_fullscreen = ProjectSettings.get_setting("display/window/size/width")
|
#OS.window_fullscreen = ProjectSettings.get_setting("display/window/size/width")
|
||||||
|
|
||||||
|
|
||||||
func set_window_height(value: int):
|
func set_window_height(value: int):
|
||||||
#if ProjectSettings.has_setting( "display/window/size/height" ):
|
#if ProjectSettings.has_setting( "display/window/size/height" ):
|
||||||
# ProjectSettings.set_setting("display/window/size/height", value)
|
# ProjectSettings.set_setting("display/window/size/height", value)
|
||||||
|
@ -76,29 +99,35 @@ func set_window_height(value: int):
|
||||||
OS.window_size.y = window_size_y
|
OS.window_size.y = window_size_y
|
||||||
#OS.window_fullscreen = ProjectSettings.get_setting("display/window/size/height")
|
#OS.window_fullscreen = ProjectSettings.get_setting("display/window/size/height")
|
||||||
|
|
||||||
|
|
||||||
func set_font_size(value: int):
|
func set_font_size(value: int):
|
||||||
font_size = value
|
font_size = value
|
||||||
if video_default == false:
|
if video_default == false:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
func set_video_default(value):
|
func set_video_default(value):
|
||||||
video_default = value
|
video_default = value
|
||||||
|
|
||||||
|
|
||||||
func set_window_always_on_top(value: bool):
|
func set_window_always_on_top(value: bool):
|
||||||
window_always_on_top = value
|
window_always_on_top = value
|
||||||
if video_default == false:
|
if video_default == false:
|
||||||
OS.set_window_always_on_top(window_always_on_top)
|
OS.set_window_always_on_top(window_always_on_top)
|
||||||
|
|
||||||
|
|
||||||
func set_current_screen(value: int):
|
func set_current_screen(value: int):
|
||||||
screen_number = int(value)
|
screen_number = int(value)
|
||||||
if video_default == false:
|
if video_default == false:
|
||||||
OS.current_screen = screen_number
|
OS.current_screen = screen_number
|
||||||
|
|
||||||
|
|
||||||
func set_screen_orientation(value: int):
|
func set_screen_orientation(value: int):
|
||||||
if video_default == false:
|
if video_default == false:
|
||||||
screen_orientation = int(value)
|
screen_orientation = int(value)
|
||||||
OS.set_screen_orientation(screen_orientation)
|
OS.set_screen_orientation(screen_orientation)
|
||||||
|
|
||||||
|
|
||||||
func set_window_maximized(value: bool):
|
func set_window_maximized(value: bool):
|
||||||
if value:
|
if value:
|
||||||
window_maximized = true
|
window_maximized = true
|
||||||
|
@ -107,6 +136,7 @@ func set_window_maximized(value: bool):
|
||||||
if not video_default:
|
if not video_default:
|
||||||
OS.set_window_maximized(window_maximized)
|
OS.set_window_maximized(window_maximized)
|
||||||
|
|
||||||
|
|
||||||
func enable_window_default():
|
func enable_window_default():
|
||||||
# display/window/handheld/orientation
|
# display/window/handheld/orientation
|
||||||
if ProjectSettings.has_setting( "display/window/handheld/orientation" ):
|
if ProjectSettings.has_setting( "display/window/handheld/orientation" ):
|
||||||
|
@ -144,6 +174,7 @@ func enable_window_default():
|
||||||
if ProjectSettings.has_setting( "display/window/size/resizable" ):
|
if ProjectSettings.has_setting( "display/window/size/resizable" ):
|
||||||
OS.window_resizable = ProjectSettings.get_setting( "display/window/size/resizable" )
|
OS.window_resizable = ProjectSettings.get_setting( "display/window/size/resizable" )
|
||||||
|
|
||||||
|
|
||||||
func disable_window_default():
|
func disable_window_default():
|
||||||
OS.set_screen_orientation(screen_orientation)
|
OS.set_screen_orientation(screen_orientation)
|
||||||
OS.set_window_maximized(window_maximized)
|
OS.set_window_maximized(window_maximized)
|
||||||
|
@ -155,10 +186,12 @@ func disable_window_default():
|
||||||
OS.window_borderless = window_borderless
|
OS.window_borderless = window_borderless
|
||||||
OS.window_resizable = window_resizable
|
OS.window_resizable = window_resizable
|
||||||
|
|
||||||
|
|
||||||
func set_sound_mute(value: bool):
|
func set_sound_mute(value: bool):
|
||||||
Config.msg_debug("mute:" + str(value))
|
Config.msg_debug("mute:" + str(value))
|
||||||
mute = value
|
mute = value
|
||||||
|
|
||||||
|
|
||||||
func save_config():
|
func save_config():
|
||||||
var config_file = ConfigFile.new()
|
var config_file = ConfigFile.new()
|
||||||
config_file.set_value( "theme", "font_size", 14 )
|
config_file.set_value( "theme", "font_size", 14 )
|
||||||
|
@ -176,9 +209,16 @@ func save_config():
|
||||||
config_file.set_value( "sound", "music_level", sound_lvl_music )
|
config_file.set_value( "sound", "music_level", sound_lvl_music )
|
||||||
config_file.set_value( "sound", "effect_level", sound_lvl_effect )
|
config_file.set_value( "sound", "effect_level", sound_lvl_effect )
|
||||||
config_file.set_value( "sound", "mute", mute )
|
config_file.set_value( "sound", "mute", mute )
|
||||||
|
config_file.set_value( "sound", "playermusic", playermusic )
|
||||||
|
var posmusic = 0
|
||||||
|
for child in queuemusic:
|
||||||
|
#Config.msg_debug("" + child )
|
||||||
|
config_file.set_value( "playermusic", str(posmusic), child )
|
||||||
|
posmusic += 1
|
||||||
config_file.save( SettingsFile )
|
config_file.save( SettingsFile )
|
||||||
#print("[res://ressources/scripts/config/config.gd] save_config")
|
#print("[res://ressources/scripts/config/config.gd] save_config")
|
||||||
|
|
||||||
|
|
||||||
func load_config():
|
func load_config():
|
||||||
var config_file = ConfigFile.new()
|
var config_file = ConfigFile.new()
|
||||||
var err = config_file.load( SettingsFile )
|
var err = config_file.load( SettingsFile )
|
||||||
|
@ -203,3 +243,8 @@ func load_config():
|
||||||
sound_lvl_music = config_file.get_value("sound", "music_level", 100)
|
sound_lvl_music = config_file.get_value("sound", "music_level", 100)
|
||||||
sound_lvl_effect = config_file.get_value("sound", "effect_level", 100)
|
sound_lvl_effect = config_file.get_value("sound", "effect_level", 100)
|
||||||
mute = config_file.get_value("sound", "mute", false)
|
mute = config_file.get_value("sound", "mute", false)
|
||||||
|
playermusic = config_file.get_value("sound", "playermusic", false)
|
||||||
|
for key in config_file.get_section_keys( "playermusic" ):
|
||||||
|
var file = config_file.get_value( "playermusic", key, "" )
|
||||||
|
# Config.msg_debug( "playermusic:" + key + " " + str(file) )
|
||||||
|
queuemusic.append(file)
|
||||||
|
|
|
@ -2,84 +2,84 @@ extends Node
|
||||||
|
|
||||||
class Creature_old2:
|
class Creature_old2:
|
||||||
|
|
||||||
enum Sex { F, M, H, A, U }
|
enum Sex { F, M, H, A, U }
|
||||||
|
|
||||||
var type
|
var type
|
||||||
var pseudonym
|
var pseudonym
|
||||||
|
|
||||||
|
|
||||||
func _init( p_pseudonym = "Créature" ):
|
func _init( p_pseudonym = "Créature" ):
|
||||||
self.type = "creature"
|
self.type = "creature"
|
||||||
self.pseudonym = p_pseudonym
|
self.pseudonym = p_pseudonym
|
||||||
|
|
||||||
|
|
||||||
class Ra_old2 extends Creature_old2:
|
class Ra_old2 extends Creature_old2:
|
||||||
|
|
||||||
|
|
||||||
var sex = Creature_old2.Sex.F
|
var sex = Creature_old2.Sex.F
|
||||||
|
|
||||||
var female_boobs = 0.0
|
var female_boobs = 0.0
|
||||||
var female_hip = 0.0
|
var female_hip = 0.0
|
||||||
var male_pack = 0.0
|
var male_pack = 0.0
|
||||||
var male_throat = 0.0
|
var male_throat = 0.0
|
||||||
var female_pregnant = 0.0
|
var female_pregnant = 0.0
|
||||||
|
|
||||||
var color = Color( 1.0, 1.0, 1.0 )
|
var color = Color( 1.0, 1.0, 1.0 )
|
||||||
|
|
||||||
var douleur = 0.0
|
var douleur = 0.0
|
||||||
var trauma = 0.0
|
var trauma = 0.0
|
||||||
var oubli = 0.0
|
var oubli = 0.0
|
||||||
|
|
||||||
func _init( p_pseudonym = "Créature" ):
|
func _init( p_pseudonym = "Créature" ):
|
||||||
self.type = "ra"
|
self.type = "ra"
|
||||||
self.pseudonym = p_pseudonym
|
self.pseudonym = p_pseudonym
|
||||||
|
|
||||||
func to_dictionary():
|
func to_dictionary():
|
||||||
|
|
||||||
var dictionary = Dictionary()
|
var dictionary = Dictionary()
|
||||||
dictionary[ "type" ] = self.type
|
dictionary[ "type" ] = self.type
|
||||||
dictionary[ "pseudonym" ] = self.pseudonym
|
dictionary[ "pseudonym" ] = self.pseudonym
|
||||||
|
|
||||||
dictionary[ "sex" ] = var2str( self.sex )
|
dictionary[ "sex" ] = var2str( self.sex )
|
||||||
dictionary[ "female_boobs" ] = var2str( self.female_boobs )
|
dictionary[ "female_boobs" ] = var2str( self.female_boobs )
|
||||||
dictionary[ "female_hip" ] = var2str( self.female_hip )
|
dictionary[ "female_hip" ] = var2str( self.female_hip )
|
||||||
dictionary[ "male_pack" ] = var2str( self.male_pack )
|
dictionary[ "male_pack" ] = var2str( self.male_pack )
|
||||||
dictionary[ "male_throat" ] = var2str( self.male_throat )
|
dictionary[ "male_throat" ] = var2str( self.male_throat )
|
||||||
dictionary[ "female_pregnant" ] = var2str( self.female_pregnant )
|
dictionary[ "female_pregnant" ] = var2str( self.female_pregnant )
|
||||||
|
|
||||||
dictionary[ "color" ] = var2str( self.color )
|
dictionary[ "color" ] = var2str( self.color )
|
||||||
|
|
||||||
|
|
||||||
return dictionary
|
return dictionary
|
||||||
|
|
||||||
func from_dictionary( dictionary ):
|
func from_dictionary( dictionary ):
|
||||||
|
|
||||||
self.pseudonym = dictionary.get( "pseudonym", self.pseudonym )
|
self.pseudonym = dictionary.get( "pseudonym", self.pseudonym )
|
||||||
|
|
||||||
self.sex = dictionary.get( "sex", self.sex )
|
self.sex = dictionary.get( "sex", self.sex )
|
||||||
self.female_boobs = dictionary.get( "female_boobs", self.female_boobs )
|
self.female_boobs = dictionary.get( "female_boobs", self.female_boobs )
|
||||||
self.female_hip = dictionary.get( "female_hip", self.female_hip )
|
self.female_hip = dictionary.get( "female_hip", self.female_hip )
|
||||||
self.male_pack = dictionary.get( "male_pack", self.male_pack )
|
self.male_pack = dictionary.get( "male_pack", self.male_pack )
|
||||||
self.male_throat = dictionary.get( "male_throat", self.male_throat )
|
self.male_throat = dictionary.get( "male_throat", self.male_throat )
|
||||||
self.female_pregnant = dictionary.get( "female_pregnant", self.female_pregnant )
|
self.female_pregnant = dictionary.get( "female_pregnant", self.female_pregnant )
|
||||||
|
|
||||||
self.color = dictionary.get( "color", self.color )
|
self.color = dictionary.get( "color", self.color )
|
||||||
|
|
||||||
func from_file( filename ):
|
func from_file( filename ):
|
||||||
var file = File.new()
|
var file = File.new()
|
||||||
if file.file_exists( "user://creatures/" + filename ):
|
if file.file_exists( "user://creatures/" + filename ):
|
||||||
file.open( "user://creatures/" + filename, File.READ )
|
file.open( "user://creatures/" + filename, File.READ )
|
||||||
var lines = ""
|
var lines = ""
|
||||||
while not file.eof_reached():
|
while not file.eof_reached():
|
||||||
var current_line = file.get_line()
|
var current_line = file.get_line()
|
||||||
lines += current_line
|
lines += current_line
|
||||||
var json = JSON.parse( lines ).result
|
var json = JSON.parse( lines ).result
|
||||||
var dict = {}
|
var dict = {}
|
||||||
for data in json:
|
for data in json:
|
||||||
dict[ data ] = str2var( json[data] )
|
dict[ data ] = str2var( json[data] )
|
||||||
|
|
||||||
|
|
||||||
self.from_dictionary( dict )
|
self.from_dictionary( dict )
|
||||||
|
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
|
|
|
@ -4,31 +4,31 @@ signal connection_ok
|
||||||
signal connection_error( message )
|
signal connection_error( message )
|
||||||
|
|
||||||
func do_request(username, password):
|
func do_request(username, password):
|
||||||
var message = load("res://ressources/scripts/nel/nel_login_message.gd")
|
var message = load("res://ressources/scripts/nel/nel_login_message.gd")
|
||||||
if message:
|
if message:
|
||||||
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");
|
||||||
# $http_request.request("http://lirria.khaganat.net/login/r2_login.php?" + message.get_request_string());
|
# $http_request.request("http://lirria.khaganat.net/login/r2_login.php?" + message.get_request_string());
|
||||||
$http_request.request("http://149.91.80.160/login/r2_login.php?" + message.get_request_string());
|
$http_request.request("http://149.91.80.160/login/r2_login.php?" + message.get_request_string());
|
||||||
|
|
||||||
|
|
||||||
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)
|
||||||
# Add 'Content-Type' header:
|
# Add 'Content-Type' header:
|
||||||
var headers = ["Content-Type: application/json"]
|
var headers = ["Content-Type: application/json"]
|
||||||
$http_request.request(url, headers, use_ssl, HTTPClient.METHOD_POST, query)
|
$http_request.request(url, headers, use_ssl, HTTPClient.METHOD_POST, query)
|
||||||
|
|
||||||
|
|
||||||
func _on_http_request_request_completed(result, response_code, headers, body):
|
func _on_http_request_request_completed(result, response_code, headers, body):
|
||||||
print( response_code )
|
print( response_code )
|
||||||
if ProjectSettings.get_setting("khanat/debug_mode"):
|
if ProjectSettings.get_setting("khanat/debug_mode"):
|
||||||
emit_signal( "connection_ok" )
|
emit_signal( "connection_ok" )
|
||||||
elif not response_code == 200:
|
elif not response_code == 200:
|
||||||
emit_signal( "connection_error", "Erreur de connexion." )
|
emit_signal( "connection_error", "Erreur de connexion." )
|
||||||
else:
|
else:
|
||||||
var s = body.get_string_from_utf8().split(":")
|
var s = body.get_string_from_utf8().split(":")
|
||||||
if(s[0] != "0"):
|
if(s[0] != "0"):
|
||||||
var server_info_script = load("res://ressources/scripts/nel/nel_server_infos.gd");
|
var server_info_script = load("res://ressources/scripts/nel/nel_server_infos.gd");
|
||||||
var server_info = server_info_script.nel_server_info.new(body.get_string_from_utf8());
|
var server_info = server_info_script.nel_server_info.new(body.get_string_from_utf8());
|
||||||
emit_signal( "connection_ok" )
|
emit_signal( "connection_ok" )
|
||||||
# No error so login was successful.
|
# No error so login was successful.
|
||||||
|
|
|
@ -17,7 +17,7 @@ func _on_control_quit_pressed():
|
||||||
emit_signal( "quit_pressed" )
|
emit_signal( "quit_pressed" )
|
||||||
|
|
||||||
func _on_control_mute_pressed():
|
func _on_control_mute_pressed():
|
||||||
#Config.msg_debug("")
|
Config.msg_debug("_on_control_mute_pressed")
|
||||||
#emit_signal( "mute_pressed" )
|
#emit_signal( "mute_pressed" )
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,54 @@
|
||||||
extends Button
|
extends Node
|
||||||
|
|
||||||
signal music_selected( filename )
|
signal music_selected( filename )
|
||||||
|
signal del_pressed(slot)
|
||||||
|
signal down_pressed(slot)
|
||||||
|
signal up_pressed(slot)
|
||||||
|
|
||||||
|
var id = 0
|
||||||
|
|
||||||
|
func set_music(_filename, _id):
|
||||||
|
$musicplayer.text = _filename
|
||||||
|
self.id = _id
|
||||||
|
|
||||||
|
|
||||||
|
func set_disabled():
|
||||||
|
$musicplayer.disabled = true
|
||||||
|
|
||||||
|
|
||||||
|
func set_play():
|
||||||
|
$musicplayer.disabled = true
|
||||||
|
|
||||||
|
|
||||||
|
func set_unplay():
|
||||||
|
$musicplayer.disabled = false
|
||||||
|
|
||||||
|
|
||||||
|
func get_music():
|
||||||
|
return $musicplayer.text
|
||||||
|
|
||||||
|
|
||||||
|
func get_id():
|
||||||
|
return self.id
|
||||||
|
|
||||||
var music_filename = ""
|
|
||||||
|
|
||||||
func _on_music_button_pressed():
|
func _on_music_button_pressed():
|
||||||
emit_signal( "music_selected", self.music_filename )
|
emit_signal( "music_selected", $musicplayer.text )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_music_button_music_selected(filename):
|
||||||
|
Config.msg_debug(filename)
|
||||||
|
MusicManager.play_music(filename)
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
func _on_down_pressed():
|
||||||
|
emit_signal( "down_pressed", self.id )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_up_pressed():
|
||||||
|
emit_signal( "up_pressed", self.id )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_del_pressed():
|
||||||
|
emit_signal( "del_pressed", self.id )
|
||||||
|
|
|
@ -1,13 +1,63 @@
|
||||||
[gd_scene load_steps=2 format=2]
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scenes/interfaces/music_manager/music_button.gd" type="Script" id=1]
|
[ext_resource path="res://scenes/interfaces/music_manager/music_button.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://assets/interfaces/buttons/del.png" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://assets/interfaces/buttons/down.png" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://assets/interfaces/buttons/up.png" type="Texture" id=4]
|
||||||
|
|
||||||
[node name="music_button" type="Button"]
|
[node name="music_button" type="HBoxContainer"]
|
||||||
margin_right = 12.0
|
margin_right = 150.0
|
||||||
margin_bottom = 20.0
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[connection signal="pressed" from="." to="." method="_on_music_button_pressed"]
|
[node name="up" type="TextureButton" parent="."]
|
||||||
|
margin_top = 2.0
|
||||||
|
margin_right = 16.0
|
||||||
|
margin_bottom = 18.0
|
||||||
|
size_flags_vertical = 6
|
||||||
|
texture_normal = ExtResource( 4 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="down" type="TextureButton" parent="."]
|
||||||
|
margin_left = 20.0
|
||||||
|
margin_top = 2.0
|
||||||
|
margin_right = 36.0
|
||||||
|
margin_bottom = 18.0
|
||||||
|
size_flags_vertical = 6
|
||||||
|
texture_normal = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="musicplayer" type="Button" parent="."]
|
||||||
|
margin_left = 40.0
|
||||||
|
margin_right = 130.0
|
||||||
|
margin_bottom = 20.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="del" type="TextureButton" parent="."]
|
||||||
|
margin_left = 134.0
|
||||||
|
margin_top = 2.0
|
||||||
|
margin_right = 150.0
|
||||||
|
margin_bottom = 18.0
|
||||||
|
size_flags_horizontal = 8
|
||||||
|
size_flags_vertical = 6
|
||||||
|
texture_normal = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[connection signal="music_selected" from="." to="." method="_on_music_button_music_selected"]
|
||||||
|
[connection signal="pressed" from="up" to="." method="_on_up_pressed"]
|
||||||
|
[connection signal="pressed" from="down" to="." method="_on_down_pressed"]
|
||||||
|
[connection signal="pressed" from="musicplayer" to="." method="_on_music_button_pressed"]
|
||||||
|
[connection signal="pressed" from="del" to="." method="_on_del_pressed"]
|
||||||
|
|
|
@ -1,37 +1,31 @@
|
||||||
extends WindowDialog
|
extends WindowDialog
|
||||||
|
|
||||||
onready var audio_player = $music
|
signal mute_pressed
|
||||||
|
signal musicplayer_pressed
|
||||||
|
|
||||||
|
|
||||||
|
onready var music_player = $music
|
||||||
|
|
||||||
|
var playlist_music = { 'player': [], 'global': ["res://assets/musics/sangakanat_ames_voyageuses.ogg"] }
|
||||||
|
var lastdomain = "global"
|
||||||
|
var currentmusic = ""
|
||||||
|
|
||||||
|
var numberchannelplayeraudio = 1
|
||||||
|
var cacheplayeraudio = []
|
||||||
|
var music_play = false
|
||||||
|
var bus = "master"
|
||||||
|
var next_id = 0
|
||||||
|
var pause = false
|
||||||
|
var disable_execution_mute:bool = false
|
||||||
|
var playback_position_before_pause = 0
|
||||||
|
var last_update_playermusic = false
|
||||||
|
|
||||||
func load_external_music(filepath):
|
|
||||||
var stream = null
|
|
||||||
Config.msg_debug("")
|
|
||||||
var file = File.new()
|
|
||||||
file.open(filepath, file.READ)
|
|
||||||
var ext = filepath.split(".")[-1].to_lower()
|
|
||||||
var buffer = file.get_buffer(file.get_len())
|
|
||||||
Config.msg_debug(ext)
|
|
||||||
match ext:
|
|
||||||
"ogg":
|
|
||||||
stream = AudioStreamOGGVorbis.new()
|
|
||||||
"mp3":
|
|
||||||
stream = AudioStreamMP3.new()
|
|
||||||
#"wav":
|
|
||||||
# # We need decode message to get format
|
|
||||||
# stream = AudioStreamSample.new()
|
|
||||||
# stream.format = AudioStreamSample.FORMAT_16_BITS
|
|
||||||
# #stream.stereo = true
|
|
||||||
_:
|
|
||||||
Config.msg_error("Impossible to identify type of file (file:" + filepath + ", ext:" + ext + ")")
|
|
||||||
return
|
|
||||||
stream.data = buffer
|
|
||||||
audio_player.stream = stream
|
|
||||||
Config.msg_debug("")
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var directory = Directory.new()
|
var directory = Directory.new()
|
||||||
get_tree().paused = false
|
get_tree().paused = false
|
||||||
Config.msg_debug("")
|
Config.msg_debug("Load MusicManager")
|
||||||
|
self.last_update_playermusic = Config.get_playermusic()
|
||||||
if not directory.dir_exists( "user://musics/" ):
|
if not directory.dir_exists( "user://musics/" ):
|
||||||
directory.make_dir_recursive( "user://musics/" )
|
directory.make_dir_recursive( "user://musics/" )
|
||||||
directory.open( "user://musics/" )
|
directory.open( "user://musics/" )
|
||||||
|
@ -44,74 +38,475 @@ func _ready():
|
||||||
elif not file.begins_with(".") and not directory.current_is_dir() and not file.ends_with( ".import" ):
|
elif not file.begins_with(".") and not directory.current_is_dir() and not file.ends_with( ".import" ):
|
||||||
files.append(file)
|
files.append(file)
|
||||||
directory.list_dir_end()
|
directory.list_dir_end()
|
||||||
|
# for file in files:
|
||||||
for file in files:
|
# var button = preload( "res://scenes/interfaces/music_manager/music_button.tscn" ).instance()
|
||||||
var button = preload( "res://scenes/interfaces/music_manager/music_button.tscn" ).instance()
|
# button.music_filename = "res://assets/musics/" + file
|
||||||
button.music_filename = "res://assets/musics/" + file
|
# button.text = file
|
||||||
button.text = file
|
# button.connect( "music_selected", self, "_on_music_pressed" )
|
||||||
button.connect( "music_selected", self, "_on_music_pressed" )
|
# $window_box/scroll_box/musics_box.add_child( button )
|
||||||
$window_box/scroll_box/musics_box.add_child( button )
|
for file in Config.queuemusic:
|
||||||
|
# # Config.msg_debug(str(file))
|
||||||
audio_player.stream = load( "res://assets/musics/sangakanat_ames_voyageuses.ogg" )
|
add_music( file )
|
||||||
#add_music(audio_player)
|
|
||||||
#audio_player.set_volume_db(linear2db(0.5))
|
|
||||||
#audio_player.set_volume_db(1.0)
|
|
||||||
audio_player.play()
|
|
||||||
#audio_player.set_volume_db(1.0)
|
|
||||||
#audioPlayer.play()
|
|
||||||
update_volume_db()
|
update_volume_db()
|
||||||
Config.msg_debug("Load End")
|
#musicplayer = AudioStreamPlayer.new()
|
||||||
|
#self.add_child(music_player)
|
||||||
|
# update_playermusic()
|
||||||
|
if Config.mute:
|
||||||
|
set_mute_on()
|
||||||
|
else:
|
||||||
|
set_mute_off()
|
||||||
|
music_player.connect("finished", self, "_on_stream_finished", [])
|
||||||
|
|
||||||
|
|
||||||
|
func connect_ext( signal_name, target ):
|
||||||
|
Config.msg_debug("Connect external [signal:" + signal_name + ", func:" + "_on_signal_" + signal_name + "]")
|
||||||
|
target.connect( signal_name, self, "_on_signal_" + signal_name )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_stream_finished():
|
||||||
|
# When finished playing a stream, make the player available again.
|
||||||
|
Config.msg_debug("_on_stream_finished")
|
||||||
|
music_play = false
|
||||||
|
|
||||||
|
|
||||||
|
func play_music(filename: String):
|
||||||
|
Config.msg_debug("path:" + str(filename))
|
||||||
|
music_player.stream = load_music( filename )
|
||||||
|
music_player.play()
|
||||||
|
currentmusic = filename
|
||||||
|
music_play = true
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if Config.mute:
|
||||||
|
child.set_disabled()
|
||||||
|
elif child.get_music() == filename or not Config.playermusic :
|
||||||
|
child.set_play()
|
||||||
|
else:
|
||||||
|
child.set_unplay()
|
||||||
|
|
||||||
|
|
||||||
|
func load_playlist():
|
||||||
|
Config.msg_debug("load_playlist")
|
||||||
|
var domain="global"
|
||||||
|
var pos = 0
|
||||||
|
var posmusic = -1
|
||||||
|
# if Config.mute:
|
||||||
|
# if music_play:
|
||||||
|
# Config.msg_debug("mute")
|
||||||
|
# music_player.set_pause_mode(true)
|
||||||
|
# return
|
||||||
|
if music_play:
|
||||||
|
music_player.set_pause_mode(false)
|
||||||
|
# music_player.queue_free()
|
||||||
|
if Config.playermusic:
|
||||||
|
domain="player"
|
||||||
|
if domain != lastdomain:
|
||||||
|
Config.msg_debug("Change domain:" + domain)
|
||||||
|
currentmusic = ""
|
||||||
|
posmusic = -1
|
||||||
|
lastdomain = domain
|
||||||
|
if len(playlist_music[domain]) == 0:
|
||||||
|
Config.msg_debug("No musique on" + domain)
|
||||||
|
music_player.stop()
|
||||||
|
return
|
||||||
|
for path in playlist_music[domain]:
|
||||||
|
if Config.playermusic:
|
||||||
|
if currentmusic == path.get_music():
|
||||||
|
posmusic = pos
|
||||||
|
Config.msg_debug("Change domain:" + domain + " posmusic:" + str(posmusic))
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
if currentmusic == path:
|
||||||
|
posmusic = pos
|
||||||
|
Config.msg_debug("Change domain:" + domain + " posmusic:" + str(posmusic))
|
||||||
|
break
|
||||||
|
pos += 1
|
||||||
|
Config.msg_debug("Change domain:" + domain + " posmusic" + str(posmusic))
|
||||||
|
if posmusic == -1:
|
||||||
|
posmusic = 0
|
||||||
|
Config.msg_debug("init:" + str(posmusic) + " / " + str(len(playlist_music[domain])))
|
||||||
|
else:
|
||||||
|
posmusic = (posmusic + 1) % len(playlist_music[domain])
|
||||||
|
Config.msg_debug("next:" + str(posmusic))
|
||||||
|
var path = playlist_music[domain][posmusic]
|
||||||
|
if Config.playermusic:
|
||||||
|
currentmusic = path.get_music()
|
||||||
|
else:
|
||||||
|
currentmusic = path
|
||||||
|
play_music(currentmusic)
|
||||||
|
# Config.msg_debug("path:" + str(currentmusic))
|
||||||
|
# music_player.stream = load_music( currentmusic )
|
||||||
|
# music_player.play()
|
||||||
|
# play_music = true
|
||||||
|
#audio_player.add_child()
|
||||||
|
|
||||||
|
|
||||||
|
func _process(_delta):
|
||||||
|
if not pause and not music_play and not Config.mute:
|
||||||
|
Config.msg_debug("next")
|
||||||
|
load_playlist()
|
||||||
|
# music_player.stream = load_music(queuemusic.pop_front())
|
||||||
|
# music_player.play()
|
||||||
|
# music_play = true
|
||||||
|
|
||||||
|
|
||||||
|
func load_external_music(filepath):
|
||||||
|
var stream = null
|
||||||
|
Config.msg_debug("load_external_music")
|
||||||
|
var file = File.new()
|
||||||
|
file.open(filepath, file.READ)
|
||||||
|
var ext = filepath.split(".")[-1].to_lower()
|
||||||
|
var buffer = file.get_buffer(file.get_len())
|
||||||
|
Config.msg_debug(ext)
|
||||||
|
match ext:
|
||||||
|
"ogg":
|
||||||
|
stream = AudioStreamOGGVorbis.new()
|
||||||
|
"mp3":
|
||||||
|
stream = AudioStreamMP3.new()
|
||||||
|
#"wav":
|
||||||
|
# # We need decode message to get format (Stero/size bit/ ...
|
||||||
|
# stream = AudioStreamSample.new()
|
||||||
|
# stream.format = AudioStreamSample.FORMAT_16_BITS
|
||||||
|
# #stream.stereo = true
|
||||||
|
_:
|
||||||
|
Config.msg_error("Impossible to identify type of file (file:" + filepath + ", ext:" + ext + ")")
|
||||||
|
return
|
||||||
|
stream.data = buffer
|
||||||
|
Config.msg_debug("load_external_music : End")
|
||||||
|
return stream
|
||||||
|
|
||||||
|
|
||||||
|
func load_music(filepath: String):
|
||||||
|
if filepath.left(5) == "res:/":
|
||||||
|
return load( filepath )
|
||||||
|
return load_external_music(filepath)
|
||||||
|
|
||||||
|
|
||||||
|
func reinitialize():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func play_next_music(stream):
|
||||||
|
Config.msg_debug("play_next_music")
|
||||||
|
|
||||||
|
|
||||||
func update_volume_db():
|
func update_volume_db():
|
||||||
|
Config.msg_debug("update_volume_db")
|
||||||
if Config.mute:
|
if Config.mute:
|
||||||
audio_player.set_volume_db(linear2db(0.0))
|
music_player.set_volume_db(linear2db(0.0))
|
||||||
audio_player.set_pause_mode(true)
|
music_player.set_pause_mode(true)
|
||||||
|
#update_playermusic()
|
||||||
return
|
return
|
||||||
var lvl = Config.sound_lvl_global * Config.sound_lvl_music / 10000.0
|
var lvl = Config.sound_lvl_global * Config.sound_lvl_music / 10000.0
|
||||||
audio_player.set_volume_db(linear2db(lvl))
|
music_player.set_volume_db(linear2db(lvl))
|
||||||
audio_player.set_pause_mode(false)
|
music_player.set_pause_mode(false)
|
||||||
|
#update_playermusic()
|
||||||
|
|
||||||
|
|
||||||
func set_sound_mute(value: bool):
|
func set_sound_mute(value: bool):
|
||||||
|
Config.msg_debug("set_sound_mute")
|
||||||
Config.set_sound_mute(value)
|
Config.set_sound_mute(value)
|
||||||
update_volume_db()
|
update_volume_db()
|
||||||
|
Config.save_config()
|
||||||
|
|
||||||
|
|
||||||
func set_level_global(value: int):
|
func set_level_global(value: int):
|
||||||
|
Config.msg_debug("set_level_global")
|
||||||
Config.sound_lvl_global = value
|
Config.sound_lvl_global = value
|
||||||
update_volume_db()
|
update_volume_db()
|
||||||
|
|
||||||
|
|
||||||
func set_level_music(value: int):
|
func set_level_music(value: int):
|
||||||
|
Config.msg_debug("set_level_music")
|
||||||
Config.sound_lvl_music = value
|
Config.sound_lvl_music = value
|
||||||
update_volume_db()
|
update_volume_db()
|
||||||
|
|
||||||
|
|
||||||
func set_level_effect(value: int):
|
func set_level_effect(value: int):
|
||||||
|
Config.msg_debug("set_level_effect")
|
||||||
Config.sound_lvl_effect = value
|
Config.sound_lvl_effect = value
|
||||||
update_volume_db()
|
update_volume_db()
|
||||||
|
|
||||||
func add_music(file):
|
|
||||||
var button = preload( "res://scenes/interfaces/music_manager/music_button.tscn" ).instance()
|
func clear_music():
|
||||||
button.music_filename = file
|
pass
|
||||||
button.text = file
|
|
||||||
button.connect( "music_selected", self, "_on_music_pressed" )
|
|
||||||
$window_box/scroll_box/musics_box.add_child( button )
|
func load_music_to_config():
|
||||||
|
Config.msg_debug("load_music_to_config")
|
||||||
|
Config.queuemusic = []
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
Config.queuemusic.append( child.get_music() )
|
||||||
|
Config.save_config()
|
||||||
|
|
||||||
|
|
||||||
|
func add_music(file: String):
|
||||||
|
var music_box = preload( "res://scenes/interfaces/music_manager/music_button.tscn" ).instance()
|
||||||
|
music_box.set_music( file, self.next_id )
|
||||||
|
music_box.connect( "del_pressed", self, "_on_music_box_delete_pressed" )
|
||||||
|
music_box.connect( "down_pressed", self, "_on_music_box_down_pressed" )
|
||||||
|
music_box.connect( "up_pressed", self, "_on_music_box_up_pressed" )
|
||||||
|
$window_box/scroll_box/musics_box.add_child( music_box )
|
||||||
|
self.next_id += 1
|
||||||
|
playlist_music['player'] = $window_box/scroll_box/musics_box.get_children()
|
||||||
|
load_music_to_config()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_music_box_delete_pressed( id ):
|
||||||
|
Config.msg_debug("_on_music_box_delete_pressed")
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.id == id:
|
||||||
|
child.queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_music_box_down_pressed( id ):
|
||||||
|
Config.msg_debug("_on_music_box_down_pressed")
|
||||||
|
var pos = 0
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.id == id:
|
||||||
|
break
|
||||||
|
pos += 1
|
||||||
|
if pos >= $window_box/scroll_box/musics_box.get_child_count():
|
||||||
|
Config.msg_error("Out of range : " + "pos:" + str(pos) + " count:" + str($window_box/scroll_box/musics_box.get_child_count()))
|
||||||
|
return
|
||||||
|
self.move_child_id(id, pos + 1)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_music_box_up_pressed( id ):
|
||||||
|
Config.msg_debug("_on_music_box_up_pressed")
|
||||||
|
var pos = 0
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.get_id() == id:
|
||||||
|
break
|
||||||
|
pos += 1
|
||||||
|
if pos <= 0:
|
||||||
|
Config.msg_error("Out of range : " + "pos:" + str(pos))
|
||||||
|
return
|
||||||
|
self.move_child_id(id, pos - 1)
|
||||||
|
|
||||||
|
|
||||||
|
func move_child(music_filename, pos):
|
||||||
|
var ele = null
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.get_music() == music_filename:
|
||||||
|
ele = child
|
||||||
|
break
|
||||||
|
if ele:
|
||||||
|
$window_box/scroll_box/musics_box.move_child(ele, pos)
|
||||||
|
playlist_music['player'] = $window_box/scroll_box/musics_box.get_children()
|
||||||
|
|
||||||
|
|
||||||
|
func move_child_id(id, pos):
|
||||||
|
var ele = null
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.get_id() == id:
|
||||||
|
ele = child
|
||||||
|
break
|
||||||
|
if ele:
|
||||||
|
$window_box/scroll_box/musics_box.move_child(ele, pos)
|
||||||
|
playlist_music['player'] = $window_box/scroll_box/musics_box.get_children()
|
||||||
|
load_music_to_config()
|
||||||
|
|
||||||
|
|
||||||
func open():
|
func open():
|
||||||
|
Config.msg_debug("Open")
|
||||||
|
update_playermusic()
|
||||||
self.popup()
|
self.popup()
|
||||||
|
|
||||||
|
|
||||||
func close():
|
func close():
|
||||||
|
Config.msg_debug("Close")
|
||||||
self.hide()
|
self.hide()
|
||||||
|
|
||||||
|
|
||||||
func toggle():
|
func toggle():
|
||||||
|
Config.msg_debug("toggle")
|
||||||
if self.visible:
|
if self.visible:
|
||||||
self.close()
|
self.close()
|
||||||
else:
|
else:
|
||||||
self.open()
|
self.open()
|
||||||
|
|
||||||
|
|
||||||
func _on_music_pressed( p_filename ):
|
func _on_music_pressed():
|
||||||
Config.msg_debug(p_filename)
|
Config.msg_debug("Music")
|
||||||
#audio_player.stream = load( p_filename )
|
|
||||||
#audio_player.set_volume_db(1.0)
|
|
||||||
#audio_player.play()
|
|
||||||
|
|
||||||
#$music.stream = load( p_filename )
|
|
||||||
#$music.play()
|
func _on_music_bis_pressed( p_filename ):
|
||||||
|
Config.msg_debug(p_filename)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_previous_pressed():
|
||||||
|
Config.msg_debug("Previous")
|
||||||
|
var previous = null
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.get_music() == currentmusic:
|
||||||
|
if previous != null:
|
||||||
|
pause = false
|
||||||
|
play_music(previous.get_music())
|
||||||
|
return
|
||||||
|
previous = child
|
||||||
|
|
||||||
|
|
||||||
|
func _on_pause_pressed():
|
||||||
|
Config.msg_debug("Pause")
|
||||||
|
if pause:
|
||||||
|
return
|
||||||
|
pause = true
|
||||||
|
playback_position_before_pause = music_player.get_playback_position( )
|
||||||
|
#music_player.stop()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_play_pressed():
|
||||||
|
Config.msg_debug("Play")
|
||||||
|
if not pause:
|
||||||
|
return
|
||||||
|
music_player.play(playback_position_before_pause)
|
||||||
|
pause = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_next_pressed():
|
||||||
|
Config.msg_debug("Next")
|
||||||
|
var detected = false
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.get_music() == currentmusic:
|
||||||
|
detected = true
|
||||||
|
break
|
||||||
|
if detected:
|
||||||
|
pause = false
|
||||||
|
play_music(child.get_music())
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_sound_pressed():
|
||||||
|
Config.msg_debug("Music")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_soundeffect_pressed():
|
||||||
|
Config.msg_debug("Sound Effect")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_auto_pressed():
|
||||||
|
Config.msg_debug("Auto")
|
||||||
|
Config.set_playermusic(not Config.get_playermusic())
|
||||||
|
Config.save_config()
|
||||||
|
emit_signal( "musicplayer_pressed" )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mute_toggled(button_pressed):
|
||||||
|
Config.msg_debug("Mute")
|
||||||
|
MusicManager.set_sound_mute(button_pressed)
|
||||||
|
emit_signal( "mute_pressed" )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mute_pressed():
|
||||||
|
Config.msg_debug("Button JukeBox Mute")
|
||||||
|
MusicManager.set_sound_mute(not Config.mute)
|
||||||
|
emit_signal( "mute_pressed" )
|
||||||
|
|
||||||
|
|
||||||
|
func set_playermusic_on():
|
||||||
|
Config.msg_debug("playermusic on")
|
||||||
|
$window_box/controls_box/h_box_container_3/auto.texture_normal = load ( "res://assets/interfaces/jukebox/auto_on.png")
|
||||||
|
|
||||||
|
|
||||||
|
func set_playermusic_off():
|
||||||
|
Config.msg_debug("playermusic off")
|
||||||
|
$window_box/controls_box/h_box_container_3/auto.texture_normal = load ( "res://assets/interfaces/jukebox/auto_off.png")
|
||||||
|
Config.msg_debug("playermusic off : End")
|
||||||
|
|
||||||
|
|
||||||
|
func set_mute_on():
|
||||||
|
Config.msg_debug("mute on")
|
||||||
|
self.disable_execution_mute = true
|
||||||
|
$window_box/controls_box/h_box_container/mute.texture_normal = load ( "res://assets/interfaces/jukebox/sound_off.png")
|
||||||
|
self.disable_execution_mute = false
|
||||||
|
|
||||||
|
|
||||||
|
func set_mute_off():
|
||||||
|
Config.msg_debug("mute off")
|
||||||
|
self.disable_execution_mute = true
|
||||||
|
$window_box/controls_box/h_box_container/mute.texture_normal = load ( "res://assets/interfaces/jukebox/sound_on.png")
|
||||||
|
self.disable_execution_mute = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_add_pressed():
|
||||||
|
Config.msg_debug("")
|
||||||
|
$file_dialog.show()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_file_dialog_files_selected(paths):
|
||||||
|
Config.msg_debug("multi files")
|
||||||
|
#if self.slots_number > 0:
|
||||||
|
# self.slots[self.slots_number - 1].disable_down()
|
||||||
|
for path in paths:
|
||||||
|
var found = false
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.get_music() == path:
|
||||||
|
found = true
|
||||||
|
break
|
||||||
|
if found:
|
||||||
|
continue
|
||||||
|
Config.msg_debug("file: "+ path)
|
||||||
|
MusicManager.add_music(path)
|
||||||
|
self.next_id += 1
|
||||||
|
self.open()
|
||||||
|
|
||||||
|
|
||||||
|
func update_playermusic():
|
||||||
|
Config.msg_debug("update_playermusic")
|
||||||
|
if Config.get_playermusic():
|
||||||
|
#Config.msg_debug("update_playermusic: player music")
|
||||||
|
set_playermusic_on()
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
if child.get_music() == currentmusic:
|
||||||
|
#Config.msg_debug("update_playermusic: player music : on " + child.get_music())
|
||||||
|
child.set_play()
|
||||||
|
elif Config.mute:
|
||||||
|
child.set_disabled()
|
||||||
|
else:
|
||||||
|
#Config.msg_debug("update_playermusic: player music : off " + child.get_music())
|
||||||
|
child.set_unplay()
|
||||||
|
else:
|
||||||
|
#Config.msg_debug("update_playermusic: khanat music")
|
||||||
|
set_playermusic_off()
|
||||||
|
for child in $window_box/scroll_box/musics_box.get_children():
|
||||||
|
child.set_disabled()
|
||||||
|
if last_update_playermusic != Config.get_playermusic():
|
||||||
|
Config.msg_debug("*** last_update_playermusic different ***")
|
||||||
|
load_playlist()
|
||||||
|
last_update_playermusic = Config.get_playermusic()
|
||||||
|
Config.msg_debug("update_playermusic : End")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_check_button_toggled(button_pressed):
|
||||||
|
Config.msg_debug("_on_check_button_toggled")
|
||||||
|
#Config.set_playermusic(not Config.get_playermusic())
|
||||||
|
Config.set_playermusic(button_pressed)
|
||||||
|
emit_signal( "musicplayer_toggled" , not Config.playermusic )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_music_manager_musicplayer_pressed():
|
||||||
|
Config.msg_debug("Signal musicplayer_pressed recieved on MusicManager")
|
||||||
|
update_playermusic()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_music_manager_mute_pressed():
|
||||||
|
Config.msg_debug("Signal mute_pressed")
|
||||||
|
update_playermusic()
|
||||||
|
if Config.mute:
|
||||||
|
set_mute_on()
|
||||||
|
else:
|
||||||
|
set_mute_off()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_signal_mute_pressed():
|
||||||
|
Config.msg_debug("<MusicManager> Received signal mute")
|
||||||
|
update_playermusic()
|
||||||
|
if Config.mute:
|
||||||
|
set_mute_on()
|
||||||
|
else:
|
||||||
|
set_mute_off()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_signal_musicplayer_pressed():
|
||||||
|
Config.msg_debug("<MusicManager> Received signal musicplayer")
|
||||||
|
update_playermusic()
|
||||||
|
|
|
@ -1,29 +1,48 @@
|
||||||
[gd_scene load_steps=6 format=2]
|
[gd_scene load_steps=11 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://assets/interfaces/music_manager/play.png" type="Texture" id=1]
|
[ext_resource path="res://assets/interfaces/music_manager/play.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://assets/interfaces/music_manager/previous.png" type="Texture" id=2]
|
[ext_resource path="res://assets/interfaces/music_manager/previous.png" type="Texture" id=2]
|
||||||
[ext_resource path="res://assets/interfaces/music_manager/next.png" type="Texture" id=3]
|
[ext_resource path="res://assets/interfaces/music_manager/next.png" type="Texture" id=3]
|
||||||
[ext_resource path="res://assets/interfaces/music_manager/pause.png" type="Texture" id=4]
|
[ext_resource path="res://assets/interfaces/music_manager/pause.png" type="Texture" id=4]
|
||||||
[ext_resource path="res://scenes/interfaces/music_manager/music_manager.gd" type="Script" id=5]
|
[ext_resource path="res://scenes/interfaces/music_manager/music_manager.gd" type="Script" id=5]
|
||||||
|
[ext_resource path="res://assets/interfaces/jukebox/soundeffect_on.png" type="Texture" id=6]
|
||||||
|
[ext_resource path="res://assets/interfaces/jukebox/music_on.png" type="Texture" id=7]
|
||||||
|
[ext_resource path="res://assets/interfaces/jukebox/sound_on.png" type="Texture" id=8]
|
||||||
|
[ext_resource path="res://assets/interfaces/jukebox/auto_on.png" type="Texture" id=9]
|
||||||
|
[ext_resource path="res://assets/interfaces/buttons/add.png" type="Texture" id=10]
|
||||||
|
|
||||||
[node name="music_manager" type="WindowDialog"]
|
[node name="music_manager" type="WindowDialog"]
|
||||||
anchor_left = 0.5
|
anchor_left = 0.45
|
||||||
anchor_top = 0.5
|
anchor_top = 0.411
|
||||||
anchor_right = 0.5
|
anchor_right = 0.817
|
||||||
anchor_bottom = 0.5
|
anchor_bottom = 0.651
|
||||||
margin_left = -64.0
|
margin_top = 0.0799866
|
||||||
margin_top = -64.0
|
margin_right = 0.23999
|
||||||
margin_right = 64.0
|
margin_bottom = 0.279968
|
||||||
margin_bottom = 64.0
|
|
||||||
rect_min_size = Vector2( 256, 128 )
|
rect_min_size = Vector2( 256, 128 )
|
||||||
popup_exclusive = true
|
window_title = "JUKEBOX_TITLE"
|
||||||
window_title = "Juke box"
|
|
||||||
resizable = true
|
resizable = true
|
||||||
script = ExtResource( 5 )
|
script = ExtResource( 5 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="file_dialog" type="FileDialog" parent="."]
|
||||||
|
margin_right = 538.0
|
||||||
|
margin_bottom = 326.0
|
||||||
|
popup_exclusive = true
|
||||||
|
window_title = "Ouvrir un ou plusieurs fichiers"
|
||||||
|
resizable = true
|
||||||
|
mode = 1
|
||||||
|
access = 2
|
||||||
|
filters = PoolStringArray( "*.mp3,*.ogg" )
|
||||||
|
show_hidden_files = true
|
||||||
|
current_dir = "/home/aleajactaest/Projets/khanat/khanat-client-new"
|
||||||
|
current_path = "/home/aleajactaest/Projets/khanat/khanat-client-new/"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
[node name="window_box" type="VBoxContainer" parent="."]
|
[node name="window_box" type="VBoxContainer" parent="."]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
|
@ -32,45 +51,126 @@ __meta__ = {
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="controls_box" type="HBoxContainer" parent="window_box"]
|
[node name="controls_box" type="HBoxContainer" parent="window_box"]
|
||||||
margin_left = 90.0
|
margin_right = 470.0
|
||||||
margin_right = 166.0
|
margin_bottom = 16.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
|
[node name="h_box_container_4" type="HBoxContainer" parent="window_box/controls_box"]
|
||||||
|
margin_right = 152.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
size_flags_horizontal = 7
|
||||||
|
|
||||||
|
[node name="add" type="TextureButton" parent="window_box/controls_box/h_box_container_4"]
|
||||||
|
margin_left = 68.0
|
||||||
|
margin_right = 84.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
hint_tooltip = "JUKEBOX_ADD"
|
||||||
|
size_flags_horizontal = 6
|
||||||
|
texture_normal = ExtResource( 10 )
|
||||||
|
|
||||||
|
[node name="h_box_container" type="HBoxContainer" parent="window_box/controls_box"]
|
||||||
|
margin_left = 224.0
|
||||||
|
margin_right = 240.0
|
||||||
margin_bottom = 16.0
|
margin_bottom = 16.0
|
||||||
size_flags_horizontal = 6
|
size_flags_horizontal = 6
|
||||||
|
|
||||||
[node name="previous" type="TextureButton" parent="window_box/controls_box"]
|
[node name="mute" type="TextureButton" parent="window_box/controls_box/h_box_container"]
|
||||||
margin_right = 16.0
|
margin_right = 16.0
|
||||||
margin_bottom = 16.0
|
margin_bottom = 16.0
|
||||||
texture_normal = ExtResource( 2 )
|
hint_tooltip = "JUKEBOX_MUTE"
|
||||||
|
size_flags_horizontal = 5
|
||||||
|
texture_normal = ExtResource( 8 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
[node name="pause" type="TextureButton" parent="window_box/controls_box"]
|
[node name="h_box_container_2" type="HBoxContainer" parent="window_box/controls_box"]
|
||||||
|
margin_left = 313.0
|
||||||
|
margin_right = 313.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
|
||||||
|
[node name="previous" type="TextureButton" parent="window_box/controls_box/h_box_container_2"]
|
||||||
|
visible = false
|
||||||
|
margin_right = 16.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
hint_tooltip = "JUKEBOX_PREVIOUS"
|
||||||
|
texture_normal = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_editor_description_": ""
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="pause" type="TextureButton" parent="window_box/controls_box/h_box_container_2"]
|
||||||
|
visible = false
|
||||||
|
margin_right = 16.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
hint_tooltip = "JUKEBOX_PAUSE"
|
||||||
|
texture_normal = ExtResource( 4 )
|
||||||
|
|
||||||
|
[node name="play" type="TextureButton" parent="window_box/controls_box/h_box_container_2"]
|
||||||
|
visible = false
|
||||||
|
margin_right = 16.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
hint_tooltip = "JUKEBOX_PLAY"
|
||||||
|
texture_normal = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="next" type="TextureButton" parent="window_box/controls_box/h_box_container_2"]
|
||||||
|
visible = false
|
||||||
margin_left = 20.0
|
margin_left = 20.0
|
||||||
margin_right = 36.0
|
margin_right = 36.0
|
||||||
margin_bottom = 16.0
|
margin_bottom = 16.0
|
||||||
texture_normal = ExtResource( 4 )
|
hint_tooltip = "JUKEBOX_NEXT"
|
||||||
|
|
||||||
[node name="play" type="TextureButton" parent="window_box/controls_box"]
|
|
||||||
margin_left = 40.0
|
|
||||||
margin_right = 56.0
|
|
||||||
margin_bottom = 16.0
|
|
||||||
texture_normal = ExtResource( 1 )
|
|
||||||
|
|
||||||
[node name="next" type="TextureButton" parent="window_box/controls_box"]
|
|
||||||
margin_left = 60.0
|
|
||||||
margin_right = 76.0
|
|
||||||
margin_bottom = 16.0
|
|
||||||
texture_normal = ExtResource( 3 )
|
texture_normal = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="h_box_container_3" type="HBoxContainer" parent="window_box/controls_box"]
|
||||||
|
margin_left = 385.0
|
||||||
|
margin_right = 401.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
size_flags_horizontal = 6
|
||||||
|
|
||||||
|
[node name="soundeffect" type="TextureButton" parent="window_box/controls_box/h_box_container_3"]
|
||||||
|
visible = false
|
||||||
|
margin_right = 16.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
hint_tooltip = "JUKEBOX_SOUND_EFFECT"
|
||||||
|
texture_normal = ExtResource( 6 )
|
||||||
|
|
||||||
|
[node name="music" type="TextureButton" parent="window_box/controls_box/h_box_container_3"]
|
||||||
|
visible = false
|
||||||
|
margin_right = 16.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
hint_tooltip = "JUKEBOX_MUSIC"
|
||||||
|
texture_normal = ExtResource( 7 )
|
||||||
|
|
||||||
|
[node name="auto" type="TextureButton" parent="window_box/controls_box/h_box_container_3"]
|
||||||
|
margin_right = 16.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
hint_tooltip = "JUKEBOX_AUTO"
|
||||||
|
texture_normal = ExtResource( 9 )
|
||||||
|
|
||||||
[node name="scroll_box" type="ScrollContainer" parent="window_box"]
|
[node name="scroll_box" type="ScrollContainer" parent="window_box"]
|
||||||
margin_top = 20.0
|
margin_top = 20.0
|
||||||
margin_right = 256.0
|
margin_right = 470.0
|
||||||
margin_bottom = 128.0
|
margin_bottom = 173.0
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
|
|
||||||
[node name="musics_box" type="VBoxContainer" parent="window_box/scroll_box"]
|
[node name="musics_box" type="VBoxContainer" parent="window_box/scroll_box"]
|
||||||
margin_left = 128.0
|
margin_right = 470.0
|
||||||
margin_right = 128.0
|
margin_bottom = 153.0
|
||||||
size_flags_horizontal = 6
|
size_flags_horizontal = 7
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 3
|
||||||
|
|
||||||
[node name="music" type="AudioStreamPlayer" parent="."]
|
[node name="music" type="AudioStreamPlayer" parent="."]
|
||||||
|
|
||||||
|
[connection signal="musicplayer_pressed" from="." to="." method="_on_music_manager_musicplayer_pressed"]
|
||||||
|
[connection signal="mute_pressed" from="." to="." method="_on_music_manager_mute_pressed"]
|
||||||
|
[connection signal="files_selected" from="file_dialog" to="." method="_on_file_dialog_files_selected"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container_4/add" to="." method="_on_add_pressed"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container/mute" to="." method="_on_mute_pressed"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container_2/previous" to="." method="_on_previous_pressed"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container_2/pause" to="." method="_on_pause_pressed"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container_2/play" to="." method="_on_play_pressed"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container_2/next" to="." method="_on_next_pressed"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container_3/soundeffect" to="." method="_on_soundeffect_pressed"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container_3/music" to="." method="_on_music_pressed"]
|
||||||
|
[connection signal="pressed" from="window_box/controls_box/h_box_container_3/auto" to="." method="_on_auto_pressed"]
|
||||||
|
|
|
@ -18,12 +18,10 @@ func read_license(key):
|
||||||
return true
|
return true
|
||||||
return false
|
return false
|
||||||
|
|
||||||
|
|
||||||
func load_license():
|
func load_license():
|
||||||
var current_locale = TranslationServer.get_locale()
|
var current_locale = TranslationServer.get_locale()
|
||||||
var root_language = current_locale.split('_')[0]
|
var root_language = current_locale.split('_')[0]
|
||||||
var file = File.new()
|
|
||||||
var filenews = ""
|
|
||||||
|
|
||||||
if read_license(current_locale):
|
if read_license(current_locale):
|
||||||
pass
|
pass
|
||||||
elif read_license(root_language):
|
elif read_license(root_language):
|
||||||
|
@ -31,6 +29,7 @@ func load_license():
|
||||||
elif read_license(""):
|
elif read_license(""):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
func read_authors(key):
|
func read_authors(key):
|
||||||
var file = File.new()
|
var file = File.new()
|
||||||
var filenews = ""
|
var filenews = ""
|
||||||
|
@ -51,9 +50,6 @@ func read_authors(key):
|
||||||
func load_authors():
|
func load_authors():
|
||||||
var current_locale = TranslationServer.get_locale()
|
var current_locale = TranslationServer.get_locale()
|
||||||
var root_language = current_locale.split('_')[0]
|
var root_language = current_locale.split('_')[0]
|
||||||
var file = File.new()
|
|
||||||
var filenews = ""
|
|
||||||
|
|
||||||
if read_authors(current_locale):
|
if read_authors(current_locale):
|
||||||
pass
|
pass
|
||||||
elif read_authors(root_language):
|
elif read_authors(root_language):
|
||||||
|
|
|
@ -34,12 +34,10 @@ func _ready():
|
||||||
|
|
||||||
|
|
||||||
func _on_option_button_item_selected(index):
|
func _on_option_button_item_selected(index):
|
||||||
var id = 0
|
|
||||||
for key in TranslationServer.get_loaded_locales():
|
for key in TranslationServer.get_loaded_locales():
|
||||||
if id == $window_dialog/margin_container/v_box_container/option_button.get_selected():
|
if index == $window_dialog/margin_container/v_box_container/option_button.get_selected():
|
||||||
TranslationServer.set_locale(key)
|
TranslationServer.set_locale(key)
|
||||||
return
|
return
|
||||||
id += 1
|
|
||||||
|
|
||||||
|
|
||||||
func _on_button_pressed():
|
func _on_button_pressed():
|
||||||
|
|
|
@ -28,9 +28,6 @@ func read_news(key):
|
||||||
func load_news():
|
func load_news():
|
||||||
var current_locale = TranslationServer.get_locale()
|
var current_locale = TranslationServer.get_locale()
|
||||||
var root_language = current_locale.split('_')[0]
|
var root_language = current_locale.split('_')[0]
|
||||||
var file = File.new()
|
|
||||||
var filenews = ""
|
|
||||||
|
|
||||||
if read_news(current_locale):
|
if read_news(current_locale):
|
||||||
pass
|
pass
|
||||||
elif read_news(root_language):
|
elif read_news(root_language):
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
signal mute_pressed
|
signal mute_pressed
|
||||||
|
signal musicplayer_pressed
|
||||||
|
|
||||||
var slots_number = 0
|
onready var audiodevice_list = get_node("window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_7/audiodevice")
|
||||||
var slots = {}
|
|
||||||
|
#var slots_number = 0
|
||||||
|
#var slots = {}
|
||||||
var firstime = false
|
var firstime = false
|
||||||
|
var disable_execution_mute:bool = false
|
||||||
|
|
||||||
|
|
||||||
# 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():
|
||||||
|
@ -62,23 +67,48 @@ func _ready():
|
||||||
# Mute
|
# Mute
|
||||||
#$window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_2/mute.pressed = Config.mute
|
#$window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_2/mute.pressed = Config.mute
|
||||||
update_mute()
|
update_mute()
|
||||||
|
# List audio device
|
||||||
|
for item in AudioServer.get_device_list():
|
||||||
|
$window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_7/audiodevice.add_item(item)
|
||||||
|
#audiodevice_list.add_item(item)
|
||||||
|
var device = AudioServer.get_device()
|
||||||
|
for i in range(audiodevice_list.get_item_count()):
|
||||||
|
if device == audiodevice_list.get_item_text(i):
|
||||||
|
audiodevice_list.select(i)
|
||||||
|
break
|
||||||
|
MusicManager.connect("musicplayer_pressed", self, "_on_signal_musicplayer_pressed")
|
||||||
|
#$option.connect("mute_pressed", self, "update_mute")
|
||||||
|
MusicManager.connect("mute_pressed", self, "_on_signal_mute_pressed")
|
||||||
|
MusicManager.connect_ext("musicplayer_pressed", self )
|
||||||
|
MusicManager.connect_ext("mute_pressed", self )
|
||||||
|
|
||||||
|
|
||||||
|
func connect_ext( signal_name, target):
|
||||||
|
Config.msg_debug("Connect external [signal:" + signal_name + ", func:" + "_on_signal_" + signal_name + "]")
|
||||||
|
target.connect( signal_name, self, "_on_signal_" + signal_name )
|
||||||
|
|
||||||
|
|
||||||
func update_mute():
|
func update_mute():
|
||||||
Config.msg_debug("")
|
Config.msg_debug("")
|
||||||
$window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_2/mute.pressed = Config.mute
|
$window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_2/mute.pressed = Config.mute
|
||||||
|
|
||||||
|
|
||||||
func _on_fullscreen_toggled(button_pressed):
|
func _on_fullscreen_toggled(button_pressed):
|
||||||
Config.set_window_fullscreen(button_pressed)
|
Config.set_window_fullscreen(button_pressed)
|
||||||
|
|
||||||
|
|
||||||
func _on_borderless_toggled(button_pressed):
|
func _on_borderless_toggled(button_pressed):
|
||||||
Config.set_window_borderless(button_pressed)
|
Config.set_window_borderless(button_pressed)
|
||||||
|
|
||||||
|
|
||||||
func _on_resizable_toggled(button_pressed):
|
func _on_resizable_toggled(button_pressed):
|
||||||
Config.set_window_resizable(button_pressed)
|
Config.set_window_resizable(button_pressed)
|
||||||
|
|
||||||
|
|
||||||
func _on_window_maximized_toggled(button_pressed):
|
func _on_window_maximized_toggled(button_pressed):
|
||||||
Config.set_window_maximized(button_pressed)
|
Config.set_window_maximized(button_pressed)
|
||||||
|
|
||||||
|
|
||||||
func _on_screen_value_changed(value):
|
func _on_screen_value_changed(value):
|
||||||
Config.set_current_screen(value)
|
Config.set_current_screen(value)
|
||||||
|
|
||||||
|
@ -90,6 +120,7 @@ func _on_screen_value_changed(value):
|
||||||
# SCREEN_ORIENTATION_SENSOR_PORTRAIT = 5 Uses portrait or reverse portrait based on the hardware sensor.
|
# SCREEN_ORIENTATION_SENSOR_PORTRAIT = 5 Uses portrait or reverse portrait based on the hardware sensor.
|
||||||
# SCREEN_ORIENTATION_SENSOR = 6 Uses most suitable orientation based on
|
# SCREEN_ORIENTATION_SENSOR = 6 Uses most suitable orientation based on
|
||||||
|
|
||||||
|
|
||||||
func _on_orientation_value_changed(value):
|
func _on_orientation_value_changed(value):
|
||||||
# display/window/handheld/orientation
|
# display/window/handheld/orientation
|
||||||
#print(OS.screen_orientation)
|
#print(OS.screen_orientation)
|
||||||
|
@ -101,43 +132,10 @@ func _on_orientation_value_changed(value):
|
||||||
Config.set_screen_orientation(value)
|
Config.set_screen_orientation(value)
|
||||||
#OS.set_screen_orientation(value)
|
#OS.set_screen_orientation(value)
|
||||||
|
|
||||||
|
|
||||||
func _on_always_on_top_toggled(button_pressed):
|
func _on_always_on_top_toggled(button_pressed):
|
||||||
Config.set_window_always_on_top(button_pressed)
|
Config.set_window_always_on_top(button_pressed)
|
||||||
|
|
||||||
func _on_add_music_pressed():
|
|
||||||
pass # Replace with function body.
|
|
||||||
$file_dialog.show()
|
|
||||||
|
|
||||||
|
|
||||||
func _on_file_dialog_files_selected(paths):
|
|
||||||
print("multi files")
|
|
||||||
for path in paths:
|
|
||||||
var found = false
|
|
||||||
for slot in self.slots:
|
|
||||||
if self.slots[slot].music_filename == path:
|
|
||||||
found = true
|
|
||||||
continue
|
|
||||||
if found:
|
|
||||||
continue
|
|
||||||
var music_box = preload( "res://scenes/interfaces/options/option_settings_music_box.tscn" ).instance()
|
|
||||||
music_box.get_node( "label" ).text = path
|
|
||||||
#music_box.enable.pressed = true
|
|
||||||
#music_box.zone = "All"
|
|
||||||
music_box.slot = self.slots_number
|
|
||||||
music_box.music_filename = path
|
|
||||||
#creature_box.connect( "select_pressed", self, "_on_creature_box_select_pressed" )
|
|
||||||
music_box.connect( "delete_pressed", self, "_on_music_box_delete_pressed" )
|
|
||||||
$window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/scroll_container/list_music.add_child(music_box)
|
|
||||||
MusicManager.add_music(path)
|
|
||||||
self.slots[ self.slots_number ] = music_box
|
|
||||||
self.slots_number += 1
|
|
||||||
|
|
||||||
func _on_music_box_delete_pressed( slot ):
|
|
||||||
if self.slots[ slot ].music_filename:
|
|
||||||
#var dir = Directory.new()
|
|
||||||
#dir.remove( "user://creatures/" + self.slots[ slot ].creature_filename )
|
|
||||||
pass
|
|
||||||
self.slots[ slot ].queue_free()
|
|
||||||
|
|
||||||
func _on_default_toggled(button_pressed):
|
func _on_default_toggled(button_pressed):
|
||||||
if button_pressed:
|
if button_pressed:
|
||||||
|
@ -150,36 +148,78 @@ func _on_default_toggled(button_pressed):
|
||||||
Config.disable_window_default()
|
Config.disable_window_default()
|
||||||
Config.set_video_default(button_pressed)
|
Config.set_video_default(button_pressed)
|
||||||
|
|
||||||
|
|
||||||
func _on_font_value_changed(value):
|
func _on_font_value_changed(value):
|
||||||
var valueint = int(value)
|
Config.set_font_size(int(value))
|
||||||
Config.set_font_size(value)
|
|
||||||
|
|
||||||
func _on_sound_lvl_global_value_changed(value):
|
func _on_sound_lvl_global_value_changed(value):
|
||||||
MusicManager.set_level_global(int(value))
|
MusicManager.set_level_global(int(value))
|
||||||
|
|
||||||
|
|
||||||
func _on_sound_lvl_music_value_changed(value):
|
func _on_sound_lvl_music_value_changed(value):
|
||||||
MusicManager.set_level_music(int(value))
|
MusicManager.set_level_music(int(value))
|
||||||
|
|
||||||
|
|
||||||
func _on_sound_lvl_effect_value_changed(value):
|
func _on_sound_lvl_effect_value_changed(value):
|
||||||
MusicManager.set_level_effect(int(value))
|
MusicManager.set_level_effect(int(value))
|
||||||
|
|
||||||
|
|
||||||
func _on_ok_pressed():
|
func _on_ok_pressed():
|
||||||
$file_dialog.hide()
|
$file_dialog.hide()
|
||||||
$window_dialog.hide()
|
$window_dialog.hide()
|
||||||
Config.save_config()
|
Config.save_config()
|
||||||
|
|
||||||
|
|
||||||
func _on_window_dialog_hide():
|
func _on_window_dialog_hide():
|
||||||
$file_dialog.hide()
|
$file_dialog.hide()
|
||||||
if firstime:
|
if firstime:
|
||||||
Config.save_config()
|
Config.save_config()
|
||||||
|
|
||||||
|
|
||||||
func _on_window_dialog_draw():
|
func _on_window_dialog_draw():
|
||||||
firstime = true
|
firstime = true
|
||||||
|
|
||||||
|
|
||||||
func _on_mute_toggled(button_pressed):
|
func _on_mute_toggled(button_pressed):
|
||||||
Config.msg_debug("")
|
Config.msg_debug("Option/Setting push mute")
|
||||||
|
if self.disable_execution_mute:
|
||||||
|
return
|
||||||
MusicManager.set_sound_mute(button_pressed)
|
MusicManager.set_sound_mute(button_pressed)
|
||||||
emit_signal( "mute_pressed" )
|
emit_signal( "mute_pressed" )
|
||||||
|
|
||||||
#func _on_control_mute_pressed():
|
|
||||||
# update_mute()
|
func _on_button_pressed():
|
||||||
|
MusicManager.open()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_musicplayer_pressed():
|
||||||
|
Config.msg_debug("")
|
||||||
|
Config.set_playermusic(not Config.get_playermusic())
|
||||||
|
Config.save_config()
|
||||||
|
emit_signal( "musicplayer_pressed")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_audiodevice_item_selected(index):
|
||||||
|
Config.msg_debug("TODO")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_control_musicplayer_pressed():
|
||||||
|
Config.msg_debug("Option/setting signal received musicplayer")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_control_mute_pressed():
|
||||||
|
Config.msg_debug("<Option/setting> signal received mute")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_signal_mute_pressed():
|
||||||
|
Config.msg_debug("<Option/setting> signal received mute")
|
||||||
|
self.disable_execution_mute = true
|
||||||
|
$window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_2/mute.pressed = Config.mute
|
||||||
|
self.disable_execution_mute = false
|
||||||
|
Config.msg_debug("<Option/setting> signal received mute : End")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_signal_musicplayer_pressed():
|
||||||
|
Config.msg_debug("<Option/setting> signal received musicplayer")
|
||||||
|
$window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_5/musicplayer.pressed = Config.get_playermusic()
|
||||||
|
|
|
@ -11,10 +11,12 @@ __meta__ = {
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="window_dialog" type="WindowDialog" parent="."]
|
[node name="window_dialog" type="WindowDialog" parent="."]
|
||||||
|
visible = true
|
||||||
margin_left = 55.2183
|
margin_left = 55.2183
|
||||||
margin_top = 62.4725
|
margin_top = 62.4725
|
||||||
margin_right = 1231.22
|
margin_right = 1231.22
|
||||||
margin_bottom = 674.473
|
margin_bottom = 674.473
|
||||||
|
window_title = "OPTION_TITLE"
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
@ -84,6 +86,7 @@ margin_bottom = 24.0
|
||||||
size_flags_horizontal = 2
|
size_flags_horizontal = 2
|
||||||
|
|
||||||
[node name="h_box_container_9" type="HBoxContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_VIDEO"]
|
[node name="h_box_container_9" type="HBoxContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_VIDEO"]
|
||||||
|
visible = false
|
||||||
margin_top = 28.0
|
margin_top = 28.0
|
||||||
margin_right = 1158.0
|
margin_right = 1158.0
|
||||||
margin_bottom = 52.0
|
margin_bottom = 52.0
|
||||||
|
@ -106,9 +109,9 @@ min_value = 8.0
|
||||||
value = 8.0
|
value = 8.0
|
||||||
|
|
||||||
[node name="settings_video" type="GridContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_VIDEO"]
|
[node name="settings_video" type="GridContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_VIDEO"]
|
||||||
margin_top = 56.0
|
margin_top = 28.0
|
||||||
margin_right = 1158.0
|
margin_right = 1158.0
|
||||||
margin_bottom = 158.0
|
margin_bottom = 130.0
|
||||||
custom_constants/vseparation = 2
|
custom_constants/vseparation = 2
|
||||||
custom_constants/hseparation = 0
|
custom_constants/hseparation = 0
|
||||||
columns = 2
|
columns = 2
|
||||||
|
@ -358,43 +361,45 @@ margin_bottom = 19.0
|
||||||
size_flags_horizontal = 10
|
size_flags_horizontal = 10
|
||||||
text = "OPTION_SETTINGS_SOUND_YOUR_MUSIC"
|
text = "OPTION_SETTINGS_SOUND_YOUR_MUSIC"
|
||||||
|
|
||||||
[node name="mute" type="CheckBox" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_5"]
|
[node name="musicplayer" type="CheckBox" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_5"]
|
||||||
margin_left = 581.0
|
margin_left = 581.0
|
||||||
margin_right = 605.0
|
margin_right = 605.0
|
||||||
margin_bottom = 24.0
|
margin_bottom = 24.0
|
||||||
size_flags_horizontal = 2
|
size_flags_horizontal = 2
|
||||||
|
|
||||||
[node name="h_box_container" type="HBoxContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND"]
|
[node name="h_box_container_7" type="HBoxContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND"]
|
||||||
margin_top = 110.0
|
margin_top = 110.0
|
||||||
margin_right = 1158.0
|
margin_right = 1158.0
|
||||||
margin_bottom = 130.0
|
margin_bottom = 130.0
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
[node name="label" type="Label" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container"]
|
[node name="label" type="Label" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_7"]
|
||||||
|
margin_left = 305.0
|
||||||
margin_top = 3.0
|
margin_top = 3.0
|
||||||
margin_right = 289.0
|
margin_right = 577.0
|
||||||
margin_bottom = 17.0
|
margin_bottom = 17.0
|
||||||
text = "OPTION_SETTINGS_SOUND_YOUR_SELECTION"
|
size_flags_horizontal = 10
|
||||||
|
text = "OPTION_SETTINGS_SOUND_SELECT_DEVICE"
|
||||||
|
|
||||||
[node name="add_music" type="Button" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container"]
|
[node name="audiodevice" type="OptionButton" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_7"]
|
||||||
margin_left = 293.0
|
margin_left = 581.0
|
||||||
margin_right = 587.0
|
margin_right = 610.0
|
||||||
margin_bottom = 20.0
|
margin_bottom = 20.0
|
||||||
text = "OPTION_SETTINGS_SOUND_SELECTION_ADD"
|
size_flags_horizontal = 2
|
||||||
|
|
||||||
[node name="scroll_container" type="ScrollContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND"]
|
[node name="h_box_container" type="HBoxContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND"]
|
||||||
margin_top = 134.0
|
margin_top = 134.0
|
||||||
margin_right = 1158.0
|
margin_right = 1158.0
|
||||||
margin_bottom = 541.0
|
margin_bottom = 154.0
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 3
|
|
||||||
|
|
||||||
[node name="list_music" type="VBoxContainer" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/scroll_container"]
|
[node name="button" type="Button" parent="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container"]
|
||||||
margin_right = 1158.0
|
margin_left = 546.0
|
||||||
margin_bottom = 407.0
|
margin_right = 612.0
|
||||||
size_flags_horizontal = 3
|
margin_bottom = 20.0
|
||||||
size_flags_vertical = 3
|
size_flags_horizontal = 6
|
||||||
custom_constants/separation = 4
|
text = "Juke Box"
|
||||||
|
align = 2
|
||||||
|
|
||||||
[node name="ok" type="Button" parent="window_dialog/margin_container/v_box_container"]
|
[node name="ok" type="Button" parent="window_dialog/margin_container/v_box_container"]
|
||||||
margin_top = 582.0
|
margin_top = 582.0
|
||||||
|
@ -423,6 +428,7 @@ __meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[connection signal="musicplayer_pressed" from="." to="." method="_on_control_musicplayer_pressed"]
|
||||||
[connection signal="mute_pressed" from="." to="." method="_on_control_mute_pressed"]
|
[connection signal="mute_pressed" from="." to="." method="_on_control_mute_pressed"]
|
||||||
[connection signal="draw" from="window_dialog" to="." method="_on_window_dialog_draw"]
|
[connection signal="draw" from="window_dialog" to="." method="_on_window_dialog_draw"]
|
||||||
[connection signal="hide" from="window_dialog" to="." method="_on_window_dialog_hide"]
|
[connection signal="hide" from="window_dialog" to="." method="_on_window_dialog_hide"]
|
||||||
|
@ -440,6 +446,8 @@ __meta__ = {
|
||||||
[connection signal="value_changed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_3/sound_lvl_global" to="." method="_on_sound_lvl_global_value_changed"]
|
[connection signal="value_changed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_3/sound_lvl_global" to="." method="_on_sound_lvl_global_value_changed"]
|
||||||
[connection signal="value_changed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_6/sound_lvl_music" to="." method="_on_sound_lvl_music_value_changed"]
|
[connection signal="value_changed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_6/sound_lvl_music" to="." method="_on_sound_lvl_music_value_changed"]
|
||||||
[connection signal="value_changed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_4/sound_lvl_effect" to="." method="_on_sound_lvl_effect_value_changed"]
|
[connection signal="value_changed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_4/sound_lvl_effect" to="." method="_on_sound_lvl_effect_value_changed"]
|
||||||
[connection signal="pressed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container/add_music" to="." method="_on_add_music_pressed"]
|
[connection signal="pressed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_5/musicplayer" to="." method="_on_musicplayer_pressed"]
|
||||||
|
[connection signal="item_selected" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_7/audiodevice" to="." method="_on_audiodevice_item_selected"]
|
||||||
|
[connection signal="pressed" from="window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container/button" to="." method="_on_button_pressed"]
|
||||||
[connection signal="pressed" from="window_dialog/margin_container/v_box_container/ok" to="." method="_on_ok_pressed"]
|
[connection signal="pressed" from="window_dialog/margin_container/v_box_container/ok" to="." method="_on_ok_pressed"]
|
||||||
[connection signal="files_selected" from="file_dialog" to="." method="_on_file_dialog_files_selected"]
|
[connection signal="files_selected" from="file_dialog" to="." method="_on_file_dialog_files_selected"]
|
||||||
|
|
|
@ -2,12 +2,40 @@ extends HBoxContainer
|
||||||
|
|
||||||
signal select_pressed( slot )
|
signal select_pressed( slot )
|
||||||
signal delete_pressed( slot )
|
signal delete_pressed( slot )
|
||||||
|
signal down_pressed( slot )
|
||||||
|
signal up_pressed( slot )
|
||||||
|
|
||||||
var slot = null
|
var slot = null
|
||||||
var music_filename = null
|
var music_filename = null
|
||||||
|
|
||||||
|
|
||||||
|
func enable_up():
|
||||||
|
$up.disabled = false
|
||||||
|
|
||||||
|
|
||||||
|
func disable_up():
|
||||||
|
$up.disabled = true
|
||||||
|
|
||||||
|
|
||||||
|
func enable_down():
|
||||||
|
$down.disabled = false
|
||||||
|
|
||||||
|
|
||||||
|
func disable_down():
|
||||||
|
$down.disabled = true
|
||||||
|
|
||||||
|
|
||||||
func _on_select_pressed():
|
func _on_select_pressed():
|
||||||
emit_signal( "select_pressed", self.slot )
|
emit_signal( "select_pressed", self.slot )
|
||||||
|
|
||||||
|
|
||||||
func _on_delete_pressed():
|
func _on_delete_pressed():
|
||||||
emit_signal( "delete_pressed", self.slot )
|
emit_signal( "delete_pressed", self.slot )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_down_pressed():
|
||||||
|
emit_signal( "down_pressed", self.slot )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_up_pressed():
|
||||||
|
emit_signal( "up_pressed", self.slot )
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
[gd_scene load_steps=2 format=2]
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scenes/interfaces/options/option_settings_music_box.gd" type="Script" id=1]
|
[ext_resource path="res://scenes/interfaces/options/option_settings_music_box.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://assets/interfaces/buttons/down.png" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://assets/interfaces/buttons/up.png" type="Texture" id=3]
|
||||||
|
|
||||||
[node name="h_box_container" type="HBoxContainer"]
|
[node name="h_box_container" type="HBoxContainer"]
|
||||||
margin_right = 40.0
|
margin_right = 40.0
|
||||||
|
@ -25,4 +27,21 @@ margin_bottom = 27.0
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "file"
|
text = "file"
|
||||||
|
|
||||||
|
[node name="down" type="Button" parent="."]
|
||||||
|
margin_left = 330.0
|
||||||
|
margin_right = 358.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
icon = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="up" type="Button" parent="."]
|
||||||
|
margin_left = 358.0
|
||||||
|
margin_right = 386.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
icon = ExtResource( 3 )
|
||||||
|
|
||||||
[connection signal="pressed" from="delete" to="." method="_on_delete_pressed"]
|
[connection signal="pressed" from="delete" to="." method="_on_delete_pressed"]
|
||||||
|
[connection signal="pressed" from="down" to="." method="_on_down_pressed"]
|
||||||
|
[connection signal="pressed" from="up" to="." method="_on_up_pressed"]
|
||||||
|
|
|
@ -3,17 +3,28 @@ extends Control
|
||||||
|
|
||||||
signal quit_pressed
|
signal quit_pressed
|
||||||
signal mute_pressed
|
signal mute_pressed
|
||||||
|
#signal musicplayer_pressed
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
get_node("option_settings").connect("mute_pressed", self, "_on_control_mute_pressed")
|
#get_node("option_settings").connect("mute_pressed", self, "_on_control_mute_pressed")
|
||||||
|
MusicManager.connect("mute_pressed", self, "_on_control_mute_pressed")
|
||||||
|
MusicManager.connect("musicplayer_pressed", self, "_on_control_musicplayer_pressed")
|
||||||
|
MusicManager.connect_ext( "mute_pressed", self )
|
||||||
|
$option_settings.connect( "mute_pressed", self, "_on_control_mute_pressed" )
|
||||||
|
$option_settings.connect_ext( "mute_pressed", self )
|
||||||
update_sound_button()
|
update_sound_button()
|
||||||
|
|
||||||
|
|
||||||
func _on_quit_button_pressed():
|
func _on_quit_button_pressed():
|
||||||
|
Config.msg_debug("_on_quit_button_pressed")
|
||||||
emit_signal( "quit_pressed" )
|
emit_signal( "quit_pressed" )
|
||||||
|
|
||||||
|
|
||||||
|
func _on_control_musicplayer_pressed():
|
||||||
|
Config.msg_debug("Option -> Receibed signal")
|
||||||
|
#emit_signal ( "musicplayer_pressed" )
|
||||||
|
|
||||||
|
|
||||||
func _on_language_button_pressed():
|
func _on_language_button_pressed():
|
||||||
$option_language/window_dialog.show()
|
$option_language/window_dialog.show()
|
||||||
|
|
||||||
|
@ -22,6 +33,7 @@ func _on_news_button_pressed():
|
||||||
#$option_news/accept_dialog.show()
|
#$option_news/accept_dialog.show()
|
||||||
$option_news/window_dialog.show()
|
$option_news/window_dialog.show()
|
||||||
|
|
||||||
|
|
||||||
func _on_help_button_pressed():
|
func _on_help_button_pressed():
|
||||||
$option_info/window_dialog.show()
|
$option_info/window_dialog.show()
|
||||||
|
|
||||||
|
@ -29,23 +41,36 @@ func _on_help_button_pressed():
|
||||||
func _on_settings_button_pressed():
|
func _on_settings_button_pressed():
|
||||||
$option_settings/window_dialog.show()
|
$option_settings/window_dialog.show()
|
||||||
|
|
||||||
|
|
||||||
func update_sound_button():
|
func update_sound_button():
|
||||||
Config.msg_debug("")
|
Config.msg_debug("<Option> update_sound_button")
|
||||||
if Config.mute:
|
if Config.mute:
|
||||||
$options_reduce/h_box_container/sound_button.texture_normal = load ( "res://assets/interfaces/Login-Khanat-sound-muted-button.png")
|
$options_reduce/h_box_container/sound_button.texture_normal = load ( "res://assets/interfaces/Login-Khanat-sound-muted-button.png")
|
||||||
$options_reduce/h_box_container/sound_button.texture_hover = load ( "res://assets/interfaces/Login-Khanat-sound-muted-button-hover.png")
|
$options_reduce/h_box_container/sound_button.texture_hover = load ( "res://assets/interfaces/Login-Khanat-sound-muted-button-hover.png")
|
||||||
|
#MusicManager.set_mute_on()
|
||||||
else:
|
else:
|
||||||
$options_reduce/h_box_container/sound_button.texture_normal = load ( "res://assets/interfaces/Login-Khanat-sound-button.png")
|
$options_reduce/h_box_container/sound_button.texture_normal = load ( "res://assets/interfaces/Login-Khanat-sound-button.png")
|
||||||
$options_reduce/h_box_container/sound_button.texture_hover = load ( "res://assets/interfaces/Login-Khanat-sound-button-hover.png")
|
$options_reduce/h_box_container/sound_button.texture_hover = load ( "res://assets/interfaces/Login-Khanat-sound-button-hover.png")
|
||||||
|
#MusicManager.set_mute_off()
|
||||||
|
#$option_settings/window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_2/mute.pressed = Config.mute
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func update_musicplayer():
|
||||||
|
Config.msg_debug("update_musicplayer")
|
||||||
|
$option_settings/window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_5/musicplayer.pressed = Config.get_playermusic()
|
||||||
|
if Config.get_playermusic():
|
||||||
|
MusicManager.set_playermusic_on()
|
||||||
|
else:
|
||||||
|
MusicManager.set_playermusic_off()
|
||||||
|
|
||||||
|
|
||||||
func _on_sound_button_pressed():
|
func _on_sound_button_pressed():
|
||||||
Config.msg_debug("")
|
Config.msg_debug("Option mute")
|
||||||
MusicManager.set_sound_mute(not Config.mute)
|
MusicManager.set_sound_mute(not Config.mute)
|
||||||
emit_signal( "mute_pressed" )
|
emit_signal( "mute_pressed" )
|
||||||
|
|
||||||
|
|
||||||
func _on_control_mute_pressed():
|
func _on_control_mute_pressed():
|
||||||
Config.msg_debug("received signal mute")
|
Config.msg_debug("<Option> Received Signal mute")
|
||||||
update_sound_button()
|
update_sound_button()
|
||||||
$option_settings/window_dialog/margin_container/v_box_container/tab_container/OPTION_SETTINGS_SOUND/h_box_container_2/mute.pressed = Config.mute
|
|
||||||
|
|
|
@ -11,14 +11,14 @@ var is_scene_loading = false
|
||||||
var creature_selected_slot = null
|
var creature_selected_slot = null
|
||||||
var creature_selected_filename = null
|
var creature_selected_filename = null
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
Connection.connect( "connection_ok", self, "_on_connexion_ok" )
|
Connection.connect( "connection_ok", self, "_on_connexion_ok" )
|
||||||
Connection.connect( "connection_error", self, "_on_connection_error" )
|
Connection.connect( "connection_error", self, "_on_connection_error" )
|
||||||
|
|
||||||
Globals.ressource_queue.start()
|
Globals.ressource_queue.start()
|
||||||
|
|
||||||
func _process(_time):
|
|
||||||
|
|
||||||
|
func _process(_time):
|
||||||
if self.is_scene_loading:
|
if self.is_scene_loading:
|
||||||
if Globals.ressource_queue.is_ready( self.current_scene_path ):
|
if Globals.ressource_queue.is_ready( self.current_scene_path ):
|
||||||
print( "LOADING FINISHED")
|
print( "LOADING FINISHED")
|
||||||
|
@ -27,8 +27,6 @@ func _process(_time):
|
||||||
else:
|
else:
|
||||||
self.update_progress()
|
self.update_progress()
|
||||||
$loading_screen.show()
|
$loading_screen.show()
|
||||||
|
|
||||||
|
|
||||||
# if loader == null:
|
# if loader == null:
|
||||||
# # no need to process anymore
|
# # no need to process anymore
|
||||||
# set_process(false)
|
# set_process(false)
|
||||||
|
@ -57,6 +55,7 @@ func _process(_time):
|
||||||
# loader = null
|
# loader = null
|
||||||
# break
|
# break
|
||||||
|
|
||||||
|
|
||||||
func _input( event ):
|
func _input( event ):
|
||||||
|
|
||||||
if event.is_action_released( "music_manager" ):
|
if event.is_action_released( "music_manager" ):
|
||||||
|
@ -100,6 +99,7 @@ func set_new_scene( scene_resource ):
|
||||||
# elif self.has_node( "scene/game" ):
|
# elif self.has_node( "scene/game" ):
|
||||||
# self.get_node( "scene/game" ).load_player( self.creature_selected_filename )
|
# self.get_node( "scene/game" ).load_player( self.creature_selected_filename )
|
||||||
|
|
||||||
|
|
||||||
func update_progress():
|
func update_progress():
|
||||||
var progress = float(Globals.ressource_queue.get_progress( self.current_scene_path ))
|
var progress = float(Globals.ressource_queue.get_progress( self.current_scene_path ))
|
||||||
|
|
||||||
|
@ -109,7 +109,6 @@ func update_progress():
|
||||||
|
|
||||||
|
|
||||||
func goto_scene( p_path ):
|
func goto_scene( p_path ):
|
||||||
|
|
||||||
# Clean old scene.
|
# Clean old scene.
|
||||||
if self.current_scene:
|
if self.current_scene:
|
||||||
Globals.ressource_queue.cancel_resource( self.current_scene_path )
|
Globals.ressource_queue.cancel_resource( self.current_scene_path )
|
||||||
|
@ -131,7 +130,6 @@ func goto_scene( p_path ):
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_main_menu_play_pressed():
|
func _on_main_menu_play_pressed():
|
||||||
|
|
||||||
var username = $main_menu/screen_box/login_box/username.text;
|
var username = $main_menu/screen_box/login_box/username.text;
|
||||||
|
@ -142,38 +140,46 @@ func _on_main_menu_play_pressed():
|
||||||
Globals.goto_scene( "res://scenes/interfaces/creatures_menu/creatures_menu_ui.tscn" )
|
Globals.goto_scene( "res://scenes/interfaces/creatures_menu/creatures_menu_ui.tscn" )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_creatures_menu_ui_new_pressed( slot ):
|
func _on_creatures_menu_ui_new_pressed( slot ):
|
||||||
self.creature_selected_slot = slot
|
self.creature_selected_slot = slot
|
||||||
# Globals.goto_scene( "res://scenes/interfaces/creatures_editor/creatures_editor_ui.tscn" )
|
# Globals.goto_scene( "res://scenes/interfaces/creatures_editor/creatures_editor_ui.tscn" )
|
||||||
Globals.goto_scene( "res://scenes/creatures/creatures_creation.tscn" )
|
Globals.goto_scene( "res://scenes/creatures/creatures_creation.tscn" )
|
||||||
|
|
||||||
|
|
||||||
func _on_creatures_menu_ui_cancel_pressed():
|
func _on_creatures_menu_ui_cancel_pressed():
|
||||||
$main_menu.show()
|
$main_menu.show()
|
||||||
|
|
||||||
|
|
||||||
func _on_creatures_menu_ui_select_pressed( filename ):
|
func _on_creatures_menu_ui_select_pressed( filename ):
|
||||||
self.creature_selected_filename = filename
|
self.creature_selected_filename = filename
|
||||||
Globals.goto_scene( "res://scenes/game/game.tscn" )
|
Globals.goto_scene( "res://scenes/game/game.tscn" )
|
||||||
|
|
||||||
|
|
||||||
func _on_creature_editor_ui_valid_pressed():
|
func _on_creature_editor_ui_valid_pressed():
|
||||||
Globals.goto_scene( "res://scenes/interfaces/creatures_menu/creatures_menu_ui.tscn" )
|
Globals.goto_scene( "res://scenes/interfaces/creatures_menu/creatures_menu_ui.tscn" )
|
||||||
|
|
||||||
|
|
||||||
func _on_creature_editor_ui_cencel_pressed():
|
func _on_creature_editor_ui_cencel_pressed():
|
||||||
Globals.goto_scene( "res://scenes/interfaces/creatures_menu/creatures_menu_ui.tscn" )
|
Globals.goto_scene( "res://scenes/interfaces/creatures_menu/creatures_menu_ui.tscn" )
|
||||||
|
|
||||||
|
|
||||||
func _on_main_menu_quit_pressed():
|
func _on_main_menu_quit_pressed():
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
|
|
||||||
|
|
||||||
func _on_connexion_ok():
|
func _on_connexion_ok():
|
||||||
Globals.goto_scene( "res://scenes/interfaces/creatures_menu/creatures_menu_ui.tscn" )
|
Globals.goto_scene( "res://scenes/interfaces/creatures_menu/creatures_menu_ui.tscn" )
|
||||||
|
|
||||||
|
|
||||||
func _on_connection_error( message ):
|
func _on_connection_error( message ):
|
||||||
$main_menu/screen_box/login_box/error.text = message
|
$main_menu/screen_box/login_box/error.text = message
|
||||||
|
|
||||||
|
|
||||||
func _on_mute_pressed():
|
func _on_mute_pressed():
|
||||||
pass
|
pass
|
||||||
# $main_menu/control/option_settings.update_sound_button()
|
# $main_menu/control/option_settings.update_sound_button()
|
||||||
|
|
||||||
|
|
||||||
func _on_main_menu_mute_pressed():
|
func _on_main_menu_mute_pressed():
|
||||||
Config.msg_debug("_on_main_menu_mute_pressed")
|
Config.msg_debug("_on_main_menu_mute_pressed")
|
||||||
$main_menu/control/option_settings.update_sound_button()
|
$main_menu/control/option_settings.update_sound_button()
|
||||||
|
|