first commit

This commit is contained in:
Nikolai Fesenko
2025-08-28 19:16:51 +02:00
commit ad86d7e7a1
43 changed files with 2033 additions and 0 deletions

26
Scripts/bullet.gd Normal file
View File

@@ -0,0 +1,26 @@
extends Node3D
signal destination_reached
var is_live: bool = false
var is_target_reached: bool = true
var target_position: Vector3
func _ready() -> void:
target_position = Vector3.ZERO
destination_reached.connect(on_target_reached)
func _process(delta: float) -> void:
if !is_target_reached:
self.global_position = lerp(global_position, target_position, delta / 0.1)
if (global_position.length() - target_position.length() ) == 0.0:
destination_reached.emit()
func moveTo(target_pos: Vector3):
target_position = target_pos
is_target_reached = false
func on_target_reached():
is_target_reached = true

1
Scripts/bullet.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://bckkey7836cjp

20
Scripts/bullet_stack.gd Normal file
View File

@@ -0,0 +1,20 @@
extends Node3D
@onready var bullet_sc = preload("res://Scenes/bullet.tscn")
var bullets = Array()
var h_offset: float = 0.15
var v_offset: float = 0.1
func _ready() -> void:
GameManager.set_bullet_stack(self)
generate_bullet_stack()
func generate_bullet_stack():
for i in range(1, 22, 1):
var newBullet = bullet_sc.instantiate()
newBullet.position = Vector3(i*h_offset,0,0)
bullets.append(newBullet)
add_child(newBullet)

View File

@@ -0,0 +1 @@
uid://dcmqt4341kxem

24
Scripts/game_manager.gd Normal file
View File

@@ -0,0 +1,24 @@
extends Node
var bullets: Array
var player1_revolver: Node3D
var player2_revolver: Node3D
var bullet_stack: Node3D
func _ready() -> void:
bullets.resize(21)
func _input(event: InputEvent) -> void:
if event.is_action_released("load"):
player1_revolver.load_bullet(bullet_stack.bullets[0])
func set_player_revolver(newRevolver):
player1_revolver = newRevolver
func set_enemy_revolver(newRevolver):
player2_revolver = newRevolver
func set_bullet_stack(newStack):
bullet_stack = newStack
func add_bullet():
pass

View File

@@ -0,0 +1 @@
uid://cjdog8xi8r8xf

29
Scripts/revolver.gd Normal file
View File

@@ -0,0 +1,29 @@
extends Node3D
var bullet_target_pos = Vector3(2.231,0.03,4.612)
var loaded_bullets = Array()
var max_bullets: int = 6
var current_round: int = 0
@export var is_player_revolver: bool = false
@export var cylinder: Node3D
var is_cylinder_out: bool = false
func _ready() -> void:
if is_player_revolver:
GameManager.set_player_revolver(self)
else:
GameManager.set_enemy_revolver(self)
func _process(delta: float) -> void:
if is_cylinder_out:
cylinder.position = lerp(cylinder.position, Vector3(1.947,0.543,3.979), delta/ 0.1)
else:
cylinder.position = lerp(cylinder.position, Vector3(0,0.543,3.979), delta/ 0.1)
func load_bullet(bullet_object):
bullet_object.moveTo(to_global(bullet_target_pos))
is_cylinder_out = true
func shoot():
pass

1
Scripts/revolver.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://d3174fuibuuyo