Winter Tales Updates Godot Meetup

This commit is contained in:
Josef 2025-12-11 15:49:31 +01:00
parent 1df3c17c4c
commit dd7792f3fe
29 changed files with 5755 additions and 3704 deletions

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://c0mwmchss7if5"
path="res://.godot/imported/WinterTales - New Bells Spring.ogg-acb8ce38140026c2d767c72bf6afc34c.oggvorbisstr"
[deps]
source_file="res://Audio/Music/WinterTales - New Bells Spring.ogg"
dest_files=["res://.godot/imported/WinterTales - New Bells Spring.ogg-acb8ce38140026c2d767c72bf6afc34c.oggvorbisstr"]
[params]
loop=true
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://dahur5tibgwi0"
path="res://.godot/imported/WinterTales - Season Change Spring.ogg-1b9c836109eff74eb1cecc45d3393468.oggvorbisstr"
[deps]
source_file="res://Audio/Music/WinterTales - Season Change Spring.ogg"
dest_files=["res://.godot/imported/WinterTales - Season Change Spring.ogg-1b9c836109eff74eb1cecc45d3393468.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://wr5kjrjf4fvl"
path="res://.godot/imported/WinterTales - Season Change Winter.ogg-a8b21b5bcce9d55d6290ee60dc953bdc.oggvorbisstr"
[deps]
source_file="res://Audio/Music/WinterTales - Season Change Winter.ogg"
dest_files=["res://.godot/imported/WinterTales - Season Change Winter.ogg-a8b21b5bcce9d55d6290ee60dc953bdc.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@ -0,0 +1,32 @@
using Godot;
using Rokojori;
[Tool, GlobalClass]
public partial class CollectableCounter : Action
{
[Export]
public Collector collector;
[Export]
public UIText uiText;
[Export]
public CollectableType collectableType;
int numCollectables = -1;
int collected = 0;
public override void _Ready()
{
numCollectables = Nodes.AllInScene<Collectable>().Filter( c => c.collectableData.collectableType == collectableType ).Count;
uiText.locale = LocaleText.Create( collected + "/" + numCollectables );
}
protected override void _OnTrigger()
{
collected ++;
uiText.locale = LocaleText.Create( collected + "/" + numCollectables );
}
}

View File

@ -0,0 +1 @@
uid://cnn4iyfevlyk5

View File

@ -0,0 +1,107 @@
// NOTE: Shader automatically converted from Godot Engine 4.5.stable.mono's StandardMaterial3D.
shader_type spatial;
render_mode blend_mix, depth_draw_never, cull_back, unshaded;
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_nearest_mipmap_anisotropic, repeat_enable;
uniform float alpha_scissor_threshold : hint_range(0.0, 1.0, 0.001);
uniform vec3 uv1_scale;
uniform vec3 uv1_offset;
// [ VARIANCE ]
group_uniforms variance;
varying float worldSeedXZ;
uniform float rotationZ = 0;
uniform float rotationZSeed = 0;
varying float combinedRotationZ;
uniform float maskScale = 1.0;
uniform float uniScale = 1.0;
// [ PLAYER DEFROM ]
group_uniforms playerDeform;
global uniform vec3 playerPosition;
uniform float playerDeformRange = 2.0;
uniform float playerDeformAmount = 0.5;
uniform float playerDeformPower:hint_range( 0.25, 4 ) = 1;
uniform float playerDeformYStart = 0.2;
uniform float playerDeformYMax = 1;
varying vec2 maskUV;
void vertex()
{
UV = UV * uv1_scale.xy + uv1_offset.xy;
maskUV = ( UV -vec2(0.5 ) ) * maskScale + vec2( 0.5 );
//maskUV = clamp01( maskUV );
worldSeedXZ = fract( 123.94444 * fract( NODE_POSITION_WORLD.x * 42130.323 ) + 3.35 * fract( NODE_POSITION_WORLD.z * 13435.124 ) );
// PLAYER DEFORM
vec3 localPlayerPosition = worldToLocal( playerPosition, MODEL_MATRIX );
localPlayerPosition.y = 0.0;
float positionLength = length( localPlayerPosition );
if ( positionLength == 0.0 )
{
localPlayerPosition = vec3( 0.0001, 0, 0 );
}
vec3 dir = normalize( localPlayerPosition );
float amount = mapClamped( positionLength, 0.0, playerDeformRange, playerDeformAmount, 0 );
amount = clamp01( pow( amount, playerDeformPower ) );
float yAmount = mapClamped( VERTEX.y, playerDeformYStart, playerDeformYMax, 0.0, 1.0 );
VERTEX += dir * - amount * yAmount;
// Billboard Mode: Enabled
MODELVIEW_MATRIX = VIEW_MATRIX * mat4(
MAIN_CAM_INV_VIEW_MATRIX[0],
MAIN_CAM_INV_VIEW_MATRIX[1],
MAIN_CAM_INV_VIEW_MATRIX[2],
MODEL_MATRIX[3]);
// Billboard Keep Scale: Enabled
MODELVIEW_MATRIX = MODELVIEW_MATRIX * mat4(
vec4(
length(MODEL_MATRIX[0].xyz) * uniScale, 0.0, 0.0, 0.0
),
vec4(0.0, length(MODEL_MATRIX[1].xyz) * uniScale, 0.0, 0.0),
vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz) * uniScale, 0.0),
vec4(0.0, 0.0, 0.0, 1.0)
);
combinedRotationZ = rotationZ + ( worldSeedXZ * 2.0 - 1.0 ) * rotationZSeed;
combinedRotationZ = combinedRotationZ / 180.0 * PI;
MODELVIEW_MATRIX = MODELVIEW_MATRIX * rotationZ_m4( combinedRotationZ );
MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX);
}
void fragment()
{
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo, base_uv);
vec4 mask_tex = texture(texture_albedo, maskUV);
float maskedAlpha = albedo_tex.a - mask_tex.a;
if ( maskedAlpha < alpha_scissor_threshold )
{
discard;
}
ALBEDO = albedo.rgb;
ALPHA *= albedo.a * albedo_tex.a;
}

View File

@ -0,0 +1 @@
uid://cvvvtd2favpnl

View File

@ -0,0 +1,101 @@
// NOTE: Shader automatically converted from Godot Engine 4.5.stable.mono's StandardMaterial3D.
shader_type spatial;
render_mode blend_mix, depth_draw_never, cull_back, unshaded;
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_nearest_mipmap_anisotropic, repeat_enable;
uniform float alpha_scissor_threshold : hint_range(0.0, 1.0, 0.001);
uniform vec3 uv1_scale;
uniform vec3 uv1_offset;
// [ VARIANCE ]
group_uniforms variance;
varying float worldSeedXZ;
uniform float rotationZ = 0;
uniform float rotationZSeed = 0;
varying float combinedRotationZ;
// [ PLAYER DEFROM ]
group_uniforms playerDeform;
global uniform vec3 playerPosition;
uniform float playerDeformRange = 2.0;
uniform float playerDeformAmount = 0.5;
uniform float playerDeformPower:hint_range( 0.25, 4 ) = 1;
uniform float playerDeformYStart = 0.2;
uniform float playerDeformYMax = 1;
varying vec2 maskUV;
void vertex()
{
UV = UV * uv1_scale.xy + uv1_offset.xy;
//maskUV = clamp01( maskUV );
worldSeedXZ = fract( 123.94444 * fract( NODE_POSITION_WORLD.x * 42130.323 ) + 3.35 * fract( NODE_POSITION_WORLD.z * 13435.124 ) );
// PLAYER DEFORM
vec3 localPlayerPosition = worldToLocal( playerPosition, MODEL_MATRIX );
localPlayerPosition.y = 0.0;
float positionLength = length( localPlayerPosition );
if ( positionLength == 0.0 )
{
localPlayerPosition = vec3( 0.0001, 0, 0 );
}
vec3 dir = normalize( localPlayerPosition );
float amount = mapClamped( positionLength, 0.0, playerDeformRange, playerDeformAmount, 0 );
amount = clamp01( pow( amount, playerDeformPower ) );
float yAmount = mapClamped( VERTEX.y, playerDeformYStart, playerDeformYMax, 0.0, 1.0 );
VERTEX += dir * - amount * yAmount;
// Billboard Mode: Enabled
MODELVIEW_MATRIX = VIEW_MATRIX * mat4(
MAIN_CAM_INV_VIEW_MATRIX[0],
MAIN_CAM_INV_VIEW_MATRIX[1],
MAIN_CAM_INV_VIEW_MATRIX[2],
MODEL_MATRIX[3]);
// Billboard Keep Scale: Enabled
MODELVIEW_MATRIX = MODELVIEW_MATRIX * mat4(
vec4(
length(MODEL_MATRIX[0].xyz) , 0.0, 0.0, 0.0
),
vec4(0.0, length(MODEL_MATRIX[1].xyz) , 0.0, 0.0),
vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz) , 0.0),
vec4(0.0, 0.0, 0.0, 1.0)
);
combinedRotationZ = rotationZ + ( worldSeedXZ * 2.0 - 1.0 ) * rotationZSeed;
combinedRotationZ = combinedRotationZ / 180.0 * PI;
MODELVIEW_MATRIX = MODELVIEW_MATRIX * rotationZ_m4( combinedRotationZ );
MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX);
}
void fragment()
{
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo, base_uv);
if ( albedo_tex.a < alpha_scissor_threshold )
{
discard;
}
ALBEDO = albedo.rgb;
ALPHA *= albedo.a * albedo_tex.a;
}

