Browse Source

Updating how matierals are applied

pull/1/head
Ryan Reed 1 month ago
parent
commit
ff835bd158
2 changed files with 11 additions and 9 deletions
  1. +8
    -3
      scenes/blocks/block.gd
  2. +3
    -6
      scenes/world/world.gd

+ 8
- 3
scenes/blocks/block.gd View File

@ -1,13 +1,18 @@
class_name Block
extends StaticBody3D
const Materials: Dictionary[Types, StandardMaterial3D] = {
Block.Types.DIRT: preload("res://assets/materials/dirt.tres"),
Block.Types.STONE: preload("res://assets/materials/stone.tres"),
}
enum Types {
DIRT,
STONE,
}
@export var material: StandardMaterial3D
@export var type: Types
@onready var block_faces: Node3D = $BlockFaces
@ -16,8 +21,8 @@ func _ready() -> void:
_apply_materials()
func set_material(block_material: StandardMaterial3D):
material = block_material
func apply_material():
material = Materials[type]
func _apply_materials() -> void:
for face: MeshInstance3D in block_faces.get_children():


+ 3
- 6
scenes/world/world.gd View File

@ -2,12 +2,8 @@ class_name World
extends Node3D
const BLOCK_PREFAB: PackedScene = preload("res://scenes/blocks/block.tscn")
const BLOCK_MATERIALS: Dictionary[Block.Types, StandardMaterial3D] = {
Block.Types.DIRT: preload("res://assets/materials/dirt.tres"),
Block.Types.STONE: preload("res://assets/materials/stone.tres"),
}
const BLOCK_PREFAB: PackedScene = preload("res://scenes/blocks/block.tscn")
func _ready() -> void:
@ -19,5 +15,6 @@ func create_block(block_type: Block.Types, block_position: Vector3) -> void:
var block: Block = BLOCK_PREFAB.instantiate()
block.position = block_position
block.name = "%s" % [block_position]
block.set_material(BLOCK_MATERIALS[block_type])
block.type = block_type
block.apply_material()
add_child(block)

Loading…
Cancel
Save