Hide UID files in VSCode
This commit is contained in:
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
@@ -2,5 +2,8 @@
|
|||||||
"godotTools.editorPath.godot4": "/var/lib/flatpak/app/org.godotengine.Godot/current/active/export/bin/org.godotengine.Godot",
|
"godotTools.editorPath.godot4": "/var/lib/flatpak/app/org.godotengine.Godot/current/active/export/bin/org.godotengine.Godot",
|
||||||
"terminal.integrated.tabs.enabled": false,
|
"terminal.integrated.tabs.enabled": false,
|
||||||
"editor.insertSpaces": false,
|
"editor.insertSpaces": false,
|
||||||
"editor.tabSize": 4
|
"editor.tabSize": 4,
|
||||||
|
"files.exclude": {
|
||||||
|
"**/*.uid": true
|
||||||
|
},
|
||||||
}
|
}
|
@@ -20,7 +20,6 @@ shader_parameter/npcTexture = ExtResource("3_20w6p")
|
|||||||
|
|
||||||
[node name="TestNpc" type="CharacterBody3D"]
|
[node name="TestNpc" type="CharacterBody3D"]
|
||||||
script = ExtResource("1_1muh7")
|
script = ExtResource("1_1muh7")
|
||||||
interactType = 1
|
|
||||||
interactCutscene = ExtResource("2_jwvuu")
|
interactCutscene = ExtResource("2_jwvuu")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
|
@@ -29,6 +29,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.651853, 0.684572, -0.05930
|
|||||||
|
|
||||||
[node name="TestNpc" parent="." instance=ExtResource("3_q0pj2")]
|
[node name="TestNpc" parent="." instance=ExtResource("3_q0pj2")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.68747, 0.459578, -0.399262)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.68747, 0.459578, -0.399262)
|
||||||
|
interactType = 2
|
||||||
|
interactTexts = Array[String](["Hello, I am an NPC"])
|
||||||
|
moveType = 1
|
||||||
direction = 1
|
direction = 1
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
@@ -1,14 +1,10 @@
|
|||||||
class_name TestCutscene extends "res://scripts/Cutscene/Cutscene.gd"
|
class_name TestCutscene extends "res://scripts/Cutscene/Scene/OverworldConversationEvent.gd"
|
||||||
const OverworldEntity = preload("res://scripts/Entities/OverworldEntity.gd");
|
|
||||||
const CookingStartEvent = preload("res://scripts/Cutscene/Cooking/CookingStartEvent.gd");
|
|
||||||
|
|
||||||
var cook:CookingGame;
|
|
||||||
|
|
||||||
func _init(speaker:OverworldEntity, interacted:OverworldEntity ) -> void:
|
func _init(speaker:OverworldEntity, interacted:OverworldEntity ) -> void:
|
||||||
cook = CookingGame.new(VerticalSlice.new());
|
super(
|
||||||
pass
|
speaker,
|
||||||
|
interacted,
|
||||||
func setupCutscene() -> void:
|
[
|
||||||
add([
|
"Hello"
|
||||||
CookingStartEvent.new(cook),
|
]
|
||||||
]);
|
);
|
||||||
|
@@ -1,13 +1,27 @@
|
|||||||
class_name BasicNPCEntity extends "res://scripts/Entities/OverworldEntity.gd"
|
class_name BasicNPCEntity extends "res://scripts/Entities/OverworldEntity.gd"
|
||||||
const Cutscene = preload("res://scripts/Cutscene/Cutscene.gd")
|
const Cutscene = preload("res://scripts/Cutscene/Cutscene.gd");
|
||||||
|
const OverworldConversationEvent = preload("res://scripts/Cutscene/Scene/OverworldConversationEvent.gd");
|
||||||
|
|
||||||
enum BasicNPCInteractType {
|
enum BasicNPCInteractType {
|
||||||
NONE,
|
NONE,
|
||||||
CUTSCENE
|
CUTSCENE,
|
||||||
|
TEXTS
|
||||||
|
};
|
||||||
|
|
||||||
|
enum BasicNPCMoveType {
|
||||||
|
STILL,
|
||||||
|
RANDOM_LOOK
|
||||||
};
|
};
|
||||||
|
|
||||||
@export var interactType:BasicNPCInteractType = BasicNPCInteractType.NONE;
|
@export var interactType:BasicNPCInteractType = BasicNPCInteractType.NONE;
|
||||||
@export var interactCutscene:Resource;
|
@export var interactCutscene:GDScript;
|
||||||
|
@export var interactTexts:Array[String];
|
||||||
|
|
||||||
|
@export var moveType:BasicNPCMoveType = BasicNPCMoveType.STILL;
|
||||||
|
|
||||||
|
@export var randomLookMinTime:float = 1.0;
|
||||||
|
@export var randomLookMaxTime:float = 3.0;
|
||||||
|
var randomLookTimer:float = 0.0;
|
||||||
|
|
||||||
func interact(interactor:OverworldEntity) -> void:
|
func interact(interactor:OverworldEntity) -> void:
|
||||||
if interactType == BasicNPCInteractType.NONE:
|
if interactType == BasicNPCInteractType.NONE:
|
||||||
@@ -16,11 +30,26 @@ func interact(interactor:OverworldEntity) -> void:
|
|||||||
if interactType == BasicNPCInteractType.CUTSCENE:
|
if interactType == BasicNPCInteractType.CUTSCENE:
|
||||||
# Cutscene in this manner must take two entities
|
# Cutscene in this manner must take two entities
|
||||||
# (self, speaker, and interactor, player)
|
# (self, speaker, and interactor, player)
|
||||||
var instance:Cutscene = interactCutscene.new(self, interactor);
|
var cs:Cutscene = interactCutscene.new(self, interactor);
|
||||||
getSystems().CUTSCENE.setCurrentCutscene(instance);
|
getSystems().CUTSCENE.setCurrentCutscene(cs);
|
||||||
|
return
|
||||||
|
|
||||||
|
if interactType == BasicNPCInteractType.TEXTS:
|
||||||
|
var cs:Cutscene = OverworldConversationEvent.new(self, interactor, interactTexts);
|
||||||
|
getSystems().CUTSCENE.setCurrentCutscene(cs);
|
||||||
return
|
return
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func updateMovement(delta:float) -> void:
|
func updateMovement(delta:float) -> void:
|
||||||
|
if moveType == BasicNPCMoveType.STILL:
|
||||||
|
return
|
||||||
|
|
||||||
|
if moveType == BasicNPCMoveType.RANDOM_LOOK:
|
||||||
|
randomLookTimer -= delta;
|
||||||
|
if randomLookTimer <= 0:
|
||||||
|
randomLookTimer = randf_range(randomLookMinTime, randomLookMaxTime);
|
||||||
|
self.direction = randi_range(0, 3);
|
||||||
|
return
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
@@ -7,11 +7,9 @@ func _ready() -> void:
|
|||||||
func _on_body_entered(body: Node3D) -> void:
|
func _on_body_entered(body: Node3D) -> void:
|
||||||
if (!body is OverworldEntity):
|
if (!body is OverworldEntity):
|
||||||
return
|
return
|
||||||
print("Entered overworld ent")
|
|
||||||
(body as OverworldEntity).withinMapBounds = self;
|
(body as OverworldEntity).withinMapBounds = self;
|
||||||
|
|
||||||
func _on_body_exited(body: Node3D) -> void:
|
func _on_body_exited(body: Node3D) -> void:
|
||||||
if (!body is OverworldEntity):
|
if (!body is OverworldEntity):
|
||||||
return
|
return
|
||||||
print("Entered overworld ent")
|
|
||||||
(body as OverworldEntity).withinMapBounds = null;
|
(body as OverworldEntity).withinMapBounds = null;
|
||||||
|
@@ -20,6 +20,7 @@ var isClosed = true;
|
|||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
label = $MarginContainer/Label
|
label = $MarginContainer/Label
|
||||||
|
self.visible = false;
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
if text == "":
|
if text == "":
|
||||||
@@ -39,9 +40,9 @@ func _process(delta: float) -> void:
|
|||||||
|
|
||||||
if visibleCharacters >= getCountOfCharactersToScrollInView():
|
if visibleCharacters >= getCountOfCharactersToScrollInView():
|
||||||
currentViewScrolled = true;
|
currentViewScrolled = true;
|
||||||
print("Scrolled view");
|
#print("Scrolled view");
|
||||||
if isMoreViews:
|
#if isMoreViews:
|
||||||
print("More views");
|
#print("More views");
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if Input.is_action_just_pressed("interact"):
|
if Input.is_action_just_pressed("interact"):
|
||||||
@@ -108,7 +109,7 @@ func setText(text:String) -> void:
|
|||||||
self.text = text;
|
self.text = text;
|
||||||
if text == "":
|
if text == "":
|
||||||
isClosed = true;
|
isClosed = true;
|
||||||
label.text = "closed.";
|
self.visible = false;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
isClosed = false;
|
isClosed = false;
|
||||||
@@ -117,3 +118,4 @@ func setText(text:String) -> void:
|
|||||||
currentLine = 0;
|
currentLine = 0;
|
||||||
currentViewScrolled = false;
|
currentViewScrolled = false;
|
||||||
recalculateWrapping();
|
recalculateWrapping();
|
||||||
|
self.visible = true;
|
||||||
|
Reference in New Issue
Block a user