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_g=green
|
||||
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)
|
||||
|
||||
get_tree().root.get_node("Sim/Map").call_deferred("add_child",new_pool)
|
||||
|
||||
func spawn_player(pos,vol):
|
||||
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
|
||||
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_transform(Transform2D(0, pos))
|
||||
query_parameters.set_collision_mask(1)
|
||||
@ -63,7 +63,7 @@ func spawn_player(pos,vol):
|
||||
collision.collider.get_parent()._on_decay_timer_timeout()
|
||||
return
|
||||
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.texture = load("res://images/crosshair.png")
|
||||
add_child(marker)
|
||||
|
52
Player.gd
52
Player.gd
@ -1,15 +1,33 @@
|
||||
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_g=0
|
||||
var carrying_b=0
|
||||
|
||||
func _process(_delta):
|
||||
if $Body2D/CollisionShape2D.disabled:
|
||||
if $CollisionShape2D.disabled:
|
||||
# Prepare the shape query parameters
|
||||
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_transform(Transform2D(0, position))
|
||||
query_parameters.set_collision_mask(2) #2=pools
|
||||
@ -20,7 +38,7 @@ func _process(_delta):
|
||||
# Check for collision
|
||||
var collision_results = space_state.intersect_shape(query_parameters)
|
||||
if collision_results.size() == 0:
|
||||
$Body2D/CollisionShape2D.disabled=false
|
||||
$CollisionShape2D.disabled=false
|
||||
|
||||
#func _physics_process(delta):
|
||||
# if Input.is_action_pressed('move_up'):
|
||||
@ -33,25 +51,21 @@ func _process(_delta):
|
||||
# velocity.x += 1
|
||||
# if Input.is_action_just_pressed('take'):
|
||||
# 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():
|
||||
if not is_carrying():
|
||||
return
|
||||
#if Pool.spawn($Body2D.position,carrying_r,carrying_g,carrying_b):
|
||||
#carrying_r=0
|
||||
#carrying_g=0
|
||||
#carrying_b=0
|
||||
var new_pool: Pool = load("res://pool.tscn").instantiate()
|
||||
new_pool.position = position
|
||||
new_pool.mana_r=carrying_r
|
||||
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):
|
||||
if not is_carrying() or not player.is_carrying():
|
||||
|
8
Pool.gd
8
Pool.gd
@ -1,6 +1,6 @@
|
||||
@tool
|
||||
class_name Pool
|
||||
extends Node2D
|
||||
extends StaticBody2D
|
||||
|
||||
@export var mana_r: 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.
|
||||
func _process(_delta):
|
||||
if $StaticBody2D/CollisionShape2D2.disabled:
|
||||
if $CollisionShape2D2.disabled:
|
||||
# Prepare the shape query parameters
|
||||
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_transform(Transform2D(0, position))
|
||||
query_parameters.set_collision_mask(1) #1=players
|
||||
@ -26,7 +26,7 @@ func _process(_delta):
|
||||
# Check for collision
|
||||
var collision_results = space_state.intersect_shape(query_parameters)
|
||||
if collision_results.size() == 0:
|
||||
$StaticBody2D/CollisionShape2D2.disabled=false
|
||||
$CollisionShape2D2.disabled=false
|
||||
|
||||
update()
|
||||
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="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="Script" path="res://Body2D.gd" id="3_rse87"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yt706"]
|
||||
|
||||
[node name="Player" type="Node2D"]
|
||||
script = ExtResource("1_kr26t")
|
||||
|
||||
[node name="Body2D" type="RigidBody2D" parent="."]
|
||||
[node name="Player" type="RigidBody2D" groups=["Persist"]]
|
||||
collision_mask = 7
|
||||
physics_material_override = ExtResource("2_5k2ia")
|
||||
max_contacts_reported = 10
|
||||
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)
|
||||
texture = ExtResource("2_cxs7h")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Body2D"]
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
scale = Vector2(0.8, 0.8)
|
||||
shape = SubResource("CircleShape2D_yt706")
|
||||
|
13
pool.tscn
13
pool.tscn
@ -5,19 +5,14 @@
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_fmfn8"]
|
||||
|
||||
[node name="Pool" type="Node2D"]
|
||||
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="."]
|
||||
[node name="StaticBody2D" type="StaticBody2D"]
|
||||
collision_layer = 2
|
||||
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)
|
||||
shape = SubResource("CircleShape2D_fmfn8")
|
||||
|
||||
[node name="Icon" type="Sprite2D" parent="StaticBody2D"]
|
||||
[node name="Icon" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("2_45evg")
|
||||
|
Loading…
Reference in New Issue
Block a user