feat: hit effect scenes are now preloaded
This commit is contained in:
parent
5a4ac26c72
commit
adcbf41a48
4 changed files with 35 additions and 4 deletions
|
|
@ -14,9 +14,9 @@ void HitscanMuzzle::instantiate_impact_effect() {
|
|||
if (get_collider() == nullptr) {
|
||||
return;
|
||||
}
|
||||
Ref<PackedScene> effect_scene{ get_collider()->call("get_impact_effect") };
|
||||
if (!effect_scene.is_valid()) {
|
||||
effect_scene = this->impact_effect;
|
||||
Ref<PackedScene> effect_scene{ this->impact_effect };
|
||||
if (get_collider()->has_method("get_impact_effect")) {
|
||||
effect_scene = get_collider()->call("get_impact_effect");
|
||||
}
|
||||
Node *effect_as_node{ effect_scene->instantiate() };
|
||||
if (Node3D * effect{ cast_to<Node3D>(effect_as_node) }) {
|
||||
|
|
@ -39,7 +39,9 @@ void HitscanMuzzle::try_deal_damage() {
|
|||
void HitscanMuzzle::ready() {
|
||||
this->home_transform = get_transform();
|
||||
this->impact_effect = ResourceLoader::load("res://objects/effects/bullet_impact.tscn");
|
||||
if (!this->impact_effect.is_valid()) {
|
||||
if (this->impact_effect.is_valid()) {
|
||||
PRELOAD_SCENE(this->impact_effect);
|
||||
} else {
|
||||
print_error("HitscanMuzzle::ready: impact effect is invalid");
|
||||
}
|
||||
set_enabled(false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue