new transition to phase 2

This commit is contained in:
Nikolai Fesenko
2025-08-30 22:19:21 +02:00
parent dcbc8f3eba
commit c6fa8d175a
3 changed files with 23 additions and 22 deletions

View File

@@ -193,8 +193,6 @@ spot_angle = 42.0126
[node name="revolver" parent="." instance=ExtResource("4_jjvhh")] [node name="revolver" parent="." instance=ExtResource("4_jjvhh")]
transform = Transform3D(-4.37114e-09, -0.1, 0, 0.1, -4.37114e-09, 0, 0, 0, 0.1, 1.02871, 3.34454, 0.425178) transform = Transform3D(-4.37114e-09, -0.1, 0, 0.1, -4.37114e-09, 0, 0, 0, 0.1, 1.02871, 3.34454, 0.425178)
down_pos = Vector3(1.029, 3.345, 0.425)
target_angle_up = Vector3(0, 0, -180)
is_player_revolver = true is_player_revolver = true
[node name="BulletStack" type="Node3D" parent="."] [node name="BulletStack" type="Node3D" parent="."]
@@ -245,10 +243,6 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.0599
[node name="enemy_revolver" parent="." instance=ExtResource("4_jjvhh")] [node name="enemy_revolver" parent="." instance=ExtResource("4_jjvhh")]
transform = Transform3D(0.00193719, -0.0999812, 1.50996e-08, -0.0999812, -0.00193719, -8.74064e-09, 9.0315e-09, -1.49274e-08, -0.1, 1.01994, 3.38413, -0.496572) transform = Transform3D(0.00193719, -0.0999812, 1.50996e-08, -0.0999812, -0.00193719, -8.74064e-09, 9.0315e-09, -1.49274e-08, -0.1, 1.01994, 3.38413, -0.496572)
up_pos = Vector3(0.354, 4.248, -0.497)
down_pos = Vector3(1.02, 3.384, -0.497)
target_angle_up = Vector3(0, -180, 180)
target_angle_down = Vector3(0, 180, -90)
[node name="MainGame" parent="." instance=ExtResource("6_21xkr")] [node name="MainGame" parent="." instance=ExtResource("6_21xkr")]

View File

@@ -18,9 +18,12 @@ var is_player2_loaded: bool = false
var bullet_stack: Node3D var bullet_stack: Node3D
var animPl: AnimationPlayer var animPl: AnimationPlayer
var last_turn: int
func _ready() -> void: func _ready() -> void:
bullet_shoot.connect(on_bullet_shoot) bullet_shoot.connect(on_bullet_shoot)
bullet_selected.connect(on_bullet_selected) bullet_selected.connect(on_bullet_selected)
func _input(event: InputEvent) -> void: func _input(event: InputEvent) -> void:
if event.is_action_released("load"): if event.is_action_released("load"):
@@ -66,23 +69,22 @@ func check_loaded_bullets(revolver: Node3D):
return false return false
func end_player_turn(): func end_player_turn():
if !is_player2_loaded:
set_state(GameState.PLAYER2_GUN_LOAD)
animPl.play("player_revolver_down") animPl.play("player_revolver_down")
end_turn() #end_turn()
func end_enemy_turn(): func end_enemy_turn():
if is_player1_loaded == false: animPl.play("enemey_rev_down")
print("Player Turn") #set_player_turn()
set_player_turn() #end_turn()
end_turn()
func end_turn(): func end_turn():
if check_unloaded_bullets(): if !player1_revolver.can_be_loaded() and !player2_revolver.can_be_loaded():
if is_player1_loaded and is_player2_loaded: print("Phase 2")
print("Phase 2")
get_phase2_player_start()
else: else:
set_state(GameState.PLAYER2_UNLOAD) if last_turn == 0:
set_enemy_turn()
else:
set_player_turn()
func get_enemy_revolver() -> Node3D: func get_enemy_revolver() -> Node3D:
return player2_revolver return player2_revolver
@@ -101,8 +103,17 @@ func on_bullet_shoot(target):
func set_player_turn(): func set_player_turn():
animPl.play("player_revolver_up") animPl.play("player_revolver_up")
func set_enemy_turn():
animPl.play("enemey_rev_up")
func on_animation_finished(anim_name): func on_animation_finished(anim_name):
if anim_name == "player_revolver_up": if anim_name == "player_revolver_up":
set_state(GameState.PLAYER1_GUN_LOAD) set_state(GameState.PLAYER1_GUN_LOAD)
elif anim_name == "player_revolver_down": elif anim_name == "player_revolver_down":
last_turn = 0
end_turn()
elif anim_name == "enemey_rev_up":
set_state(GameState.PLAYER2_GUN_LOAD) set_state(GameState.PLAYER2_GUN_LOAD)
elif anim_name == "enemey_rev_down":
last_turn = 1
end_turn()

View File

@@ -4,16 +4,12 @@ enum revolver_state {UP, DOWN, LOADING}
var state: int = revolver_state.DOWN var state: int = revolver_state.DOWN
var game_state: int var game_state: int
var bullet_target_pos = Vector3(1.95,0.03,4.612) #2.231 var bullet_target_pos = Vector3(1.95,0.03,4.612) #2.231
@export var up_pos: Vector3 = Vector3(0.354,4.248,0.425)
@export var down_pos: Vector3
var loaded_bullets = Array() var loaded_bullets = Array()
var max_bullets: int = 6 var max_bullets: int = 6
var current_round: int = 0 var current_round: int = 0
var timer: Timer var timer: Timer
var target_angle: Vector3 = Vector3(0,0,90) var target_angle: Vector3 = Vector3(0,0,90)
@export var target_angle_up: Vector3 = Vector3(0,0,90)
@export var target_angle_down: Vector3 = Vector3(0,0,90)
@export var is_player_revolver: bool = false @export var is_player_revolver: bool = false
@export var cylinder: Node3D @export var cylinder: Node3D