Add battle stuff
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
@tool
|
||||
class_name Entity extends CharacterBody3D
|
||||
const UUID = preload("res://util/UUID.gd")
|
||||
|
||||
enum MovementType {
|
||||
NONE,
|
||||
@@ -9,8 +11,14 @@ enum MovementType {
|
||||
enum InteractType {
|
||||
NONE,
|
||||
CONVERSATION,
|
||||
TEST_BATTLE
|
||||
};
|
||||
|
||||
@export_category("Identification")
|
||||
@export var entityId:String = UUID.uuidv4()
|
||||
@export_tool_button("Regenerate ID")
|
||||
var button := func():
|
||||
entityId = UUID.uuidv4()
|
||||
|
||||
# Movement settings
|
||||
@export_category("Movement")
|
||||
@@ -20,3 +28,6 @@ enum InteractType {
|
||||
@export_category("Interactions")
|
||||
@export var interactType:InteractType = InteractType.NONE
|
||||
@export var conversation:Array[ConversationElement] = []
|
||||
|
||||
# TEST BATTLE
|
||||
@export_category("Test Battle")
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
class_name EntityInteractableArea extends Area3D
|
||||
# const BattleStartAction = preload("res://cutscene/battle/BattleStartAction.gd")
|
||||
|
||||
@export var entity:Entity
|
||||
|
||||
@@ -10,13 +11,18 @@ func isInteractable() -> bool:
|
||||
return false
|
||||
|
||||
if entity.interactType == Entity.InteractType.CONVERSATION:
|
||||
if entity.conversation.size() == 0:
|
||||
return false
|
||||
if entity.conversation.size() != 0:
|
||||
return true
|
||||
|
||||
if entity.interactType == Entity.InteractType.TEST_BATTLE:
|
||||
return true
|
||||
|
||||
return true
|
||||
return false
|
||||
|
||||
func _onConversationInteract(_other:Entity) -> void:
|
||||
CUTSCENE.setConversation(entity.conversation)
|
||||
var cutscene:Cutscene = Cutscene.new()
|
||||
cutscene.addConversation(entity.conversation)
|
||||
cutscene.start()
|
||||
|
||||
func onInteract(other:Entity) -> void:
|
||||
if entity.interactType == Entity.InteractType.NONE:
|
||||
@@ -26,5 +32,14 @@ func onInteract(other:Entity) -> void:
|
||||
Entity.InteractType.CONVERSATION:
|
||||
_onConversationInteract(other)
|
||||
return
|
||||
|
||||
Entity.InteractType.TEST_BATTLE:
|
||||
var cutscene:Cutscene = Cutscene.new()
|
||||
cutscene.addCallable(BattleStartAction.getStartBattleCallable({
|
||||
BATTLE.BattlePosition.RIGHT_TOP_FRONT: PartySingleton.PARTY_JOHN,
|
||||
}))
|
||||
cutscene.start()
|
||||
return
|
||||
|
||||
_:
|
||||
pass
|
||||
|
||||
@@ -82,4 +82,4 @@ func _physics_process(delta:float) -> void:
|
||||
_applyGravity()
|
||||
_applyFriction(delta)
|
||||
_applyMovement(delta)
|
||||
entity.move_and_slide()
|
||||
entity.move_and_slide()
|
||||
|
||||
@@ -16,13 +16,20 @@ script = ExtResource("1_6ms5s")
|
||||
|
||||
[node name="NotPlayer" parent="." instance=ExtResource("2_jmygs")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00883961, 1.11219, 0.0142021)
|
||||
entityId = "bcabec96-8d33-4c16-a997-3bb3b0562b33"
|
||||
interactType = 1
|
||||
conversation = Array[ExtResource("3_p7git")]([SubResource("Resource_p7git")])
|
||||
|
||||
[node name="NotPlayer2" parent="." instance=ExtResource("2_jmygs")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00883961, 1.11219, 4.34543)
|
||||
entityId = "ad5a1504-7fbf-45d6-b1bf-6e7af6314066"
|
||||
interactType = 2
|
||||
|
||||
[node name="TestMapBase" parent="." instance=ExtResource("1_ox0si")]
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("2_jmygs")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.1915, 1.05, 0.125589)
|
||||
entityId = "player"
|
||||
movementType = 2
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
|
||||
Reference in New Issue
Block a user