tidy unneeded nodes
This commit is contained in:
parent
262173bee8
commit
faa0723145
20
Body2D.gd
20
Body2D.gd
@ -1,20 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
func _integrate_forces(state: PhysicsDirectBodyState2D):
|
|
||||||
var contact_count = state.get_contact_count()
|
|
||||||
for i in range(contact_count):
|
|
||||||
#print("bb")
|
|
||||||
var collider_object = state.get_contact_collider_object(i)
|
|
||||||
if collider_object and collider_object.get_parent() is Player:
|
|
||||||
handle_player_collision(collider_object.get_parent())
|
|
||||||
if collider_object and collider_object.get_parent() is Pool:
|
|
||||||
handle_pool_collision(collider_object.get_parent())
|
|
||||||
|
|
||||||
func handle_player_collision(player: Player):
|
|
||||||
if $"..".is_carrying() and player.is_carrying():
|
|
||||||
$"..".doubledrop(player)
|
|
||||||
$"..".drop()
|
|
||||||
player.drop()
|
|
||||||
|
|
||||||
func handle_pool_collision(pool: Pool):
|
|
||||||
$"..".exchange_with(pool)
|
|
10
Map.gd
10
Map.gd
@ -29,20 +29,20 @@ func spawm_pool(pos,red,green,blue):
|
|||||||
new_pool.mana_r=red
|
new_pool.mana_r=red
|
||||||
new_pool.mana_g=green
|
new_pool.mana_g=green
|
||||||
new_pool.mana_b=blue
|
new_pool.mana_b=blue
|
||||||
new_pool.get_node("StaticBody2D/CollisionShape2D2").disabled=true;
|
new_pool.get_node("CollisionShape2D2").disabled=true;
|
||||||
#new_pool.get_node("StaticBody2D/CollisionShape2D2").set_deferred("disabled", true)
|
#new_pool.get_node("StaticBody2D/CollisionShape2D2").set_deferred("disabled", true)
|
||||||
|
|
||||||
get_tree().root.get_node("Sim/Map").call_deferred("add_child",new_pool)
|
get_tree().root.get_node("Sim/Map").call_deferred("add_child",new_pool)
|
||||||
|
|
||||||
func spawn_player(pos,vol):
|
func spawn_player(pos,vol):
|
||||||
var new_player = load("res://player.tscn").instantiate()
|
var new_player = load("res://player.tscn").instantiate()
|
||||||
new_player.get_node("Body2D").position = pos
|
new_player.position = pos
|
||||||
|
|
||||||
new_player.get_node("Body2D").apply_impulse(vol)
|
new_player.apply_impulse(vol)
|
||||||
|
|
||||||
# Prepare the shape query parameters
|
# Prepare the shape query parameters
|
||||||
var query_parameters = PhysicsShapeQueryParameters2D.new()
|
var query_parameters = PhysicsShapeQueryParameters2D.new()
|
||||||
var collision_shape = new_player.get_node("Body2D/CollisionShape2D").shape
|
var collision_shape = new_player.get_node("CollisionShape2D").shape
|
||||||
query_parameters.set_shape(collision_shape)
|
query_parameters.set_shape(collision_shape)
|
||||||
query_parameters.set_transform(Transform2D(0, pos))
|
query_parameters.set_transform(Transform2D(0, pos))
|
||||||
query_parameters.set_collision_mask(1)
|
query_parameters.set_collision_mask(1)
|
||||||
@ -63,7 +63,7 @@ func spawn_player(pos,vol):
|
|||||||
collision.collider.get_parent()._on_decay_timer_timeout()
|
collision.collider.get_parent()._on_decay_timer_timeout()
|
||||||
return
|
return
|
||||||
var marker = Sprite2D.new()
|
var marker = Sprite2D.new()
|
||||||
marker.position = new_player.get_node("Body2D").position
|
marker.position = new_player.position
|
||||||
marker.scale=Vector2(0.1,0.1)
|
marker.scale=Vector2(0.1,0.1)
|
||||||
marker.texture = load("res://images/crosshair.png")
|
marker.texture = load("res://images/crosshair.png")
|
||||||
add_child(marker)
|
add_child(marker)
|
||||||
|
52
Player.gd
52
Player.gd
@ -1,15 +1,33 @@
|
|||||||
class_name Player
|
class_name Player
|
||||||
extends Node2D
|
extends RigidBody2D
|
||||||
|
|
||||||
|
func _integrate_forces(state: PhysicsDirectBodyState2D):
|
||||||
|
var contact_count = state.get_contact_count()
|
||||||
|
for i in range(contact_count):
|
||||||
|
var collider_object = state.get_contact_collider_object(i)
|
||||||
|
if collider_object and collider_object is Player:
|
||||||
|
handle_player_collision(collider_object)
|
||||||
|
if collider_object and collider_object is Pool:
|
||||||
|
handle_pool_collision(collider_object)
|
||||||
|
|
||||||
|
func handle_player_collision(player: Player):
|
||||||
|
if is_carrying() and player.is_carrying():
|
||||||
|
doubledrop(player)
|
||||||
|
drop()
|
||||||
|
player.drop()
|
||||||
|
|
||||||
|
func handle_pool_collision(pool: Pool):
|
||||||
|
exchange_with(pool)
|
||||||
|
|
||||||
var carrying_r=0
|
var carrying_r=0
|
||||||
var carrying_g=0
|
var carrying_g=0
|
||||||
var carrying_b=0
|
var carrying_b=0
|
||||||
|
|
||||||
func _process(_delta):
|
func _process(_delta):
|
||||||
if $Body2D/CollisionShape2D.disabled:
|
if $CollisionShape2D.disabled:
|
||||||
# Prepare the shape query parameters
|
# Prepare the shape query parameters
|
||||||
var query_parameters = PhysicsShapeQueryParameters2D.new()
|
var query_parameters = PhysicsShapeQueryParameters2D.new()
|
||||||
var collision_shape = $Body2D/CollisionShape2D.shape
|
var collision_shape = $CollisionShape2D.shape
|
||||||
query_parameters.set_shape(collision_shape)
|
query_parameters.set_shape(collision_shape)
|
||||||
query_parameters.set_transform(Transform2D(0, position))
|
query_parameters.set_transform(Transform2D(0, position))
|
||||||
query_parameters.set_collision_mask(2) #2=pools
|
query_parameters.set_collision_mask(2) #2=pools
|
||||||
@ -20,7 +38,7 @@ func _process(_delta):
|
|||||||
# Check for collision
|
# Check for collision
|
||||||
var collision_results = space_state.intersect_shape(query_parameters)
|
var collision_results = space_state.intersect_shape(query_parameters)
|
||||||
if collision_results.size() == 0:
|
if collision_results.size() == 0:
|
||||||
$Body2D/CollisionShape2D.disabled=false
|
$CollisionShape2D.disabled=false
|
||||||
|
|
||||||
#func _physics_process(delta):
|
#func _physics_process(delta):
|
||||||
# if Input.is_action_pressed('move_up'):
|
# if Input.is_action_pressed('move_up'):
|
||||||
@ -33,25 +51,21 @@ func _process(_delta):
|
|||||||
# velocity.x += 1
|
# velocity.x += 1
|
||||||
# if Input.is_action_just_pressed('take'):
|
# if Input.is_action_just_pressed('take'):
|
||||||
# drop()
|
# drop()
|
||||||
#
|
|
||||||
# var collision_info = move_and_collide(velocity * delta)
|
|
||||||
# if collision_info:
|
|
||||||
# velocity = velocity.bounce(collision_info.get_normal())
|
|
||||||
# var collider=collision_info.get_collider();
|
|
||||||
# if collider.get_parent() is Pool:
|
|
||||||
# exchange_with(collider.get_parent())
|
|
||||||
# collider.get_parent().update()
|
|
||||||
# if collider.get_parent() is Player:
|
|
||||||
# drop()
|
|
||||||
# update()
|
|
||||||
|
|
||||||
func drop():
|
func drop():
|
||||||
if not is_carrying():
|
if not is_carrying():
|
||||||
return
|
return
|
||||||
#if Pool.spawn($Body2D.position,carrying_r,carrying_g,carrying_b):
|
var new_pool: Pool = load("res://pool.tscn").instantiate()
|
||||||
#carrying_r=0
|
new_pool.position = position
|
||||||
#carrying_g=0
|
new_pool.mana_r=carrying_r
|
||||||
#carrying_b=0
|
new_pool.mana_g=carrying_g
|
||||||
|
new_pool.mana_b=carrying_b
|
||||||
|
new_pool.get_node("CollisionShape2D2").disabled=true;
|
||||||
|
carrying_r=0
|
||||||
|
carrying_g=0
|
||||||
|
carrying_b=0
|
||||||
|
get_tree().root.get_node("Sim/Map").call_deferred("add_child",new_pool)
|
||||||
|
update()
|
||||||
|
|
||||||
func doubledrop(player: Player):
|
func doubledrop(player: Player):
|
||||||
if not is_carrying() or not player.is_carrying():
|
if not is_carrying() or not player.is_carrying():
|
||||||
|
8
Pool.gd
8
Pool.gd
@ -1,6 +1,6 @@
|
|||||||
@tool
|
@tool
|
||||||
class_name Pool
|
class_name Pool
|
||||||
extends Node2D
|
extends StaticBody2D
|
||||||
|
|
||||||
@export var mana_r: int = 10
|
@export var mana_r: int = 10
|
||||||
@export var mana_g: int = 10
|
@export var mana_g: int = 10
|
||||||
@ -12,10 +12,10 @@ func _ready():
|
|||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _process(_delta):
|
func _process(_delta):
|
||||||
if $StaticBody2D/CollisionShape2D2.disabled:
|
if $CollisionShape2D2.disabled:
|
||||||
# Prepare the shape query parameters
|
# Prepare the shape query parameters
|
||||||
var query_parameters = PhysicsShapeQueryParameters2D.new()
|
var query_parameters = PhysicsShapeQueryParameters2D.new()
|
||||||
var collision_shape = $StaticBody2D/CollisionShape2D2.shape
|
var collision_shape = $CollisionShape2D2.shape
|
||||||
query_parameters.set_shape(collision_shape)
|
query_parameters.set_shape(collision_shape)
|
||||||
query_parameters.set_transform(Transform2D(0, position))
|
query_parameters.set_transform(Transform2D(0, position))
|
||||||
query_parameters.set_collision_mask(1) #1=players
|
query_parameters.set_collision_mask(1) #1=players
|
||||||
@ -26,7 +26,7 @@ func _process(_delta):
|
|||||||
# Check for collision
|
# Check for collision
|
||||||
var collision_results = space_state.intersect_shape(query_parameters)
|
var collision_results = space_state.intersect_shape(query_parameters)
|
||||||
if collision_results.size() == 0:
|
if collision_results.size() == 0:
|
||||||
$StaticBody2D/CollisionShape2D2.disabled=false
|
$CollisionShape2D2.disabled=false
|
||||||
|
|
||||||
update()
|
update()
|
||||||
pass
|
pass
|
||||||
|
14
player.tscn
14
player.tscn
@ -1,26 +1,22 @@
|
|||||||
[gd_scene load_steps=6 format=3 uid="uid://bu6pswk806qv6"]
|
[gd_scene load_steps=5 format=3 uid="uid://bu6pswk806qv6"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Player.gd" id="1_kr26t"]
|
[ext_resource type="Script" path="res://Player.gd" id="1_kr26t"]
|
||||||
[ext_resource type="PhysicsMaterial" uid="uid://6vo1o6je0duv" path="res://physics/no_friction.tres" id="2_5k2ia"]
|
[ext_resource type="PhysicsMaterial" uid="uid://6vo1o6je0duv" path="res://physics/no_friction.tres" id="2_5k2ia"]
|
||||||
[ext_resource type="Texture2D" uid="uid://clyn507dro67" path="res://images/player.png" id="2_cxs7h"]
|
[ext_resource type="Texture2D" uid="uid://clyn507dro67" path="res://images/player.png" id="2_cxs7h"]
|
||||||
[ext_resource type="Script" path="res://Body2D.gd" id="3_rse87"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yt706"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_yt706"]
|
||||||
|
|
||||||
[node name="Player" type="Node2D"]
|
[node name="Player" type="RigidBody2D" groups=["Persist"]]
|
||||||
script = ExtResource("1_kr26t")
|
|
||||||
|
|
||||||
[node name="Body2D" type="RigidBody2D" parent="."]
|
|
||||||
collision_mask = 7
|
collision_mask = 7
|
||||||
physics_material_override = ExtResource("2_5k2ia")
|
physics_material_override = ExtResource("2_5k2ia")
|
||||||
max_contacts_reported = 10
|
max_contacts_reported = 10
|
||||||
contact_monitor = true
|
contact_monitor = true
|
||||||
script = ExtResource("3_rse87")
|
script = ExtResource("1_kr26t")
|
||||||
|
|
||||||
[node name="Mono-polygon" type="Sprite2D" parent="Body2D"]
|
[node name="Mono-polygon" type="Sprite2D" parent="."]
|
||||||
scale = Vector2(0.1, 0.1)
|
scale = Vector2(0.1, 0.1)
|
||||||
texture = ExtResource("2_cxs7h")
|
texture = ExtResource("2_cxs7h")
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Body2D"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
scale = Vector2(0.8, 0.8)
|
scale = Vector2(0.8, 0.8)
|
||||||
shape = SubResource("CircleShape2D_yt706")
|
shape = SubResource("CircleShape2D_yt706")
|
||||||
|
13
pool.tscn
13
pool.tscn
@ -5,19 +5,14 @@
|
|||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_fmfn8"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_fmfn8"]
|
||||||
|
|
||||||
[node name="Pool" type="Node2D"]
|
[node name="StaticBody2D" type="StaticBody2D"]
|
||||||
modulate = Color(0.3, 1, 1, 1)
|
|
||||||
scale = Vector2(0.151658, 0.151658)
|
|
||||||
script = ExtResource("1_tvic3")
|
|
||||||
mana_r = 3
|
|
||||||
|
|
||||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
|
||||||
collision_layer = 2
|
collision_layer = 2
|
||||||
collision_mask = 3
|
collision_mask = 3
|
||||||
|
script = ExtResource("1_tvic3")
|
||||||
|
|
||||||
[node name="CollisionShape2D2" type="CollisionShape2D" parent="StaticBody2D"]
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="."]
|
||||||
scale = Vector2(8.5, 8.5)
|
scale = Vector2(8.5, 8.5)
|
||||||
shape = SubResource("CircleShape2D_fmfn8")
|
shape = SubResource("CircleShape2D_fmfn8")
|
||||||
|
|
||||||
[node name="Icon" type="Sprite2D" parent="StaticBody2D"]
|
[node name="Icon" type="Sprite2D" parent="."]
|
||||||
texture = ExtResource("2_45evg")
|
texture = ExtResource("2_45evg")
|
||||||
|
Loading…
Reference in New Issue
Block a user