View File

@ -0,0 +1 @@
uid://dfeyht816trv3

View File

@ -2,6 +2,7 @@
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley, specular_schlick_ggx, sss_mode_skin;
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"

View File

@ -10,9 +10,10 @@ render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_sc
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable;
uniform ivec2 albedo_texture_size;
uniform float point_size : hint_range(0.1, 128.0, 0.1);
uniform float roughness : hint_range(0.0, 1.0);
uniform float roughnessSnow : hint_range(0.0, 1.0);
uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable;
uniform vec4 metallic_texture_channel;
uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable;
@ -93,7 +94,9 @@ void fragment()
vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0);
float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel);
ROUGHNESS = roughness_tex * roughness;
float ro = mix( roughness, roughnessSnow, clamp01( globalSnowAmount ) );
ROUGHNESS = roughness_tex * ro;
// Normal Map: Enabled
NORMAL_MAP = mix( texture(texture_normal, base_uv).rgb, snowNormal, snowNormalAmount );

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,13 +1,51 @@
[gd_scene load_steps=5 format=3 uid="uid://beh68ly34coau"]
[gd_scene load_steps=19 format=3 uid="uid://beh68ly34coau"]
[ext_resource type="Material" uid="uid://oe6d0lu68ia2" path="res://GameObjects/Foliage/Pink Bush Material.tres" id="1_eo20v"]
[ext_resource type="Material" uid="uid://dxabe6g13cxfy" path="res://GameObjects/Foliage/Leave.material" id="2_tlsnn"]
[ext_resource type="Script" uid="uid://dla1wn2mlw2d0" path="res://addons/rokojori_action_library/Runtime/Interactions/Pointable.cs" id="3_31nbd"]
[ext_resource type="Script" uid="uid://c7fymrxt3qvlh" path="res://addons/rokojori_action_library/Runtime/Interactions/Grabbable.cs" id="4_7gtu5"]
[ext_resource type="Material" uid="uid://c6cqmctcdq7lb" path="res://GameObjects/Pink Bush/Pink Bush Highlight.material" id="4_fsbop"]
[ext_resource type="Curve" uid="uid://dhaky16xvyxnm" path="res://Utilities/Ease Curve.tres" id="5_cp7cj"]
[ext_resource type="Script" uid="uid://dkbln8rf5p0pu" path="res://addons/rokojori_action_library/Runtime/Animation/Highlight/HighlightEffect.cs" id="5_guqjx"]
[ext_resource type="Script" uid="uid://b4yjsis2fh64c" path="res://addons/rokojori_action_library/Runtime/Actions/ActionList.cs" id="5_q57mj"]
[ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="5_r7fm5"]
[ext_resource type="Script" uid="uid://y2p0r8c5rs45" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/ColorPropertyName.cs" id="6_cp7cj"]
[ext_resource type="Script" uid="uid://drak08lej40jc" path="res://addons/rokojori_action_library/Runtime/Actions/Node/SetPhysicsState.cs" id="6_fsbop"]
[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/GameTime.tres" id="6_r7fm5"]
[ext_resource type="Material" uid="uid://caorquioj0w4y" path="res://GameObjects/Pink Bush/Pink Bush Overlay.material" id="8_hed3e"]
[sub_resource type="SphereShape3D" id="SphereShape3D_i3v8b"]
radius = 0.43
[sub_resource type="QuadMesh" id="QuadMesh_uqrk0"]
[sub_resource type="Resource" id="Resource_hed3e"]
script = ExtResource("5_r7fm5")
color = Color(1, 0.75, 0, 1)
colorMultiply = 2.0
metadata/_custom_type_script = "uid://dncqth3uf3tb3"
[sub_resource type="Resource" id="Resource_syqse"]
script = ExtResource("6_cp7cj")
propertyName = "albedo"
metadata/_custom_type_script = "uid://y2p0r8c5rs45"
[sub_resource type="Resource" id="Resource_5134o"]
script = ExtResource("5_guqjx")
timeline = ExtResource("6_r7fm5")
inDuration = 0.3
inCurve = ExtResource("5_cp7cj")
outDuration = 0.3
outCurve = ExtResource("5_cp7cj")
color = SubResource("Resource_hed3e")
outlineMaterialMode = 2
outlineCustomMaterial = ExtResource("4_fsbop")
outlineCustomColorProperty = SubResource("Resource_syqse")
overlayMaterialMode = 1
overlayCustomMaterial = ExtResource("8_hed3e")
overlayCustomColorProperty = SubResource("Resource_syqse")
metadata/_custom_type_script = "uid://dkbln8rf5p0pu"
[node name="Pink Bush" type="RigidBody3D"]
transform = Transform3D(0.652943, 0, 0.9098152, 0, 1.1198653, 0, -0.9098152, 0, 0.652943, 0, 0, 0)
@ -56,3 +94,49 @@ transform = Transform3D(0.32817093, 1.4901161e-08, 2.9802322e-08, -5.187186e-09,
mesh = SubResource("QuadMesh_uqrk0")
skeleton = NodePath("../../../..")
surface_material_override/0 = ExtResource("2_tlsnn")
[node name="Pointable" type="Node3D" parent="." node_paths=PackedStringArray("onPointed", "onUnpointed", "highlightTargets")]
transform = Transform3D(1, 0, -2.9802322e-08, 0, 1.0000001, 0, 2.9802322e-08, 0, 1, 0, 0, 0)
script = ExtResource("3_31nbd")
onPointed = NodePath("../On Pointed")
onUnpointed = NodePath("../On Unpointed")
highlightEffect = SubResource("Resource_5134o")
highlightTargets = [NodePath("../Pink Bush")]
metadata/_custom_type_script = "uid://dla1wn2mlw2d0"
[node name="Grabbable" type="Node3D" parent="." node_paths=PackedStringArray("onGrab", "onRelease", "grabTarget", "rigidBody3D", "pointable")]
script = ExtResource("4_7gtu5")
onGrab = NodePath("../On Grab")
onRelease = NodePath("../On Release")
grabTarget = NodePath("..")
rigidBody3D = NodePath("..")
pointable = NodePath("../Pointable")
disablePointableDuringGrab = true
metadata/_custom_type_script = "uid://c7fymrxt3qvlh"
[node name="On Pointed" type="Node" parent="."]
script = ExtResource("5_q57mj")
metadata/_custom_type_script = "uid://b4yjsis2fh64c"
[node name="On Unpointed" type="Node" parent="."]
script = ExtResource("5_q57mj")
metadata/_custom_type_script = "uid://b4yjsis2fh64c"
[node name="On Grab" type="Node" parent="."]
script = ExtResource("5_q57mj")
metadata/_custom_type_script = "uid://b4yjsis2fh64c"
[node name="SetPhysicsState" type="Node" parent="On Grab" node_paths=PackedStringArray("physicsBody")]
script = ExtResource("6_fsbop")
physicsBody = NodePath("../..")
metadata/_custom_type_script = "uid://drak08lej40jc"
[node name="On Release" type="Node" parent="."]
script = ExtResource("5_q57mj")
metadata/_custom_type_script = "uid://b4yjsis2fh64c"
[node name="SetPhysicsState" type="Node" parent="On Release" node_paths=PackedStringArray("physicsBody")]
script = ExtResource("6_fsbop")
physicsBody = NodePath("../..")
state = 0
metadata/_custom_type_script = "uid://drak08lej40jc"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,24 @@
[gd_resource type="Resource" script_class="UIStyle" load_steps=7 format=3 uid="uid://bkfi5scnncqqe"]
[ext_resource type="Script" uid="uid://cnkyynboxg1qg" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UINumber.cs" id="1_u5grh"]
[ext_resource type="Script" uid="uid://drqb0pm5ub64g" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIColor.cs" id="2_nax5v"]
[ext_resource type="Resource" uid="uid://bccw1e1ohmsrq" path="res://UI/Dialog/Dialog Open Style.tres" id="2_ossx5"]
[ext_resource type="Script" uid="uid://chmcc71dvu4vj" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIStyle.cs" id="3_nax5v"]
[sub_resource type="Resource" id="Resource_1ji68"]
script = ExtResource("1_u5grh")
value = -10.0
unit = "em"
metadata/_custom_type_script = "uid://cnkyynboxg1qg"
[sub_resource type="Resource" id="Resource_mrhy7"]
script = ExtResource("2_nax5v")
color = Color(1, 1, 1, 0)
metadata/_custom_type_script = "uid://drqb0pm5ub64g"
[resource]
script = ExtResource("3_nax5v")
bottom = SubResource("Resource_1ji68")
modulationColor = SubResource("Resource_mrhy7")
parentStyle = ExtResource("2_ossx5")
metadata/_custom_type_script = "uid://chmcc71dvu4vj"

View File

@ -0,0 +1,62 @@
[gd_resource type="Resource" script_class="UIStyle" load_steps=16 format=3 uid="uid://bccw1e1ohmsrq"]
[ext_resource type="Script" uid="uid://cnkyynboxg1qg" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UINumber.cs" id="1_gatrt"]
[ext_resource type="Script" uid="uid://drqb0pm5ub64g" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIColor.cs" id="2_bk8ug"]
[ext_resource type="Script" uid="uid://c5k6edrmdr3qc" path="res://addons/rokojori_action_library/Runtime/UI/Transitions/UIColorTransition.cs" id="2_uqfu4"]
[ext_resource type="Script" uid="uid://chmcc71dvu4vj" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIStyle.cs" id="3_82opy"]
[ext_resource type="Curve" uid="uid://dhaky16xvyxnm" path="res://Utilities/Ease Curve.tres" id="3_adj5k"]
[ext_resource type="Script" uid="uid://5w3jvlqxrvaf" path="res://addons/rokojori_action_library/Runtime/UI/Transitions/TransitionSettings.cs" id="4_28uv6"]
[ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/RealTime.tres" id="5_jjpa2"]
[ext_resource type="Script" uid="uid://dvqqv47qdhlx0" path="res://addons/rokojori_action_library/Runtime/UI/Transitions/UINumberTransition.cs" id="7_881t0"]
[sub_resource type="Resource" id="Resource_gatrt"]
script = ExtResource("1_gatrt")
value = 2.0
unit = "em"
metadata/_custom_type_script = "uid://cnkyynboxg1qg"
[sub_resource type="Resource" id="Resource_e5xbs"]
script = ExtResource("4_28uv6")
duration = 0.5
curve = ExtResource("3_adj5k")
timeLine = ExtResource("5_jjpa2")
metadata/_custom_type_script = "uid://5w3jvlqxrvaf"
[sub_resource type="Resource" id="Resource_a46x0"]
script = ExtResource("2_uqfu4")
property = 3
settings = SubResource("Resource_e5xbs")
metadata/_custom_type_script = "uid://c5k6edrmdr3qc"
[sub_resource type="Resource" id="Resource_mo0ou"]
script = ExtResource("1_gatrt")
value = 50.0
unit = "%"
metadata/_custom_type_script = "uid://cnkyynboxg1qg"
[sub_resource type="Resource" id="Resource_8iqls"]
script = ExtResource("2_bk8ug")
metadata/_custom_type_script = "uid://drqb0pm5ub64g"
[sub_resource type="Resource" id="Resource_xr075"]
script = ExtResource("7_881t0")
property = 2
settings = SubResource("Resource_e5xbs")
metadata/_custom_type_script = "uid://dvqqv47qdhlx0"
[sub_resource type="Resource" id="Resource_228bp"]
script = ExtResource("1_gatrt")
value = 100.0
unit = "vw"
metadata/_custom_type_script = "uid://cnkyynboxg1qg"
[resource]
script = ExtResource("3_82opy")
horizontalAlignment = SubResource("Resource_mo0ou")
width = SubResource("Resource_228bp")
position = 2
bottom = SubResource("Resource_gatrt")
modulationColor = SubResource("Resource_8iqls")
numberTransitions = [SubResource("Resource_xr075")]
colorTransitions = [SubResource("Resource_a46x0")]
metadata/_custom_type_script = "uid://chmcc71dvu4vj"

29
UI/DialogRegion.cs Normal file
View File

@ -0,0 +1,29 @@
using Godot;
using Rokojori;
[Tool, GlobalClass]
public partial class DialogRegion : UIRegion
{
[Export]
public UIText dialogText;
[Export]
public UIStyle openStyle;
[Export]
public UIStyle hiddenStyle;
public void OpenDialog( LocaleText localeText )
{
dialogText.locale = localeText;
parentStyle = openStyle;
}
public void HideDialog()
{
parentStyle.parentStyle = hiddenStyle;
}
}

1
UI/DialogRegion.cs.uid Normal file
View File

@ -0,0 +1 @@
uid://dxkqvnjuy7ntq

View File

@ -6,4 +6,6 @@ public partial class GameUI : UI
{
[Export]
public UIRegion collectablesContainer;
}

@ -1 +1 @@
Subproject commit 282b66eadf99b1c2260aad47ee90c8c8a3689843
Subproject commit fe606c6e39f17f442491dc06c8b31fb5e1ff0369

Binary file not shown.

View File

@ -0,0 +1,104 @@
{
"asset":{
"generator":"Khronos glTF Blender I/O v4.0.44",
"version":"2.0"
},
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
0
]
}
],
"nodes":[
{
"mesh":0,
"name":"Cube"
}
],
"meshes":[
{
"name":"Cube",
"primitives":[
{
"attributes":{
"POSITION":0,
"NORMAL":1,
"TEXCOORD_0":2
},
"indices":3
}
]
}
],
"accessors":[
{
"bufferView":0,
"componentType":5126,
"count":43,
"max":[
0.5,
1,
0.5
],
"min":[
-0.5,
0,
-0.5
],
"type":"VEC3"
},
{
"bufferView":1,
"componentType":5126,
"count":43,
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":43,
"type":"VEC2"
},
{
"bufferView":3,
"componentType":5123,
"count":132,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":516,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":516,
"byteOffset":516,
"target":34962
},
{
"buffer":0,
"byteLength":344,
"byteOffset":1032,
"target":34962
},
{
"buffer":0,
"byteLength":264,
"byteOffset":1376,
"target":34963
}
],
"buffers":[
{
"byteLength":1640,
"uri":"rounded-cube.bin"
}
]
}

View File

@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bu647b3gvnd5v"
path="res://.godot/imported/rounded-cube.gltf-ae83bfebc02299f401fcb1d955978788.scn"
[deps]
source_file="res://assets/rokojori-houses/rounded-cube.gltf"
dest_files=["res://.godot/imported/rounded-cube.gltf-ae83bfebc02299f401fcb1d955978788.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1