diff --git a/.import/0.jpg-2366d911423fcb1998eb8418bd01ab24.md5 b/.import/0.jpg-2366d911423fcb1998eb8418bd01ab24.md5 new file mode 100644 index 0000000..d329163 --- /dev/null +++ b/.import/0.jpg-2366d911423fcb1998eb8418bd01ab24.md5 @@ -0,0 +1,3 @@ +source_md5="8d73edfee105bd3ad210fa2c862a3972" +dest_md5="6c170633e4146bf363cbac64997a01f5" + diff --git a/.import/0.jpg-2366d911423fcb1998eb8418bd01ab24.stex b/.import/0.jpg-2366d911423fcb1998eb8418bd01ab24.stex new file mode 100644 index 0000000..c56d6d9 Binary files /dev/null and b/.import/0.jpg-2366d911423fcb1998eb8418bd01ab24.stex differ diff --git a/.import/1.jpg-7276ac5cb19c72f2df421cd60bf4c086.md5 b/.import/1.jpg-7276ac5cb19c72f2df421cd60bf4c086.md5 new file mode 100644 index 0000000..8dc14bb --- /dev/null +++ b/.import/1.jpg-7276ac5cb19c72f2df421cd60bf4c086.md5 @@ -0,0 +1,3 @@ +source_md5="0be71e4a3f3003fa0a57ab68d5a11d9e" +dest_md5="b30b9ea337e43a4056ba6381c9715218" + diff --git a/.import/1.jpg-7276ac5cb19c72f2df421cd60bf4c086.stex b/.import/1.jpg-7276ac5cb19c72f2df421cd60bf4c086.stex new file mode 100644 index 0000000..158632d Binary files /dev/null and b/.import/1.jpg-7276ac5cb19c72f2df421cd60bf4c086.stex differ diff --git a/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.etc.stex b/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.etc.stex new file mode 100644 index 0000000..087f97a Binary files /dev/null and b/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.etc.stex differ diff --git a/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.md5 b/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.md5 new file mode 100644 index 0000000..8920c4a --- /dev/null +++ b/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.md5 @@ -0,0 +1,3 @@ +source_md5="8d73edfee105bd3ad210fa2c862a3972" +dest_md5="da277aa6b9ea71c2a760eeb2af6cefa2" + diff --git a/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.s3tc.stex b/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.s3tc.stex new file mode 100644 index 0000000..2079fe8 Binary files /dev/null and b/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.s3tc.stex differ diff --git a/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.stex b/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.stex new file mode 100644 index 0000000..c56d6d9 Binary files /dev/null and b/.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.stex differ diff --git a/.import/bg.png-6eb74ab5396c64f230bdaa24e04060fa.md5 b/.import/bg.png-6eb74ab5396c64f230bdaa24e04060fa.md5 new file mode 100644 index 0000000..9540950 --- /dev/null +++ b/.import/bg.png-6eb74ab5396c64f230bdaa24e04060fa.md5 @@ -0,0 +1,3 @@ +source_md5="1e39735d90edd4ada48e200ae89237a8" +dest_md5="fefc7220661c77b03c385234b93d5dc1" + diff --git a/.import/receivedmessage.png-d95d8fd9495e2ef27a08219e22416dff.stex b/.import/bg.png-6eb74ab5396c64f230bdaa24e04060fa.stex similarity index 100% rename from .import/receivedmessage.png-d95d8fd9495e2ef27a08219e22416dff.stex rename to .import/bg.png-6eb74ab5396c64f230bdaa24e04060fa.stex diff --git a/.import/bg1.png-2d9bbad5f625762ac0af49d7ca55a8a6.md5 b/.import/bg1.png-2d9bbad5f625762ac0af49d7ca55a8a6.md5 new file mode 100644 index 0000000..9540950 --- /dev/null +++ b/.import/bg1.png-2d9bbad5f625762ac0af49d7ca55a8a6.md5 @@ -0,0 +1,3 @@ +source_md5="1e39735d90edd4ada48e200ae89237a8" +dest_md5="fefc7220661c77b03c385234b93d5dc1" + diff --git a/.import/bg1.png-2d9bbad5f625762ac0af49d7ca55a8a6.stex b/.import/bg1.png-2d9bbad5f625762ac0af49d7ca55a8a6.stex new file mode 100644 index 0000000..fbf7e74 Binary files /dev/null and b/.import/bg1.png-2d9bbad5f625762ac0af49d7ca55a8a6.stex differ diff --git a/.import/bg2.png-037ea2aab7e76c11ac02a64d0acebd69.md5 b/.import/bg2.png-037ea2aab7e76c11ac02a64d0acebd69.md5 new file mode 100644 index 0000000..38372ac --- /dev/null +++ b/.import/bg2.png-037ea2aab7e76c11ac02a64d0acebd69.md5 @@ -0,0 +1,3 @@ +source_md5="f22f3d8ef152307565cbf4014e01ff6e" +dest_md5="ff5ab25eb8150b54056caf04c497554a" + diff --git a/.import/sendedmessage.png-1993f79a450b61f8cc85cf448c69010c.stex b/.import/bg2.png-037ea2aab7e76c11ac02a64d0acebd69.stex similarity index 100% rename from .import/sendedmessage.png-1993f79a450b61f8cc85cf448c69010c.stex rename to .import/bg2.png-037ea2aab7e76c11ac02a64d0acebd69.stex diff --git a/.import/bgtexture.png-febe34c63fe1da32f77269006b132410.md5 b/.import/bgtexture.png-febe34c63fe1da32f77269006b132410.md5 new file mode 100644 index 0000000..9540950 --- /dev/null +++ b/.import/bgtexture.png-febe34c63fe1da32f77269006b132410.md5 @@ -0,0 +1,3 @@ +source_md5="1e39735d90edd4ada48e200ae89237a8" +dest_md5="fefc7220661c77b03c385234b93d5dc1" + diff --git a/.import/bgtexture.png-febe34c63fe1da32f77269006b132410.stex b/.import/bgtexture.png-febe34c63fe1da32f77269006b132410.stex new file mode 100644 index 0000000..fbf7e74 Binary files /dev/null and b/.import/bgtexture.png-febe34c63fe1da32f77269006b132410.stex differ diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 index 5328bc7..7b55c14 100644 --- a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 +++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 @@ -1,3 +1,3 @@ -source_md5="47313fa4c47a9963fddd764e1ec6e4a8" -dest_md5="26ea799ea0a3da9e753b3ebe822e0570" +source_md5="e5d3288a900b6d4421e9d3937d08ab5e" +dest_md5="cc45eda6d302c77d5e7d876bb1d30a13" diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex index 71f6913..0632608 100644 Binary files a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex and b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex differ diff --git a/.import/off.png-f8f2df2e86728445b5ee9dc41ada0725.md5 b/.import/off.png-f8f2df2e86728445b5ee9dc41ada0725.md5 new file mode 100644 index 0000000..738f333 --- /dev/null +++ b/.import/off.png-f8f2df2e86728445b5ee9dc41ada0725.md5 @@ -0,0 +1,3 @@ +source_md5="7ac917032afeec8a7824e5472cf13638" +dest_md5="6930cf1e3a1ddce048f1fc4dc82e656d" + diff --git a/.import/off.png-f8f2df2e86728445b5ee9dc41ada0725.stex b/.import/off.png-f8f2df2e86728445b5ee9dc41ada0725.stex new file mode 100644 index 0000000..aeabc80 Binary files /dev/null and b/.import/off.png-f8f2df2e86728445b5ee9dc41ada0725.stex differ diff --git a/.import/on.png-4bc6a2158c537328d87921ed56daf94b.md5 b/.import/on.png-4bc6a2158c537328d87921ed56daf94b.md5 new file mode 100644 index 0000000..0b676e7 --- /dev/null +++ b/.import/on.png-4bc6a2158c537328d87921ed56daf94b.md5 @@ -0,0 +1,3 @@ +source_md5="6a0879affdd3ff3272b40d2b876c493a" +dest_md5="786aedb5f9921c46dec8adf5d5d80443" + diff --git a/.import/on.png-4bc6a2158c537328d87921ed56daf94b.stex b/.import/on.png-4bc6a2158c537328d87921ed56daf94b.stex new file mode 100644 index 0000000..18a8c2b Binary files /dev/null and b/.import/on.png-4bc6a2158c537328d87921ed56daf94b.stex differ diff --git a/.import/plus0.png-f742ef172b1b3261c3f4f94612adc002.md5 b/.import/plus0.png-f742ef172b1b3261c3f4f94612adc002.md5 new file mode 100644 index 0000000..6de66c9 --- /dev/null +++ b/.import/plus0.png-f742ef172b1b3261c3f4f94612adc002.md5 @@ -0,0 +1,3 @@ +source_md5="3e46c68a686c87959e97519c25a35e46" +dest_md5="c25d3e0fc261f6ed19218d9c837850f4" + diff --git a/.import/plus0.png-f742ef172b1b3261c3f4f94612adc002.stex b/.import/plus0.png-f742ef172b1b3261c3f4f94612adc002.stex new file mode 100644 index 0000000..af8a9d2 Binary files /dev/null and b/.import/plus0.png-f742ef172b1b3261c3f4f94612adc002.stex differ diff --git a/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.etc.stex b/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.etc.stex new file mode 100644 index 0000000..cf3cd61 Binary files /dev/null and b/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.etc.stex differ diff --git a/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.md5 b/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.md5 new file mode 100644 index 0000000..1328594 --- /dev/null +++ b/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.md5 @@ -0,0 +1,3 @@ +source_md5="ceec25b08b0d0ebb65b34989f2ac10b2" +dest_md5="34ea352b537e79967ccf8d818710414f" + diff --git a/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.s3tc.stex b/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.s3tc.stex new file mode 100644 index 0000000..cffe32e Binary files /dev/null and b/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.s3tc.stex differ diff --git a/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.stex b/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.stex new file mode 100644 index 0000000..9250a8e Binary files /dev/null and b/.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.stex differ diff --git a/assets/fonts/date_label.tres b/assets/fonts/date_label.tres new file mode 100644 index 0000000..26c1923 --- /dev/null +++ b/assets/fonts/date_label.tres @@ -0,0 +1,9 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://assets/fonts/Helvetica/Helvetica-standard.ttf" type="DynamicFontData" id=1] + +[resource] +size = 12 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) diff --git a/assets/fonts/username_label.tres b/assets/fonts/username_label.tres new file mode 100644 index 0000000..81e482f --- /dev/null +++ b/assets/fonts/username_label.tres @@ -0,0 +1,8 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://assets/fonts/Helvetica/Helvetica-Bold.ttf" type="DynamicFontData" id=1] + +[resource] +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) diff --git a/assets/textures/receivedmessage.png b/assets/textures/bg1.png similarity index 100% rename from assets/textures/receivedmessage.png rename to assets/textures/bg1.png diff --git a/assets/textures/sendedmessage.png.import b/assets/textures/bg1.png.import similarity index 69% rename from assets/textures/sendedmessage.png.import rename to assets/textures/bg1.png.import index 7f0cb29..d07d859 100644 --- a/assets/textures/sendedmessage.png.import +++ b/assets/textures/bg1.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/sendedmessage.png-1993f79a450b61f8cc85cf448c69010c.stex" +path="res://.import/bg1.png-2d9bbad5f625762ac0af49d7ca55a8a6.stex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/textures/sendedmessage.png" -dest_files=[ "res://.import/sendedmessage.png-1993f79a450b61f8cc85cf448c69010c.stex" ] +source_file="res://assets/textures/bg1.png" +dest_files=[ "res://.import/bg1.png-2d9bbad5f625762ac0af49d7ca55a8a6.stex" ] [params] diff --git a/assets/textures/sendedmessage.png b/assets/textures/bg2.png similarity index 100% rename from assets/textures/sendedmessage.png rename to assets/textures/bg2.png diff --git a/assets/textures/receivedmessage.png.import b/assets/textures/bg2.png.import similarity index 69% rename from assets/textures/receivedmessage.png.import rename to assets/textures/bg2.png.import index 753403c..ea2e59f 100644 --- a/assets/textures/receivedmessage.png.import +++ b/assets/textures/bg2.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/receivedmessage.png-d95d8fd9495e2ef27a08219e22416dff.stex" +path="res://.import/bg2.png-037ea2aab7e76c11ac02a64d0acebd69.stex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/textures/receivedmessage.png" -dest_files=[ "res://.import/receivedmessage.png-d95d8fd9495e2ef27a08219e22416dff.stex" ] +source_file="res://assets/textures/bg2.png" +dest_files=[ "res://.import/bg2.png-037ea2aab7e76c11ac02a64d0acebd69.stex" ] [params] diff --git a/assets/textures/profilepicture/1.jpg b/assets/textures/profilepicture/1.jpg new file mode 100644 index 0000000..e5042f1 Binary files /dev/null and b/assets/textures/profilepicture/1.jpg differ diff --git a/assets/textures/profilepicture/1.jpg.import b/assets/textures/profilepicture/1.jpg.import new file mode 100644 index 0000000..c10b85a --- /dev/null +++ b/assets/textures/profilepicture/1.jpg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/1.jpg-7276ac5cb19c72f2df421cd60bf4c086.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/profilepicture/1.jpg" +dest_files=[ "res://.import/1.jpg-7276ac5cb19c72f2df421cd60bf4c086.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/textures/profilepicture/2.jpg b/assets/textures/profilepicture/2.jpg new file mode 100644 index 0000000..515a813 Binary files /dev/null and b/assets/textures/profilepicture/2.jpg differ diff --git a/assets/textures/profilepicture/2.jpg.import b/assets/textures/profilepicture/2.jpg.import new file mode 100644 index 0000000..97fb225 --- /dev/null +++ b/assets/textures/profilepicture/2.jpg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="StreamTexture" +path.s3tc="res://.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.s3tc.stex" +path.etc="res://.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.etc.stex" +metadata={ +"imported_formats": [ "s3tc", "etc" ], +"vram_texture": true +} + +[deps] + +source_file="res://assets/textures/profilepicture/2.jpg" +dest_files=[ "res://.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.s3tc.stex", "res://.import/2.jpg-a6860f3420aa314326ad7a28f94823fa.etc.stex" ] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=true +flags/filter=true +flags/mipmaps=true +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/textures/profilepicture/shape.png b/assets/textures/profilepicture/shape.png new file mode 100644 index 0000000..76f8ed7 Binary files /dev/null and b/assets/textures/profilepicture/shape.png differ diff --git a/assets/textures/profilepicture/shape.png.import b/assets/textures/profilepicture/shape.png.import new file mode 100644 index 0000000..7200163 --- /dev/null +++ b/assets/textures/profilepicture/shape.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/profilepicture/shape.png" +dest_files=[ "res://.import/shape.png-8ea81c746be02ee8ccedc5a6d73f5cb5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/textures/profilepicture/shape.shader b/assets/textures/profilepicture/shape.shader new file mode 100644 index 0000000..4aca8df --- /dev/null +++ b/assets/textures/profilepicture/shape.shader @@ -0,0 +1,8 @@ +shader_type canvas_item; +render_mode blend_mix; + +uniform sampler2D mask; + +void fragment() { + COLOR = texture(TEXTURE, UV) * vec4(vec3(1.0), texture(mask, UV).r); +} \ No newline at end of file diff --git a/assets/ui/icons/off.png b/assets/ui/icons/off.png new file mode 100644 index 0000000..55ea1cc Binary files /dev/null and b/assets/ui/icons/off.png differ diff --git a/assets/ui/icons/off.png.import b/assets/ui/icons/off.png.import new file mode 100644 index 0000000..7191a0b --- /dev/null +++ b/assets/ui/icons/off.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/off.png-f8f2df2e86728445b5ee9dc41ada0725.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/icons/off.png" +dest_files=[ "res://.import/off.png-f8f2df2e86728445b5ee9dc41ada0725.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/ui/icons/on.png b/assets/ui/icons/on.png new file mode 100644 index 0000000..17d45b9 Binary files /dev/null and b/assets/ui/icons/on.png differ diff --git a/assets/ui/icons/on.png.import b/assets/ui/icons/on.png.import new file mode 100644 index 0000000..96da16d --- /dev/null +++ b/assets/ui/icons/on.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/on.png-4bc6a2158c537328d87921ed56daf94b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/icons/on.png" +dest_files=[ "res://.import/on.png-4bc6a2158c537328d87921ed56daf94b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/ui/icons/plus0.png b/assets/ui/icons/plus0.png new file mode 100644 index 0000000..42addc3 Binary files /dev/null and b/assets/ui/icons/plus0.png differ diff --git a/assets/ui/icons/plus0.png.import b/assets/ui/icons/plus0.png.import new file mode 100644 index 0000000..df157c2 --- /dev/null +++ b/assets/ui/icons/plus0.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/plus0.png-f742ef172b1b3261c3f4f94612adc002.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/icons/plus0.png" +dest_files=[ "res://.import/plus0.png-f742ef172b1b3261c3f4f94612adc002.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=true +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/ui/mainTheme.tres b/assets/ui/mainTheme.tres index b145e19..dbff474 100644 --- a/assets/ui/mainTheme.tres +++ b/assets/ui/mainTheme.tres @@ -16,12 +16,7 @@ corner_radius_top_right = 15 corner_radius_bottom_right = 15 corner_radius_bottom_left = 15 -[sub_resource type="StyleBoxFlat" id=8] -bg_color = Color( 0.121569, 0.137255, 0.160784, 1 ) -border_width_left = 2 -border_width_top = 2 -border_width_right = 2 -border_width_bottom = 2 +[sub_resource type="StyleBoxEmpty" id=10] [sub_resource type="StyleBoxFlat" id=7] bg_color = Color( 0.184314, 0.203922, 0.239216, 1 ) @@ -35,6 +30,7 @@ corner_radius_bottom_right = 10 corner_radius_bottom_left = 5 [sub_resource type="DynamicFont" id=3] +size = 17 use_mipmaps = true use_filter = true font_data = ExtResource( 1 ) @@ -43,7 +39,7 @@ font_data = ExtResource( 1 ) default_font = SubResource( 3 ) Panel/styles/panel = SubResource( 5 ) PanelContainer/styles/panel = SubResource( 6 ) -TextEdit/styles/normal = SubResource( 8 ) +TextEdit/styles/normal = SubResource( 10 ) Tree/styles/bg = SubResource( 7 ) VScrollBar/styles/grabber = SubResource( 9 ) VScrollBar/styles/grabber_highlight = SubResource( 9 ) diff --git a/assets/ui/receivedMessage.tscn b/assets/ui/receivedMessage.tscn index 7ab77ca..df4e282 100644 --- a/assets/ui/receivedMessage.tscn +++ b/assets/ui/receivedMessage.tscn @@ -28,38 +28,21 @@ texture = ExtResource( 2 ) expand = true stretch_mode = 5 -[node name="VBoxContainer" type="MarginContainer" parent="."] +[node name="VBoxContainer2" type="VBoxContainer" parent="."] margin_left = 69.0 margin_right = 246.0 -margin_bottom = 65.0 -size_flags_horizontal = 0 -size_flags_vertical = 3 -custom_constants/margin_top = 10 -custom_constants/margin_left = 10 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer"] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 177.0 -margin_bottom = 58.0 +margin_bottom = 94.0 size_flags_horizontal = 3 size_flags_vertical = 2 custom_constants/separation = 5 -[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/VBoxContainer"] -margin_right = 167.0 -margin_bottom = 19.0 -size_flags_vertical = 3 -custom_constants/margin_left = 5 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/VBoxContainer/MarginContainer"] -margin_left = 5.0 -margin_right = 167.0 +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer2"] +margin_right = 177.0 margin_bottom = 19.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/MarginContainer/HBoxContainer"] +[node name="Label" type="Label" parent="VBoxContainer2/HBoxContainer"] margin_right = 65.0 margin_bottom = 19.0 size_flags_vertical = 3 @@ -67,9 +50,9 @@ custom_fonts/font = SubResource( 1 ) text = "Bluejim" valign = 1 -[node name="Label2" type="Label" parent="VBoxContainer/VBoxContainer/MarginContainer/HBoxContainer"] +[node name="Label2" type="Label" parent="VBoxContainer2/HBoxContainer"] margin_left = 69.0 -margin_right = 162.0 +margin_right = 177.0 margin_bottom = 19.0 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -77,10 +60,16 @@ text = "Today at 05:59" align = 2 valign = 1 -[node name="NinePatchRect" type="NinePatchRect" parent="VBoxContainer/VBoxContainer"] +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer2"] margin_top = 24.0 -margin_right = 167.0 -margin_bottom = 48.0 +margin_right = 177.0 +margin_bottom = 94.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="NinePatchRect" type="NinePatchRect" parent="VBoxContainer2/MarginContainer"] +margin_right = 177.0 +margin_bottom = 70.0 size_flags_horizontal = 3 size_flags_vertical = 3 texture = ExtResource( 1 ) @@ -92,17 +81,28 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="RichTextLabel" type="Label" parent="VBoxContainer/VBoxContainer/NinePatchRect"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -60.5 -margin_top = -7.0 -margin_right = 61.5 -margin_bottom = 7.0 -custom_colors/font_color = Color( 0, 0, 0, 1 ) -text = "Received Message." +[node name="MarginContainer (Force Fill_Expand)" type="MarginContainer" parent="VBoxContainer2/MarginContainer"] +margin_right = 177.0 +margin_bottom = 70.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 16 +custom_constants/margin_bottom = 5 __meta__ = { "_edit_use_anchors_": false } + +[node name="Label" type="RichTextLabel" parent="VBoxContainer2/MarginContainer/MarginContainer (Force Fill_Expand)"] +margin_left = 16.0 +margin_top = 5.0 +margin_right = 172.0 +margin_bottom = 65.0 +size_flags_vertical = 0 +custom_colors/default_color = Color( 0, 0, 0, 1 ) +bbcode_enabled = true +bbcode_text = "This is supposed to expand once the label grows up. +Now it did." +text = "This is supposed to expand once the label grows up. +Now it did." +fit_content_height = true +scroll_active = false diff --git a/icon.png b/icon.png index c98fbb6..10549b3 100644 Binary files a/icon.png and b/icon.png differ diff --git a/main.tscn b/main.tscn index 2f62b83..290e2c0 100644 --- a/main.tscn +++ b/main.tscn @@ -1,14 +1,17 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=21 format=2] [ext_resource path="res://assets/ui/mainTheme.tres" type="Theme" id=1] [ext_resource path="res://assets/fonts/Helvetica/Helvetica-Bold.ttf" type="DynamicFontData" id=2] [ext_resource path="res://assets/textures/jimsito.png" type="Texture" id=3] -[ext_resource path="res://assets/ui/sendedMessage.tscn" type="PackedScene" id=4] -[ext_resource path="res://assets/ui/receivedMessage.tscn" type="PackedScene" id=5] +[ext_resource path="res://assets/fonts/Helvetica/Helvetica-Oblique.ttf" type="DynamicFontData" id=4] +[ext_resource path="res://assets/ui/icons/off.png" type="Texture" id=5] [ext_resource path="res://assets/ui/icons/call0.png" type="Texture" id=6] [ext_resource path="res://treecontrolling.gd" type="Script" id=7] [ext_resource path="res://assets/ui/icons/call01.png" type="Texture" id=8] [ext_resource path="res://assets/ui/icons/call1.png" type="Texture" id=9] +[ext_resource path="res://system/core.gd" type="Script" id=10] +[ext_resource path="res://assets/ui/icons/on.png" type="Texture" id=11] +[ext_resource path="res://assets/ui/icons/plus0.png" type="Texture" id=12] [sub_resource type="StyleBoxFlat" id=15] bg_color = Color( 0.0823529, 0.101961, 0.133333, 1 ) @@ -23,18 +26,39 @@ corner_radius_top_left = 10 corner_radius_top_right = 10 [sub_resource type="DynamicFont" id=14] -size = 24 use_mipmaps = true use_filter = true font_data = ExtResource( 2 ) -[node name="Control" type="Control"] +[sub_resource type="DynamicFont" id=17] +size = 24 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 4 ) + +[sub_resource type="StyleBoxFlat" id=18] +bg_color = Color( 0.25098, 0.266667, 0.294118, 1 ) +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxEmpty" id=19] + +[sub_resource type="StyleBoxEmpty" id=20] + +[node name="core" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 theme = ExtResource( 1 ) +script = ExtResource( 10 ) __meta__ = { "_edit_use_anchors_": false } +main_input_path = NodePath("Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer/MarginContainer/VBoxContainer/HBoxContainer/MarginContainer/TextEdit") +message_scroller_path = NodePath("Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer") +message_container_path = NodePath("Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/messageContainer") +username_label_path = NodePath("Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/Profile/UserTexts/Label") [node name="Panel" type="Panel" parent="."] anchor_right = 1.0 @@ -60,88 +84,98 @@ __meta__ = { [node name="Structure" type="VBoxContainer" parent="Panel/Margin"] margin_left = 20.0 margin_top = 20.0 -margin_right = 1157.0 -margin_bottom = 789.0 +margin_right = 1346.0 +margin_bottom = 738.0 custom_constants/separation = 20 +__meta__ = { +"_edit_use_anchors_": false +} [node name="Header" type="PanelContainer" parent="Panel/Margin/Structure"] -margin_right = 1137.0 -margin_bottom = 83.0 +margin_right = 1326.0 +margin_bottom = 77.0 size_flags_horizontal = 3 size_flags_vertical = 3 +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Margin/Structure/Header"] +margin_right = 1326.0 +margin_bottom = 77.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 2 + [node name="Body" type="HBoxContainer" parent="Panel/Margin/Structure"] -margin_top = 103.0 -margin_right = 1137.0 -margin_bottom = 769.0 +margin_top = 97.0 +margin_right = 1326.0 +margin_bottom = 718.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 8.0 custom_constants/separation = 20 [node name="SidePanel" type="PanelContainer" parent="Panel/Margin/Structure/Body"] -margin_right = 279.0 -margin_bottom = 666.0 +margin_right = 288.0 +margin_bottom = 621.0 rect_min_size = Vector2( 279, 0 ) size_flags_horizontal = 3 size_flags_vertical = 3 -size_flags_stretch_ratio = 2.0 +size_flags_stretch_ratio = 1.7 custom_styles/panel = SubResource( 16 ) [node name="VBoxContainer" type="VBoxContainer" parent="Panel/Margin/Structure/Body/SidePanel"] -margin_right = 279.0 -margin_bottom = 666.0 +margin_right = 288.0 +margin_bottom = 621.0 [node name="Margin" type="MarginContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer"] -margin_right = 279.0 -margin_bottom = 588.0 +margin_right = 288.0 +margin_bottom = 548.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 8.0 [node name="Structure" type="VBoxContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/Margin"] -margin_right = 279.0 -margin_bottom = 588.0 +margin_right = 288.0 +margin_bottom = 548.0 [node name="Panel" type="Panel" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/Margin/Structure"] -margin_right = 279.0 -margin_bottom = 83.0 +margin_right = 288.0 +margin_bottom = 77.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_styles/panel = SubResource( 9 ) [node name="VBoxContainer" type="VBoxContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/Margin/Structure"] -margin_top = 87.0 -margin_right = 279.0 -margin_bottom = 588.0 +margin_top = 81.0 +margin_right = 288.0 +margin_bottom = 548.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 6.0 script = ExtResource( 7 ) [node name="Tree" type="Tree" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/Margin/Structure/VBoxContainer"] -margin_right = 279.0 -margin_bottom = 248.0 +margin_right = 288.0 +margin_bottom = 231.0 size_flags_horizontal = 3 size_flags_vertical = 3 [node name="Tree2" type="Tree" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/Margin/Structure/VBoxContainer"] -margin_top = 252.0 -margin_right = 279.0 -margin_bottom = 501.0 +margin_top = 235.0 +margin_right = 288.0 +margin_bottom = 467.0 size_flags_horizontal = 3 size_flags_vertical = 3 [node name="UserToolbox" type="PanelContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer"] -margin_top = 592.0 -margin_right = 279.0 -margin_bottom = 666.0 +margin_top = 552.0 +margin_right = 288.0 +margin_bottom = 621.0 size_flags_horizontal = 3 size_flags_vertical = 3 [node name="Margin" type="MarginContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox"] -margin_right = 279.0 -margin_bottom = 74.0 +margin_right = 288.0 +margin_bottom = 69.0 custom_constants/margin_right = 10 custom_constants/margin_top = 10 custom_constants/margin_left = 10 @@ -150,57 +184,51 @@ custom_constants/margin_bottom = 10 [node name="Structure" type="HBoxContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin"] margin_left = 10.0 margin_top = 10.0 -margin_right = 269.0 -margin_bottom = 64.0 +margin_right = 278.0 +margin_bottom = 59.0 -[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure"] -margin_right = 170.0 -margin_bottom = 54.0 +[node name="Profile" type="HBoxContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure"] +margin_right = 147.0 +margin_bottom = 49.0 size_flags_horizontal = 3 size_flags_vertical = 3 -size_flags_stretch_ratio = 2.0 +size_flags_stretch_ratio = 4.0 custom_constants/separation = 10 -[node name="TextureRect" type="TextureRect" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/HBoxContainer"] -margin_right = 53.0 -margin_bottom = 54.0 +[node name="UserProfile" type="TextureRect" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/Profile"] +margin_right = 58.0 +margin_bottom = 49.0 size_flags_horizontal = 3 size_flags_vertical = 3 +size_flags_stretch_ratio = 1.5 texture = ExtResource( 3 ) expand = true stretch_mode = 6 -[node name="VBoxContainer" type="VBoxContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/HBoxContainer"] -margin_left = 63.0 -margin_right = 170.0 -margin_bottom = 54.0 +[node name="UserTexts" type="VBoxContainer" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/Profile"] +margin_left = 68.0 +margin_right = 147.0 +margin_bottom = 49.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 2.0 alignment = 1 -[node name="Label" type="Label" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/HBoxContainer/VBoxContainer"] -margin_right = 107.0 -margin_bottom = 25.0 +[node name="Label" type="Label" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/Profile/UserTexts"] +margin_right = 79.0 +margin_bottom = 49.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_fonts/font = SubResource( 14 ) -text = "Axsajim" +text = "asdasd" valign = 1 +autowrap = true +clip_text = true -[node name="Label2" type="Label" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/HBoxContainer/VBoxContainer"] -margin_top = 29.0 -margin_right = 107.0 -margin_bottom = 54.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "WORKMODE" -valign = 1 - -[node name="Panel" type="TextureButton" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure"] -margin_left = 174.0 -margin_right = 259.0 -margin_bottom = 54.0 +[node name="CallButton" type="TextureButton" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure"] +margin_left = 151.0 +margin_right = 187.0 +margin_bottom = 49.0 size_flags_horizontal = 3 size_flags_vertical = 3 texture_normal = ExtResource( 6 ) @@ -209,160 +237,148 @@ texture_hover = ExtResource( 8 ) expand = true stretch_mode = 5 +[node name="CheckButton" type="CheckButton" parent="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure"] +margin_left = 191.0 +margin_right = 267.0 +margin_bottom = 49.0 +size_flags_stretch_ratio = 0.5 +custom_fonts/font = SubResource( 17 ) +custom_icons/off = ExtResource( 5 ) +custom_icons/on = ExtResource( 11 ) +align = 1 +expand_icon = true + [node name="ChatPanel" type="PanelContainer" parent="Panel/Margin/Structure/Body"] -margin_left = 299.0 -margin_right = 1137.0 -margin_bottom = 666.0 +margin_left = 308.0 +margin_right = 1326.0 +margin_bottom = 621.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 6.0 [node name="VBoxContainer" type="VBoxContainer" parent="Panel/Margin/Structure/Body/ChatPanel"] -margin_right = 838.0 -margin_bottom = 666.0 +margin_right = 1018.0 +margin_bottom = 621.0 size_flags_horizontal = 3 size_flags_vertical = 3 [node name="MarginContainer" type="MarginContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer"] -margin_right = 838.0 -margin_bottom = 588.0 +margin_right = 1018.0 +margin_bottom = 548.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 8.0 -custom_constants/margin_right = 70 -custom_constants/margin_top = 20 -custom_constants/margin_left = 35 -custom_constants/margin_bottom = 35 +custom_constants/margin_right = 20 +custom_constants/margin_top = 10 +custom_constants/margin_left = 10 +custom_constants/margin_bottom = 10 [node name="ScrollContainer" type="ScrollContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer"] -margin_left = 35.0 -margin_top = 20.0 -margin_right = 768.0 -margin_bottom = 553.0 +margin_left = 10.0 +margin_top = 10.0 +margin_right = 998.0 +margin_bottom = 538.0 size_flags_horizontal = 3 size_flags_vertical = 3 scroll_horizontal_enabled = false -[node name="VBoxContainer" type="VBoxContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer"] -margin_right = 721.0 -margin_bottom = 617.0 +[node name="messageContainer" type="VBoxContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer"] +margin_right = 988.0 +margin_bottom = 528.0 +focus_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +custom_constants/separation = 20 -[node name="receivedMessage" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 5 )] -margin_right = 721.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="sendedMessage" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 4 )] -anchor_left = 0.0 -anchor_right = 0.0 -margin_left = 0.0 -margin_top = 69.0 -margin_right = 721.0 -margin_bottom = 134.0 -rect_scale = Vector2( 1, 1 ) -size_flags_horizontal = 3 - -[node name="sendedMessage2" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 4 )] -anchor_left = 0.0 -anchor_right = 0.0 -margin_left = 0.0 -margin_top = 138.0 -margin_right = 721.0 -margin_bottom = 203.0 -rect_scale = Vector2( 1, 1 ) -size_flags_horizontal = 3 - -[node name="sendedMessage4" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 4 )] -anchor_left = 0.0 -anchor_right = 0.0 -margin_left = 0.0 -margin_top = 207.0 -margin_right = 721.0 -margin_bottom = 272.0 -rect_scale = Vector2( 1, 1 ) -size_flags_horizontal = 3 - -[node name="receivedMessage2" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 5 )] -margin_top = 276.0 -margin_right = 721.0 -margin_bottom = 341.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="receivedMessage3" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 5 )] -margin_top = 345.0 -margin_right = 721.0 -margin_bottom = 410.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="receivedMessage5" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 5 )] -margin_top = 414.0 -margin_right = 721.0 -margin_bottom = 479.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="sendedMessage3" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 4 )] -anchor_left = 0.0 -anchor_right = 0.0 -margin_left = 0.0 -margin_top = 483.0 -margin_right = 721.0 -margin_bottom = 548.0 -rect_scale = Vector2( 1, 1 ) -size_flags_horizontal = 3 - -[node name="receivedMessage4" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource( 5 )] +[node name="PanelContainer" type="Panel" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer"] margin_top = 552.0 -margin_right = 721.0 -margin_bottom = 617.0 +margin_right = 1018.0 +margin_bottom = 621.0 size_flags_horizontal = 3 size_flags_vertical = 3 +custom_styles/panel = SubResource( 18 ) -[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer"] -margin_top = 592.0 -margin_right = 838.0 -margin_bottom = 666.0 +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer"] +margin_right = 1018.0 +margin_bottom = 69.0 size_flags_horizontal = 3 size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} -[node name="InputContainer" type="PanelContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/HBoxContainer"] -margin_right = 741.0 -margin_bottom = 74.0 +[node name="InputContainer" type="PanelContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer"] +margin_right = 921.0 +margin_bottom = 69.0 size_flags_horizontal = 3 size_flags_vertical = 3 -size_flags_stretch_ratio = 8.0 +size_flags_stretch_ratio = 10.0 +custom_styles/panel = SubResource( 19 ) -[node name="MarginContainer" type="MarginContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/HBoxContainer/InputContainer"] -margin_right = 741.0 -margin_bottom = 74.0 +[node name="MarginContainer" type="MarginContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer"] +margin_right = 921.0 +margin_bottom = 69.0 custom_constants/margin_right = 10 custom_constants/margin_top = 10 custom_constants/margin_left = 10 custom_constants/margin_bottom = 10 -[node name="TextEdit" type="TextEdit" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/HBoxContainer/InputContainer/MarginContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer/MarginContainer"] margin_left = 10.0 margin_top = 10.0 -margin_right = 731.0 -margin_bottom = 64.0 -text = "Message" +margin_right = 911.0 +margin_bottom = 59.0 -[node name="TimerConainer" type="PanelContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/HBoxContainer"] -margin_left = 745.0 -margin_right = 838.0 -margin_bottom = 74.0 +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer/MarginContainer/VBoxContainer"] +margin_right = 901.0 +margin_bottom = 49.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="Label" type="Label" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/HBoxContainer/TimerConainer"] +[node name="UploadButton" type="TextureButton" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer/MarginContainer/VBoxContainer/HBoxContainer"] +margin_right = 50.0 +margin_bottom = 49.0 +rect_min_size = Vector2( 50, 0 ) +texture_normal = ExtResource( 12 ) +expand = true +stretch_mode = 5 + +[node name="MarginContainer" type="MarginContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer/MarginContainer/VBoxContainer/HBoxContainer"] +margin_left = 54.0 +margin_right = 901.0 +margin_bottom = 49.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/margin_top = 13 +custom_constants/margin_left = 10 +custom_constants/margin_bottom = 10 + +[node name="TextEdit" type="TextEdit" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer/MarginContainer/VBoxContainer/HBoxContainer/MarginContainer"] +margin_left = 10.0 +margin_top = 13.0 +margin_right = 847.0 +margin_bottom = 39.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_colors/font_color = Color( 0.72549, 0.733333, 0.745098, 1 ) +text = "Message" + +[node name="TimerConainer" type="PanelContainer" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer"] +margin_left = 925.0 +margin_right = 1018.0 +margin_bottom = 69.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_styles/panel = SubResource( 20 ) + +[node name="Label" type="Label" parent="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/TimerConainer"] margin_right = 93.0 -margin_bottom = 74.0 +margin_bottom = 69.0 size_flags_horizontal = 3 size_flags_vertical = 3 text = "00:00:00" align = 1 valign = 1 + +[connection signal="toggled" from="Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/CheckButton" to="." method="_on_CheckButton_toggled"] +[connection signal="pressed" from="Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer/MarginContainer/VBoxContainer/HBoxContainer/UploadButton" to="." method="_on_UploadButton_pressed"] diff --git a/project.godot b/project.godot index b2f068a..c239032 100644 --- a/project.godot +++ b/project.godot @@ -8,16 +8,32 @@ config_version=4 +_global_script_classes=[ { +"base": "Resource", +"class": "Message", +"language": "GDScript", +"path": "res://system/message/message.gd" +}, { +"base": "Resource", +"class": "User", +"language": "GDScript", +"path": "res://system/users/user.gd" +} ] +_global_script_class_icons={ +"Message": "", +"User": "" +} + [application] -config/name="Diary" +config/name="SelfMessenger" run/main_scene="res://main.tscn" config/icon="res://icon.png" [display] -window/size/width=1177 -window/size/height=819 +window/size/width=1366 +window/size/height=768 [physics] diff --git a/system/Message.gd b/system/Message.gd new file mode 100644 index 0000000..84a2e67 --- /dev/null +++ b/system/Message.gd @@ -0,0 +1,120 @@ +tool +extends HBoxContainer + +onready var bg_texture = preload("res://assets/textures/bg.png") + +func create_message(): + # Creates Data + var resource = Message.new() + resource.user = 1 + resource.date = "today" + resource.content = "hello" + resource.profile_picture = null + + var user = resource.user + var date = resource.date + var content = resource.content + var pfp = resource.profile_picture + + + print("Resource: ", resource, "\nUser: ", user, "\nDate: ", date, "\nContent: ", content, "\nProfile Picture: ", pfp) + + # root is a HBoxContainer. + var root = HBoxContainer.new() + + # Icon is a texture_rect connected to the root. + # HBoxContainer/TextureRect + # Settings are... + # Texture: Should load texture from 'Resource.new()' once sent a message. + # Expand: On + # Stretch Mode: Keep Aspect + # Size Flags: Null + var profile_picture = TextureRect.new() + profile_picture.set_texture(pfp) + profile_picture.set_custom_minimum_size(Vector2(65, 65)) + profile_picture.expand = true + profile_picture.size_flags_horizontal = 0 + profile_picture.size_flags_vertical = 0 + profile_picture.set_name("profile_picture") + + self.add_child(profile_picture) + + # Main node for message's Header and Body + # Separates sections of Header and Body + var GridStructure = VBoxContainer.new() + GridStructure.set_name("GridStructure") + self.add_child(GridStructure) + # Header (Contains Name Label and Date Label) + var Header = HBoxContainer.new() + Header.set_name("Header") + GridStructure.add_child(Header) + + var NameLabel = Label.new() + NameLabel.set_name("NameLabel") + NameLabel.set_text(name) + Header.add_child(NameLabel) + + var DateLabel = Label.new() + DateLabel.set_name("DateLabel") + DateLabel.set_text(date) + Header.add_child(DateLabel) + + + + # Body (Contains NinePatchRect for Background and Margins that contain the RichTextLabel + var Body = MarginContainer.new() + Body.set_name("Body") + GridStructure.add_child(Body) + # BGTexture uses NinePatchRect for Message Bubble + var BGTexture = NinePatchRect.new() + BGTexture.set_name("BGTexture") + BGTexture.set_texture(bg_texture) + BGTexture.patch_margin_left = 21 + BGTexture.patch_margin_top = 12 + BGTexture.patch_margin_right = 12 + BGTexture.patch_margin_bottom = 12 + BGTexture.size_flags_horizontal = 3 + BGTexture.size_flags_vertical = 3 + Body.add_child(BGTexture) + # Margin forces FILL_EXPAND into it's children. + var Margin = MarginContainer.new() + Margin.set_name("Margin") + Margin.add_constant_override("margin_top", 5) + Margin.add_constant_override("margin_left", 16) + Margin.add_constant_override("margin_right", 5) + Margin.add_constant_override("margin_bottom", 5) + Body.add_child(Margin) + # Stretch is what keeps the Message expanding as if it has an anchor for Full_Rect + + # Body Content: + var TextLabel = RichTextLabel.new() + TextLabel.set_name("TextLabel") + TextLabel.bbcode_enabled = true + TextLabel.set_bbcode(content) + TextLabel.fit_content_height = true + TextLabel.scroll_active = false + TextLabel.size_flags_horizontal = 1 + TextLabel.add_color_override("default_color", Color(0,0,0,1)) + Margin.add_child(TextLabel) + +func build_time(): + var time + var all_time = false + var os_time = OS.get_datetime() + var storaged_today = OS.get_datetime().day + var storaged_yesterday = OS.get_datetime().day +1 + + if storaged_today == os_time.day: + time = "today" + if storaged_yesterday == os_time.day +1: + storaged_yesterday = "yesterday" + if os_time.day > 1: + print("Before Yesterday: ",os_time.day, "/", os_time.month, "/", os_time.year) + + + + print("if Today: ", time, "\nif Yesterday: ", storaged_yesterday) + +func _ready(): + + build_time() diff --git a/system/Message.tscn b/system/Message.tscn new file mode 100644 index 0000000..be99d8c --- /dev/null +++ b/system/Message.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://system/Message.gd" type="Script" id=1] + +[node name="Message" type="HBoxContainer"] +margin_right = 295.0 +margin_bottom = 150.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/system/core.gd b/system/core.gd new file mode 100644 index 0000000..38d37a4 --- /dev/null +++ b/system/core.gd @@ -0,0 +1,206 @@ +extends Control + +export(NodePath) var main_input_path +onready var main_input = get_node(main_input_path) + +export(NodePath) var message_scroller_path +onready var msg_scroll = get_node(message_scroller_path) + +export(NodePath) var message_container_path +onready var msg_cont = get_node(message_container_path) + +export(NodePath) var username_label_path +onready var username_label = get_node(username_label_path) + +#export(NodePath) var upload_button_path +#onready var upload_button = get_node(username_label_path) + +#--------- +onready var bg_texture1 = preload("res://assets/textures/bg1.png") +onready var bg_texture2 = preload("res://assets/textures/bg2.png") + +onready var round_shader = preload("res://assets/textures/profilepicture/shape.shader") +onready var round_shape = preload("res://assets/textures/profilepicture/shape.png") +onready var username_font = preload("res://assets/fonts/username_label.tres") +onready var date_font = preload("res://assets/fonts/date_label.tres") + +onready var first_user_data = preload("res://system/users/first_user.tres") +onready var second_user_data = preload("res://system/users/second_user.tres") + +func _ready(): + username_label.set_text(first_user_data.username) + +func _on_CheckButton_toggled(button_pressed): + if button_pressed == true: + username_label.set_text(second_user_data.username) + elif button_pressed == false: + username_label.set_text(first_user_data.username) + +func _input(event): + if event is InputEventKey: + if Input.is_action_just_pressed("ui_accept"): + create_message() + elif Input.is_action_just_released("ui_accept"): + var test = msg_cont.get_size().y + var scroller = msg_scroll.get_child(2) + scroller.set("value", test) + main_input.set_text("") + +func create_message(): + + var text_content = main_input.get_text() + var username = username_label.get_text() + var resource = Message.new() + resource.user = username + + # Define date + var os_time = OS.get_datetime() + var storaged_today = OS.get_datetime().day + + if storaged_today == os_time.day: + resource.date = "Today, at " + str(OS.get_datetime().hour) + ":" + str(OS.get_datetime().minute) + elif storaged_today == os_time.day +1: + resource.date = "yesterday" + + + resource.content = text_content + + if username_label.get_text() == first_user_data.username: + resource.profile_picture = first_user_data.picture + elif username_label.get_text() == second_user_data.username: + resource.profile_picture = second_user_data.picture + + var msg_min_h_size = 0 + var msg_header_h_size = 0 + if text_content.length() < 25: + msg_min_h_size = 50 + msg_header_h_size = 25 + else: + msg_min_h_size = 350 + msg_header_h_size = 300 + + var datetime = OS.get_datetime() + + var user = resource.user + var date = resource.date + var content = resource.content + var pfp = resource.profile_picture + + + # root is a HBoxContainer. + var root = HBoxContainer.new() + root.set_name("message0") + msg_cont.add_child(root) + + # Icon is a texture_rect connected to the root. + # HBoxContainer/TextureRect + # Settings are... + # Texture: Should load texture from 'Resource.new()' once sent a message. + # Expand: On + # Stretch Mode: Keep Aspect + # Size Flags: Null + var profile_picture = TextureRect.new() + var core_shader = ShaderMaterial.new() + var real_shader = Shader.new() + core_shader.set_shader(real_shader) + var round_shader_txt = round_shader.get_code() + core_shader.set_shader_param("mask", round_shape) + real_shader.set_code(round_shader_txt) + profile_picture.set_texture(pfp) + profile_picture.set_custom_minimum_size(Vector2(65, 65)) + profile_picture.expand = true + profile_picture.size_flags_horizontal = 0 + profile_picture.size_flags_vertical = 0 + profile_picture.set_name("profile_picture") + profile_picture.set_material(core_shader) + + + + # Main node for message's Header and Body + # Separates sections of Header and Body + var GridStructure = VBoxContainer.new() + GridStructure.set_name("GridStructure") + + if username_label.get_text() == first_user_data.username: + root.add_child(profile_picture) + root.add_child(GridStructure) + elif username_label.get_text() == second_user_data.username: + root.size_flags_horizontal = 8 + root.add_child(GridStructure) + root.add_child(profile_picture) + # Header (Contains Name Label and Date Label) + var Header = HBoxContainer.new() + Header.set_name("Header") + Header.set_custom_minimum_size(Vector2(msg_header_h_size,0)) + Header.size_flags_horizontal = 3 + GridStructure.add_child(Header) + + var NameLabel = Label.new() + NameLabel.set_name("NameLabel") + NameLabel.set_text(user) + NameLabel.add_font_override("font", username_font) + NameLabel.size_flags_horizontal = 3 + Header.add_child(NameLabel) + + var DateLabel = Label.new() + DateLabel.set_name("DateLabel") + DateLabel.set_text(str(date)) + DateLabel.add_font_override("font", date_font) + DateLabel.size_flags_horizontal = 3 + Header.add_child(DateLabel) + + + + # Body (Contains NinePatchRect for Background and Margins that contain the RichTextLabel + var Body = MarginContainer.new() + Body.set_name("Body") + GridStructure.set_custom_minimum_size(Vector2(msg_min_h_size, 25)) + GridStructure.add_child(Body) + # BGTexture uses NinePatchRect for Message Bubble + var BGTexture = NinePatchRect.new() + BGTexture.set_name("BGTexture") + if username_label.get_text() == first_user_data.username: + BGTexture.patch_margin_left = 21 + BGTexture.patch_margin_top = 12 + BGTexture.patch_margin_right = 12 + BGTexture.patch_margin_bottom = 12 + BGTexture.size_flags_horizontal = 3 + BGTexture.size_flags_vertical = 3 + BGTexture.set_texture(bg_texture1) + elif username_label.get_text() == second_user_data.username: + BGTexture.patch_margin_left = 12 + BGTexture.patch_margin_top = 12 + BGTexture.patch_margin_right = 21 + BGTexture.patch_margin_bottom = 12 + BGTexture.size_flags_horizontal = 3 + BGTexture.size_flags_vertical = 3 + BGTexture.set_texture(bg_texture2) + Body.add_child(BGTexture) + # Margin forces FILL_EXPAND into it's children. + var Margin = MarginContainer.new() + Margin.set_name("Margin") + if username_label.get_text() == first_user_data.username: + Margin.add_constant_override("margin_top", 5) + Margin.add_constant_override("margin_left", 16) + Margin.add_constant_override("margin_right", 5) + Margin.add_constant_override("margin_bottom", 5) + + if username_label.get_text() == second_user_data.username: + Margin.add_constant_override("margin_top", 5) + Margin.add_constant_override("margin_left", 5) + Margin.add_constant_override("margin_right", 16) + Margin.add_constant_override("margin_bottom", 5) + + Body.add_child(Margin) + # Stretch is what keeps the Message expanding as if it has an anchor for Full_Rect + + # Body Content: + var TextLabel = RichTextLabel.new() + TextLabel.set_name("TextLabel") + TextLabel.bbcode_enabled = true + TextLabel.set_bbcode(content) + TextLabel.fit_content_height = true + TextLabel.scroll_active = false + TextLabel.size_flags_horizontal = 1 + TextLabel.add_color_override("default_color", Color(0,0,0,1)) + Margin.add_child(TextLabel) diff --git a/system/main.gd b/system/main.gd deleted file mode 100644 index e07a0bf..0000000 --- a/system/main.gd +++ /dev/null @@ -1 +0,0 @@ -extends Control diff --git a/system/message/message.gd b/system/message/message.gd new file mode 100644 index 0000000..77f7db0 --- /dev/null +++ b/system/message/message.gd @@ -0,0 +1,10 @@ +extends Resource +class_name Message + +export(String, "user1", "user2") var user + +export var date = "" + +export(String) var content + +export(Texture) var profile_picture diff --git a/system/message/test_message.tres b/system/message/test_message.tres new file mode 100644 index 0000000..9704f0d --- /dev/null +++ b/system/message/test_message.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://system/message/message.gd" type="Script" id=1] +[ext_resource path="res://assets/textures/jimsito.png" type="Texture" id=2] + +[resource] +script = ExtResource( 1 ) +user = "user1" +date = "Today, at 15:07" +content = "This is a test message." +profile_picture = ExtResource( 2 ) diff --git a/system/oldDesign.tscn b/system/oldDesign.tscn index d7c63dd..6268482 100644 --- a/system/oldDesign.tscn +++ b/system/oldDesign.tscn @@ -81,80 +81,80 @@ __meta__ = { [node name="Structure" type="VBoxContainer" parent="Margin"] margin_left = 20.0 margin_top = 20.0 -margin_right = 1346.0 -margin_bottom = 738.0 +margin_right = 1157.0 +margin_bottom = 789.0 custom_constants/separation = 20 [node name="Header" type="PanelContainer" parent="Margin/Structure"] -margin_right = 1326.0 -margin_bottom = 67.0 +margin_right = 1137.0 +margin_bottom = 72.0 size_flags_horizontal = 3 size_flags_vertical = 3 [node name="Body" type="HBoxContainer" parent="Margin/Structure"] -margin_top = 87.0 -margin_right = 1326.0 -margin_bottom = 630.0 +margin_top = 92.0 +margin_right = 1137.0 +margin_bottom = 676.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 8.0 custom_constants/separation = 20 [node name="SidePanel" type="PanelContainer" parent="Margin/Structure/Body"] -margin_right = 326.0 -margin_bottom = 543.0 +margin_right = 279.0 +margin_bottom = 584.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 2.0 [node name="Margin" type="MarginContainer" parent="Margin/Structure/Body/SidePanel"] -margin_right = 326.0 -margin_bottom = 543.0 +margin_right = 279.0 +margin_bottom = 584.0 [node name="Structure" type="VBoxContainer" parent="Margin/Structure/Body/SidePanel/Margin"] -margin_right = 326.0 -margin_bottom = 543.0 +margin_right = 279.0 +margin_bottom = 584.0 [node name="Panel" type="Panel" parent="Margin/Structure/Body/SidePanel/Margin/Structure"] -margin_right = 326.0 -margin_bottom = 77.0 +margin_right = 279.0 +margin_bottom = 82.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_styles/panel = SubResource( 9 ) [node name="VBoxContainer" type="VBoxContainer" parent="Margin/Structure/Body/SidePanel/Margin/Structure"] -margin_top = 81.0 -margin_right = 326.0 -margin_bottom = 543.0 +margin_top = 86.0 +margin_right = 279.0 +margin_bottom = 584.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 6.0 custom_constants/separation = 20 [node name="Tree" type="Tree" parent="Margin/Structure/Body/SidePanel/Margin/Structure/VBoxContainer"] -margin_right = 326.0 -margin_bottom = 221.0 +margin_right = 279.0 +margin_bottom = 239.0 size_flags_horizontal = 3 size_flags_vertical = 3 [node name="Tree2" type="Tree" parent="Margin/Structure/Body/SidePanel/Margin/Structure/VBoxContainer"] -margin_top = 241.0 -margin_right = 326.0 -margin_bottom = 462.0 +margin_top = 259.0 +margin_right = 279.0 +margin_bottom = 498.0 size_flags_horizontal = 3 size_flags_vertical = 3 [node name="ChatPanel" type="PanelContainer" parent="Margin/Structure/Body"] -margin_left = 346.0 -margin_right = 1326.0 -margin_bottom = 543.0 +margin_left = 299.0 +margin_right = 1137.0 +margin_bottom = 584.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 6.0 [node name="MarginContainer" type="MarginContainer" parent="Margin/Structure/Body/ChatPanel"] -margin_right = 980.0 -margin_bottom = 543.0 +margin_right = 838.0 +margin_bottom = 584.0 custom_constants/margin_right = 70 custom_constants/margin_top = 20 custom_constants/margin_left = 35 @@ -163,49 +163,44 @@ custom_constants/margin_bottom = 35 [node name="VBoxContainer" type="VBoxContainer" parent="Margin/Structure/Body/ChatPanel/MarginContainer"] margin_left = 35.0 margin_top = 20.0 -margin_right = 910.0 -margin_bottom = 508.0 +margin_right = 768.0 +margin_bottom = 549.0 -[node name="receivedMessage" type="HBoxContainer" parent="Margin/Structure/Body/ChatPanel/MarginContainer/VBoxContainer" instance=ExtResource( 5 )] -modulate = Color( 0.478431, 0.752941, 1, 1 ) -margin_right = 875.0 -margin_bottom = 242.0 +[node name="receivedMessage" parent="Margin/Structure/Body/ChatPanel/MarginContainer/VBoxContainer" instance=ExtResource( 5 )] +margin_right = 733.0 +margin_bottom = 262.0 size_flags_horizontal = 3 size_flags_vertical = 3 -__meta__ = { -"_edit_use_anchors_": false -} -[node name="sendedMessage" type="HBoxContainer" parent="Margin/Structure/Body/ChatPanel/MarginContainer/VBoxContainer" instance=ExtResource( 4 )] -margin_top = 246.0 -margin_right = 875.0 -margin_bottom = 488.0 -rect_pivot_offset = Vector2( -375, -163 ) +[node name="sendedMessage" parent="Margin/Structure/Body/ChatPanel/MarginContainer/VBoxContainer" instance=ExtResource( 4 )] +anchor_left = 0.0 +anchor_right = 0.0 +margin_left = 0.0 +margin_top = 266.0 +margin_right = 733.0 +margin_bottom = 529.0 +rect_scale = Vector2( 1, 1 ) size_flags_horizontal = 3 size_flags_vertical = 3 -alignment = 2 -__meta__ = { -"_edit_use_anchors_": false -} [node name="Footer" type="HBoxContainer" parent="Margin/Structure"] -margin_top = 650.0 -margin_right = 1326.0 -margin_bottom = 718.0 +margin_top = 696.0 +margin_right = 1137.0 +margin_bottom = 769.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_constants/separation = 20 [node name="UserToolbox" type="PanelContainer" parent="Margin/Structure/Footer"] -margin_right = 329.0 -margin_bottom = 68.0 +margin_right = 281.0 +margin_bottom = 73.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 3.1 [node name="Margin" type="MarginContainer" parent="Margin/Structure/Footer/UserToolbox"] -margin_right = 329.0 -margin_bottom = 68.0 +margin_right = 281.0 +margin_bottom = 73.0 custom_constants/margin_right = 10 custom_constants/margin_top = 10 custom_constants/margin_left = 10 @@ -214,20 +209,20 @@ custom_constants/margin_bottom = 10 [node name="Structure" type="HBoxContainer" parent="Margin/Structure/Footer/UserToolbox/Margin"] margin_left = 10.0 margin_top = 10.0 -margin_right = 319.0 -margin_bottom = 58.0 +margin_right = 271.0 +margin_bottom = 63.0 [node name="HBoxContainer" type="HBoxContainer" parent="Margin/Structure/Footer/UserToolbox/Margin/Structure"] -margin_right = 203.0 -margin_bottom = 48.0 +margin_right = 171.0 +margin_bottom = 53.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 2.0 custom_constants/separation = 10 [node name="TextureRect" type="TextureRect" parent="Margin/Structure/Footer/UserToolbox/Margin/Structure/HBoxContainer"] -margin_right = 64.0 -margin_bottom = 48.0 +margin_right = 51.0 +margin_bottom = 53.0 size_flags_horizontal = 3 size_flags_vertical = 3 texture = ExtResource( 3 ) @@ -235,16 +230,16 @@ expand = true stretch_mode = 6 [node name="VBoxContainer" type="VBoxContainer" parent="Margin/Structure/Footer/UserToolbox/Margin/Structure/HBoxContainer"] -margin_left = 74.0 -margin_right = 203.0 -margin_bottom = 48.0 +margin_left = 61.0 +margin_right = 171.0 +margin_bottom = 53.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 2.0 alignment = 1 [node name="Label" type="Label" parent="Margin/Structure/Footer/UserToolbox/Margin/Structure/HBoxContainer/VBoxContainer"] -margin_right = 129.0 +margin_right = 110.0 margin_bottom = 25.0 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -254,32 +249,32 @@ valign = 1 [node name="Label2" type="Label" parent="Margin/Structure/Footer/UserToolbox/Margin/Structure/HBoxContainer/VBoxContainer"] margin_top = 29.0 -margin_right = 129.0 -margin_bottom = 48.0 +margin_right = 110.0 +margin_bottom = 53.0 size_flags_horizontal = 3 size_flags_vertical = 3 text = "WORKMODE" valign = 1 [node name="Panel" type="Button" parent="Margin/Structure/Footer/UserToolbox/Margin/Structure"] -margin_left = 207.0 -margin_right = 309.0 -margin_bottom = 48.0 +margin_left = 175.0 +margin_right = 261.0 +margin_bottom = 53.0 size_flags_horizontal = 3 size_flags_vertical = 3 text = "Call" [node name="InputContainer" type="PanelContainer" parent="Margin/Structure/Footer"] -margin_left = 349.0 -margin_right = 1199.0 -margin_bottom = 68.0 +margin_left = 301.0 +margin_right = 1026.0 +margin_bottom = 73.0 size_flags_horizontal = 3 size_flags_vertical = 3 size_flags_stretch_ratio = 8.0 [node name="MarginContainer" type="MarginContainer" parent="Margin/Structure/Footer/InputContainer"] -margin_right = 850.0 -margin_bottom = 68.0 +margin_right = 725.0 +margin_bottom = 73.0 custom_constants/margin_right = 30 custom_constants/margin_top = 20 custom_constants/margin_left = 30 @@ -288,20 +283,20 @@ custom_constants/margin_bottom = 20 [node name="TextEdit" type="TextEdit" parent="Margin/Structure/Footer/InputContainer/MarginContainer"] margin_left = 30.0 margin_top = 20.0 -margin_right = 820.0 -margin_bottom = 48.0 +margin_right = 695.0 +margin_bottom = 53.0 text = "Message" [node name="TimerConainer" type="PanelContainer" parent="Margin/Structure/Footer"] -margin_left = 1219.0 -margin_right = 1326.0 -margin_bottom = 68.0 +margin_left = 1046.0 +margin_right = 1137.0 +margin_bottom = 73.0 size_flags_horizontal = 3 size_flags_vertical = 3 [node name="Label" type="Label" parent="Margin/Structure/Footer/TimerConainer"] -margin_right = 107.0 -margin_bottom = 68.0 +margin_right = 91.0 +margin_bottom = 73.0 size_flags_horizontal = 3 size_flags_vertical = 3 text = "00:00:00" diff --git a/system/ping/ping.gd b/system/ping/ping.gd new file mode 100644 index 0000000..9a28f45 --- /dev/null +++ b/system/ping/ping.gd @@ -0,0 +1,195 @@ +extends Node + + +onready var main_input = get_node("../core/Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/PanelContainer/HBoxContainer/InputContainer/MarginContainer/VBoxContainer/HBoxContainer/MarginContainer/TextEdit") + + +onready var msg_scroll = get_node("../core/Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer") + + +onready var msg_cont = get_node("../core/Panel/Margin/Structure/Body/ChatPanel/VBoxContainer/MarginContainer/ScrollContainer/messageContainer") + + +onready var username_label = get_node("../core/Panel/Margin/Structure/Body/SidePanel/VBoxContainer/UserToolbox/Margin/Structure/Profile/UserTexts/Label") + + +onready var bg_texture1 = preload("res://assets/textures/bg1.png") +onready var bg_texture2 = preload("res://assets/textures/bg2.png") + +onready var round_shader = preload("res://assets/textures/profilepicture/shape.shader") +onready var round_shape = preload("res://assets/textures/profilepicture/shape.png") +onready var username_font = preload("res://assets/fonts/username_label.tres") +onready var date_font = preload("res://assets/fonts/date_label.tres") + +onready var first_user_data = preload("res://system/users/first_user.tres") +onready var second_user_data = preload("res://system/users/second_user.tres") + +func _input(event): + if event is InputEventKey: + if Input.is_action_just_pressed("ui_accept"): + create_message() + elif Input.is_action_just_released("ui_accept"): + var test = msg_cont.get_size().y + var scroller = msg_scroll.get_child(2) + scroller.set("value", test) + main_input.set_text("") + + +func create_message(): + + var text_content = main_input.get_text() + var username = username_label.get_text() + var resource = Message.new() + resource.user = username + + # Define date + var os_time = OS.get_datetime() + var storaged_today = OS.get_datetime().day + + if storaged_today == os_time.day: + resource.date = "Today, at " + str(OS.get_datetime().hour) + ":" + str(OS.get_datetime().minute) + elif storaged_today == os_time.day +1: + resource.date = "yesterday" + + + resource.content = text_content + + if username_label.get_text() == first_user_data.username: + resource.profile_picture = first_user_data.picture + elif username_label.get_text() == second_user_data.username: + resource.profile_picture = second_user_data.picture + + var msg_min_h_size = 0 + var msg_header_h_size = 0 + if text_content.length() < 25: + msg_min_h_size = 50 + msg_header_h_size = 25 + else: + msg_min_h_size = 350 + msg_header_h_size = 300 + + var datetime = OS.get_datetime() + + var user = resource.user + var date = resource.date + var content = resource.content + var pfp = resource.profile_picture + + + # root is a HBoxContainer. + var root = HBoxContainer.new() + root.set_name("message0") + msg_cont.add_child(root) + + # Icon is a texture_rect connected to the root. + # HBoxContainer/TextureRect + # Settings are... + # Texture: Should load texture from 'Resource.new()' once sent a message. + # Expand: On + # Stretch Mode: Keep Aspect + # Size Flags: Null + var profile_picture = TextureRect.new() + var core_shader = ShaderMaterial.new() + var real_shader = Shader.new() + core_shader.set_shader(real_shader) + var round_shader_txt = round_shader.get_code() + core_shader.set_shader_param("mask", round_shape) + real_shader.set_code(round_shader_txt) + profile_picture.set_texture(pfp) + profile_picture.set_custom_minimum_size(Vector2(65, 65)) + profile_picture.expand = true + profile_picture.size_flags_horizontal = 0 + profile_picture.size_flags_vertical = 0 + profile_picture.set_name("profile_picture") + profile_picture.set_material(core_shader) + + + + # Main node for message's Header and Body + # Separates sections of Header and Body + var GridStructure = VBoxContainer.new() + GridStructure.set_name("GridStructure") + + if username_label.get_text() == first_user_data.username: + root.add_child(profile_picture) + root.add_child(GridStructure) + elif username_label.get_text() == second_user_data.username: + root.size_flags_horizontal = 8 + root.add_child(GridStructure) + root.add_child(profile_picture) + # Header (Contains Name Label and Date Label) + var Header = HBoxContainer.new() + Header.set_name("Header") + Header.set_custom_minimum_size(Vector2(msg_header_h_size,0)) + Header.size_flags_horizontal = 3 + GridStructure.add_child(Header) + + var NameLabel = Label.new() + NameLabel.set_name("NameLabel") + NameLabel.set_text(user) + NameLabel.add_font_override("font", username_font) + NameLabel.size_flags_horizontal = 3 + Header.add_child(NameLabel) + + var DateLabel = Label.new() + DateLabel.set_name("DateLabel") + DateLabel.set_text(str(date)) + DateLabel.add_font_override("font", date_font) + DateLabel.size_flags_horizontal = 3 + Header.add_child(DateLabel) + + + + # Body (Contains NinePatchRect for Background and Margins that contain the RichTextLabel + var Body = MarginContainer.new() + Body.set_name("Body") + GridStructure.set_custom_minimum_size(Vector2(msg_min_h_size, 25)) + GridStructure.add_child(Body) + # BGTexture uses NinePatchRect for Message Bubble + var BGTexture = NinePatchRect.new() + BGTexture.set_name("BGTexture") + if username_label.get_text() == first_user_data.username: + BGTexture.patch_margin_left = 21 + BGTexture.patch_margin_top = 12 + BGTexture.patch_margin_right = 12 + BGTexture.patch_margin_bottom = 12 + BGTexture.size_flags_horizontal = 3 + BGTexture.size_flags_vertical = 3 + BGTexture.set_texture(bg_texture1) + elif username_label.get_text() == second_user_data.username: + BGTexture.patch_margin_left = 12 + BGTexture.patch_margin_top = 12 + BGTexture.patch_margin_right = 21 + BGTexture.patch_margin_bottom = 12 + BGTexture.size_flags_horizontal = 3 + BGTexture.size_flags_vertical = 3 + BGTexture.set_texture(bg_texture2) + Body.add_child(BGTexture) + # Margin forces FILL_EXPAND into it's children. + var Margin = MarginContainer.new() + Margin.set_name("Margin") + if username_label.get_text() == first_user_data.username: + Margin.add_constant_override("margin_top", 5) + Margin.add_constant_override("margin_left", 16) + Margin.add_constant_override("margin_right", 5) + Margin.add_constant_override("margin_bottom", 5) + + if username_label.get_text() == second_user_data.username: + Margin.add_constant_override("margin_top", 5) + Margin.add_constant_override("margin_left", 5) + Margin.add_constant_override("margin_right", 16) + Margin.add_constant_override("margin_bottom", 5) + + Body.add_child(Margin) + # Stretch is what keeps the Message expanding as if it has an anchor for Full_Rect + + # Body Content: + var TextLabel = RichTextLabel.new() + TextLabel.set_name("TextLabel") + TextLabel.bbcode_enabled = true + TextLabel.set_bbcode(content) + TextLabel.fit_content_height = true + TextLabel.scroll_active = false + TextLabel.size_flags_horizontal = 1 + TextLabel.add_color_override("default_color", Color(0,0,0,1)) + Margin.add_child(TextLabel) diff --git a/system/users/first_user.tres b/system/users/first_user.tres new file mode 100644 index 0000000..1208d4e --- /dev/null +++ b/system/users/first_user.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://system/users/user.gd" type="Script" id=1] +[ext_resource path="res://assets/textures/profilepicture/1.jpg" type="Texture" id=2] + +[resource] +script = ExtResource( 1 ) +username = "User1" +picture = ExtResource( 2 ) diff --git a/system/users/second_user.tres b/system/users/second_user.tres new file mode 100644 index 0000000..5b479cd --- /dev/null +++ b/system/users/second_user.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://system/users/user.gd" type="Script" id=1] +[ext_resource path="res://assets/textures/profilepicture/2.jpg" type="Texture" id=2] + +[resource] +script = ExtResource( 1 ) +username = "User2" +picture = ExtResource( 2 ) diff --git a/system/users/user.gd b/system/users/user.gd new file mode 100644 index 0000000..bf55cbf --- /dev/null +++ b/system/users/user.gd @@ -0,0 +1,5 @@ +extends Resource +class_name User + +export(String) var username +export(Texture) var picture