conforms file names to consistant standard
This commit is contained in:
108
scenes/tower_base/dissolve.tres
Normal file
108
scenes/tower_base/dissolve.tres
Normal file
@@ -0,0 +1,108 @@
|
||||
[gd_resource type="VisualShader" format=3 uid="uid://dsi0ofa74tfc4"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bmor4v4j7krgh" path="res://scenes/tower_base/funboxtex.png" id="1_kau30"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4ytjp05u7auv" path="res://noisetex.tres" id="2_ow168"]
|
||||
|
||||
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_ugjxq"]
|
||||
source = 5
|
||||
texture = ExtResource("1_kau30")
|
||||
|
||||
[sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_hqcdo"]
|
||||
parameter_name = "Texture2DParameter"
|
||||
texture_type = 1
|
||||
texture_filter = 1
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_rwgpq"]
|
||||
output_port_for_preview = 0
|
||||
expanded_output_ports = [0]
|
||||
parameter_name = "Color"
|
||||
default_value_enabled = true
|
||||
default_value = Color(0, 1, 0, 0.752941)
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_g2jnk"]
|
||||
output_port_for_preview = 0
|
||||
default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)]
|
||||
op_type = 2
|
||||
operator = 2
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_ddxtc"]
|
||||
default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)]
|
||||
expanded_output_ports = [0]
|
||||
op_type = 2
|
||||
operator = 2
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_nxokf"]
|
||||
output_port_for_preview = 0
|
||||
input_name = "uv"
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorFunc" id="VisualShaderNodeVectorFunc_lymyr"]
|
||||
output_port_for_preview = 0
|
||||
default_input_values = [0, Quaternion(0, 0, 0, 0)]
|
||||
op_type = 2
|
||||
function = 32
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_s08rr"]
|
||||
output_port_for_preview = 4
|
||||
default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)]
|
||||
expanded_output_ports = [0]
|
||||
op_type = 2
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_8utgl"]
|
||||
parameter_name = "Float"
|
||||
default_value_enabled = true
|
||||
default_value = 1.0
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_pyn4g"]
|
||||
function = 31
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_pw0qj"]
|
||||
default_input_values = [0, 0.0, 1, 0.5]
|
||||
operator = 1
|
||||
|
||||
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_4c6mr"]
|
||||
output_port_for_preview = 0
|
||||
texture = ExtResource("2_ow168")
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_v8kd6"]
|
||||
output_port_for_preview = 0
|
||||
operator = 1
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_h0gpf"]
|
||||
output_port_for_preview = 0
|
||||
function = 15
|
||||
|
||||
[resource]
|
||||
modes/depth_draw = 1
|
||||
flags/depth_prepass_alpha = true
|
||||
preview_params/Texture2DParameter = "Resource(\"uid://bmor4v4j7krgh\", \"res://scenes/tower_base/funboxtex.png\")"
|
||||
preview_params/Float = "1.0"
|
||||
nodes/fragment/0/position = Vector2(1220, 280)
|
||||
nodes/fragment/2/node = SubResource("VisualShaderNodeInput_nxokf")
|
||||
nodes/fragment/2/position = Vector2(-580, 180)
|
||||
nodes/fragment/5/node = SubResource("VisualShaderNodeFloatOp_pw0qj")
|
||||
nodes/fragment/5/position = Vector2(-500, 440)
|
||||
nodes/fragment/7/node = SubResource("VisualShaderNodeTexture_4c6mr")
|
||||
nodes/fragment/7/position = Vector2(-280, 20)
|
||||
nodes/fragment/8/node = SubResource("VisualShaderNodeFloatOp_v8kd6")
|
||||
nodes/fragment/8/position = Vector2(-60, 340)
|
||||
nodes/fragment/9/node = SubResource("VisualShaderNodeFloatFunc_h0gpf")
|
||||
nodes/fragment/9/position = Vector2(140, 360)
|
||||
nodes/fragment/13/node = SubResource("VisualShaderNodeTexture_ugjxq")
|
||||
nodes/fragment/13/position = Vector2(260, 120)
|
||||
nodes/fragment/14/node = SubResource("VisualShaderNodeTexture2DParameter_hqcdo")
|
||||
nodes/fragment/14/position = Vector2(-60, -240)
|
||||
nodes/fragment/15/node = SubResource("VisualShaderNodeColorParameter_rwgpq")
|
||||
nodes/fragment/15/position = Vector2(20, 1040)
|
||||
nodes/fragment/18/node = SubResource("VisualShaderNodeVectorOp_g2jnk")
|
||||
nodes/fragment/18/position = Vector2(500, 340)
|
||||
nodes/fragment/19/node = SubResource("VisualShaderNodeVectorOp_ddxtc")
|
||||
nodes/fragment/19/position = Vector2(600, 740)
|
||||
nodes/fragment/21/node = SubResource("VisualShaderNodeVectorFunc_lymyr")
|
||||
nodes/fragment/21/position = Vector2(360, 660)
|
||||
nodes/fragment/22/node = SubResource("VisualShaderNodeVectorOp_s08rr")
|
||||
nodes/fragment/22/position = Vector2(900.954, 607.998)
|
||||
nodes/fragment/23/node = SubResource("VisualShaderNodeFloatParameter_8utgl")
|
||||
nodes/fragment/23/position = Vector2(-1000, 460)
|
||||
nodes/fragment/24/node = SubResource("VisualShaderNodeFloatFunc_pyn4g")
|
||||
nodes/fragment/24/position = Vector2(-700, 460)
|
||||
nodes/fragment/connections = PackedInt32Array(2, 0, 7, 0, 14, 0, 13, 2, 8, 0, 9, 0, 9, 0, 18, 1, 9, 0, 21, 0, 15, 0, 19, 1, 21, 0, 19, 0, 18, 0, 22, 0, 19, 0, 22, 1, 22, 0, 0, 0, 22, 4, 0, 1, 13, 0, 18, 0, 7, 0, 8, 0, 5, 0, 8, 1, 23, 0, 24, 0, 24, 0, 5, 0)
|
||||
BIN
scenes/tower_base/funbox.glb
Normal file
BIN
scenes/tower_base/funbox.glb
Normal file
Binary file not shown.
61
scenes/tower_base/funbox.glb.import
Normal file
61
scenes/tower_base/funbox.glb.import
Normal file
@@ -0,0 +1,61 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://dx0ixlcxcxpcg"
|
||||
path="res://.godot/imported/funbox.glb-e5bfe7f22d86c8fa124149fe4c0bd038.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://scenes/tower_base/funbox.glb"
|
||||
dest_files=["res://.godot/imported/funbox.glb-e5bfe7f22d86c8fa124149fe4c0bd038.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type="Node3D"
|
||||
nodes/root_name="Scene Root"
|
||||
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={
|
||||
"materials": {
|
||||
"Material": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "",
|
||||
"use_external/path": "uid://dsi0ofa74tfc4"
|
||||
}
|
||||
},
|
||||
"meshes": {
|
||||
"funbox_Cube_001": {
|
||||
"generate/lightmap_uv": 0,
|
||||
"generate/lods": 0,
|
||||
"generate/shadow_meshes": 0,
|
||||
"lods/normal_merge_angle": 60.0,
|
||||
"save_to_file/enabled": true,
|
||||
"save_to_file/fallback_path": "res://textmesh.res",
|
||||
"save_to_file/path": "uid://b03auioc2qr1c"
|
||||
}
|
||||
}
|
||||
}
|
||||
gltf/naming_version=0
|
||||
gltf/embedded_image_handling=0
|
||||
BIN
scenes/tower_base/funboxtex.png
Normal file
BIN
scenes/tower_base/funboxtex.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
40
scenes/tower_base/funboxtex.png.import
Normal file
40
scenes/tower_base/funboxtex.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bmor4v4j7krgh"
|
||||
path="res://.godot/imported/funboxtex.png-e1520a74fba83a0ab5c6fc133bfb062a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://scenes/tower_base/funboxtex.png"
|
||||
dest_files=["res://.godot/imported/funboxtex.png-e1520a74fba83a0ab5c6fc133bfb062a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
12
scenes/tower_base/new_shader_material.tres
Normal file
12
scenes/tower_base/new_shader_material.tres
Normal file
@@ -0,0 +1,12 @@
|
||||
[gd_resource type="ShaderMaterial" format=3 uid="uid://bi0grduhgdma4"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://dsi0ofa74tfc4" path="res://scenes/tower_base/dissolve.tres" id="1_id1v3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmor4v4j7krgh" path="res://scenes/tower_base/funboxtex.png" id="2_8kmo6"]
|
||||
|
||||
[resource]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_id1v3")
|
||||
shader_parameter/Texture2DParameter = ExtResource("2_8kmo6")
|
||||
shader_parameter/Float = 1.0
|
||||
shader_parameter/Color = Color(0, 1, 0, 0.752941)
|
||||
BIN
scenes/tower_base/textmesh.res
Normal file
BIN
scenes/tower_base/textmesh.res
Normal file
Binary file not shown.
BIN
scenes/tower_base/textmesh.res.depren
Normal file
BIN
scenes/tower_base/textmesh.res.depren
Normal file
Binary file not shown.
78
scenes/tower_base/tower_base.gd
Normal file
78
scenes/tower_base/tower_base.gd
Normal file
@@ -0,0 +1,78 @@
|
||||
class_name TowerBase extends StaticBody3D
|
||||
|
||||
@export var inventory: Inventory
|
||||
@export var block: Node3D
|
||||
@export var collider: CollisionShape3D
|
||||
@export var minimap_icon: Sprite3D
|
||||
@export var duration_label: Label
|
||||
@export var duration_sprites: Array[Sprite3D] = []
|
||||
|
||||
var game_manager: GameManager
|
||||
var owner_id: int
|
||||
var point: FlowNodeData
|
||||
var tower: Tower = null
|
||||
var has_cassette: bool :
|
||||
set(_value):
|
||||
return
|
||||
get:
|
||||
return inventory.size != 0
|
||||
var duration: int = 0 :
|
||||
set(value):
|
||||
duration = value
|
||||
duration_label.text = str(value)
|
||||
get():
|
||||
return duration
|
||||
|
||||
|
||||
func set_color(color: Color) -> void:
|
||||
$MeshInstance3D.material_override.set("shader_parameter/Color", color)
|
||||
|
||||
|
||||
func set_float(value: float) -> void:
|
||||
$MeshInstance3D.material_override.set("shader_parameter/Float", value)
|
||||
|
||||
|
||||
@rpc("reliable", "call_local", "any_peer")
|
||||
func networked_spawn_tower(cassette_index: int, caller_id: int) -> void:
|
||||
var cassette: Cassette = Data.cassattes[cassette_index]
|
||||
inventory.add(cassette)
|
||||
tower = inventory.item_at(0).turret_scene.instantiate() as Tower
|
||||
tower.stats = inventory.item_at(0).tower_stats
|
||||
tower.name = "tower"
|
||||
tower.base_name = name
|
||||
tower.owner_id = caller_id
|
||||
tower.position = Vector3(0, 1.2, 0)
|
||||
minimap_icon.modulate = Color.RED
|
||||
duration = 999
|
||||
add_child(tower)
|
||||
|
||||
|
||||
@rpc("reliable", "call_local", "any_peer")
|
||||
func networked_remove_tower() -> void:
|
||||
var cassette: Cassette = inventory.remove_at(0)
|
||||
if !game_manager.cassette_gameplay:
|
||||
game_manager.connected_players_nodes[tower.owner_id].add_cassette(cassette)
|
||||
game_manager.connected_players_nodes[tower.owner_id].unready_self()
|
||||
tower.queue_free()
|
||||
tower = null
|
||||
minimap_icon.modulate = Color.GREEN
|
||||
|
||||
|
||||
func toggle_collision() -> void:
|
||||
collider.disabled = !collider.disabled
|
||||
|
||||
|
||||
func iterate_duration() -> void:
|
||||
duration -= 1
|
||||
if duration <= 0:
|
||||
networked_remove_tower.rpc()
|
||||
|
||||
|
||||
func enable_duration_sprites() -> void:
|
||||
for sprite: Sprite3D in duration_sprites:
|
||||
sprite.visible = true
|
||||
|
||||
|
||||
func disable_duration_sprites() -> void:
|
||||
for sprite: Sprite3D in duration_sprites:
|
||||
sprite.visible = false
|
||||
1
scenes/tower_base/tower_base.gd.uid
Normal file
1
scenes/tower_base/tower_base.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://si58bm4r7r2i
|
||||
81
scenes/tower_base/tower_base.tscn
Normal file
81
scenes/tower_base/tower_base.tscn
Normal file
@@ -0,0 +1,81 @@
|
||||
[gd_scene format=3 uid="uid://ddbbwx0yy16lh"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://si58bm4r7r2i" path="res://scenes/tower_base/tower_base.gd" id="1_kalmg"]
|
||||
[ext_resource type="Script" uid="uid://do24iuot0j7d7" path="res://scripts/inventory.gd" id="2_m0oxx"]
|
||||
[ext_resource type="Material" uid="uid://bi0grduhgdma4" path="res://scenes/tower_base/new_shader_material.tres" id="3_ueedj"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cm5xjp442ew0y" path="res://scenes/tower_base/textmesh.res" id="4_8j8ue"]
|
||||
[ext_resource type="Texture2D" uid="uid://ba85u6i558x4w" path="res://assets/textures/minimap_node.png" id="4_lbvtm"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_lc72v"]
|
||||
size = Vector3(1.381, 1.377, 1.381)
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_ueedj"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[node name="TowerBase" type="StaticBody3D" unique_id=532233532 node_paths=PackedStringArray("inventory", "block", "collider", "minimap_icon", "duration_label", "duration_sprites") groups=["TowerBases"]]
|
||||
collision_layer = 17
|
||||
script = ExtResource("1_kalmg")
|
||||
inventory = NodePath("Inventory")
|
||||
block = NodePath("MeshInstance3D")
|
||||
collider = NodePath("CollisionShape3D")
|
||||
minimap_icon = NodePath("MinimapIcon")
|
||||
duration_label = NodePath("SubViewport/Label")
|
||||
duration_sprites = [NodePath("Sprite3D"), NodePath("Sprite3D2"), NodePath("Sprite3D3"), NodePath("Sprite3D4")]
|
||||
|
||||
[node name="Inventory" type="Node" parent="." unique_id=807552257]
|
||||
script = ExtResource("2_m0oxx")
|
||||
max_size = 1
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=672031336]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.688315, 0.00199121)
|
||||
shape = SubResource("BoxShape3D_lc72v")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=199619411]
|
||||
material_override = ExtResource("3_ueedj")
|
||||
mesh = ExtResource("4_8j8ue")
|
||||
|
||||
[node name="MinimapIcon" type="Sprite3D" parent="." unique_id=1466057781]
|
||||
transform = Transform3D(3.5, 0, 0, 0, -1.5299e-07, 3.5, 0, -3.5, -1.5299e-07, 0, 1.5, 0)
|
||||
layers = 4
|
||||
modulate = Color(0, 1, 0, 1)
|
||||
texture_filter = 0
|
||||
texture = ExtResource("4_lbvtm")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="." unique_id=2044772662]
|
||||
transparent_bg = true
|
||||
size = Vector2i(128, 128)
|
||||
|
||||
[node name="Label" type="Label" parent="SubViewport" unique_id=127602290]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_font_sizes/font_size = 128
|
||||
text = "4"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="." unique_id=1053333852]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0.6)
|
||||
visible = false
|
||||
double_sided = false
|
||||
texture = SubResource("ViewportTexture_ueedj")
|
||||
|
||||
[node name="Sprite3D2" type="Sprite3D" parent="." unique_id=1767748410]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 2, -0.6)
|
||||
visible = false
|
||||
double_sided = false
|
||||
texture = SubResource("ViewportTexture_ueedj")
|
||||
|
||||
[node name="Sprite3D3" type="Sprite3D" parent="." unique_id=733247947]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.6, 2, 0)
|
||||
visible = false
|
||||
double_sided = false
|
||||
texture = SubResource("ViewportTexture_ueedj")
|
||||
|
||||
[node name="Sprite3D4" type="Sprite3D" parent="." unique_id=1214585597]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.6, 2, 0)
|
||||
visible = false
|
||||
double_sided = false
|
||||
texture = SubResource("ViewportTexture_ueedj")
|
||||
Reference in New Issue
Block a user