Mergepoint II
This commit is contained in:
16
Zennysoft.Game.Ma.Implementation/Map/Floors.cs
Normal file
16
Zennysoft.Game.Ma.Implementation/Map/Floors.cs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
namespace Zennysoft.Ma.Adapter;
|
||||||
|
public enum Floor
|
||||||
|
{
|
||||||
|
Overworld,
|
||||||
|
Altar,
|
||||||
|
BossFloorA,
|
||||||
|
BossFloorB,
|
||||||
|
GoddessOfGuidanceFloor,
|
||||||
|
VoidRoom,
|
||||||
|
FinalFloor,
|
||||||
|
Floor01,
|
||||||
|
Floor02,
|
||||||
|
Floor03,
|
||||||
|
Floor04,
|
||||||
|
Floor05,
|
||||||
|
}
|
||||||
@@ -18,5 +18,5 @@ public partial record PlayerData
|
|||||||
public partial record MapData
|
public partial record MapData
|
||||||
{
|
{
|
||||||
[Save("floor_list")]
|
[Save("floor_list")]
|
||||||
public required List<string> FloorScenes { get; init; }
|
public required Dictionary<Floor, string> FloorScenes { get; init; }
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="oggvorbisstr"
|
|
||||||
type="AudioStreamOggVorbis"
|
|
||||||
uid="uid://hmx3puq627vt"
|
|
||||||
path="res://.godot/imported/CrossingTheGate.ogg-928288dfb5c09b4bfb32624fa16625df.oggvorbisstr"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://src/Unused and Old/CrossingTheGate.ogg"
|
|
||||||
dest_files=["res://.godot/imported/CrossingTheGate.ogg-928288dfb5c09b4bfb32624fa16625df.oggvorbisstr"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
loop=false
|
|
||||||
loop_offset=0
|
|
||||||
bpm=0
|
|
||||||
beat_count=0
|
|
||||||
bar_beats=4
|
|
||||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="oggvorbisstr"
|
|
||||||
type="AudioStreamOggVorbis"
|
|
||||||
uid="uid://4e3nl0kd2vi8"
|
|
||||||
path="res://.godot/imported/Droney.ogg-f844419b0508cb66adc758c97ec21dcb.oggvorbisstr"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://src/Unused and Old/Droney.ogg"
|
|
||||||
dest_files=["res://.godot/imported/Droney.ogg-f844419b0508cb66adc758c97ec21dcb.oggvorbisstr"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
loop=false
|
|
||||||
loop_offset=0
|
|
||||||
bpm=0
|
|
||||||
beat_count=0
|
|
||||||
bar_beats=4
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -1,19 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="oggvorbisstr"
|
|
||||||
type="AudioStreamOggVorbis"
|
|
||||||
uid="uid://8srjhvr3ktjv"
|
|
||||||
path="res://.godot/imported/TarWinds.ogg-ec9634d7fbb4157da8084068a6761eee.oggvorbisstr"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://src/Unused and Old/TarWinds.ogg"
|
|
||||||
dest_files=["res://.godot/imported/TarWinds.ogg-ec9634d7fbb4157da8084068a6761eee.oggvorbisstr"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
loop=false
|
|
||||||
loop_offset=0
|
|
||||||
bpm=0
|
|
||||||
beat_count=0
|
|
||||||
bar_beats=4
|
|
||||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="oggvorbisstr"
|
|
||||||
type="AudioStreamOggVorbis"
|
|
||||||
uid="uid://8fvgiyyje2px"
|
|
||||||
path="res://.godot/imported/UselessImmuneSystem.ogg-4b373f2a435c102bba2fec78bea9df03.oggvorbisstr"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://src/Unused and Old/UselessImmuneSystem.ogg"
|
|
||||||
dest_files=["res://.godot/imported/UselessImmuneSystem.ogg-4b373f2a435c102bba2fec78bea9df03.oggvorbisstr"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
loop=false
|
|
||||||
loop_offset=0
|
|
||||||
bpm=0
|
|
||||||
beat_count=0
|
|
||||||
bar_beats=4
|
|
||||||
@@ -53,8 +53,6 @@ public partial class App : Node, IApp
|
|||||||
MainMenu.Quit += OnQuit;
|
MainMenu.Quit += OnQuit;
|
||||||
_loadedScene.Changed += OnGameLoaded;
|
_loadedScene.Changed += OnGameLoaded;
|
||||||
|
|
||||||
Instantiator = new Instantiator(GetTree());
|
|
||||||
|
|
||||||
AppRepo = container.GetInstance<IAppRepo>();
|
AppRepo = container.GetInstance<IAppRepo>();
|
||||||
AppLogic = container.GetInstance<IAppLogic>();
|
AppLogic = container.GetInstance<IAppLogic>();
|
||||||
|
|
||||||
@@ -72,7 +70,6 @@ public partial class App : Node, IApp
|
|||||||
var scene = (PackedScene)ResourceLoader.LoadThreadedGet(sceneName);
|
var scene = (PackedScene)ResourceLoader.LoadThreadedGet(sceneName);
|
||||||
var node = scene.Instantiate();
|
var node = scene.Instantiate();
|
||||||
AddChild(node);
|
AddChild(node);
|
||||||
Instantiator.SceneTree.Paused = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnReady()
|
public void OnReady()
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
[gd_scene load_steps=9 format=3 uid="uid://cvk007twac22c"]
|
[gd_scene load_steps=10 format=3 uid="uid://cvk007twac22c"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cohal8w5ceneg" path="res://src/enemy/enemy_types/03. filth_eater/FilthEater.cs" id="1_fyc13"]
|
[ext_resource type="Script" uid="uid://cohal8w5ceneg" path="res://src/enemy/enemy_types/03. filth_eater/FilthEater.cs" id="1_fyc13"]
|
||||||
[ext_resource type="Resource" uid="uid://coyidduu5uhsp" path="res://src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres" id="2_p438s"]
|
[ext_resource type="Resource" uid="uid://coyidduu5uhsp" path="res://src/enemy/enemy_types/03. filth_eater/FilthEaterStats.tres" id="2_p438s"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bup8c4x1na3aw" path="res://src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn" id="3_rrwed"]
|
[ext_resource type="PackedScene" uid="uid://bup8c4x1na3aw" path="res://src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn" id="3_rrwed"]
|
||||||
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="4_5eid5"]
|
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="4_5eid5"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://pbnsngx5jvrh" path="res://src/enemy/NavigationAgentClient.tscn" id="5_veila"]
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
|
||||||
radius = 1.0
|
|
||||||
|
|
||||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"]
|
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"]
|
||||||
height = 5.0
|
height = 5.0
|
||||||
radius = 1.0
|
radius = 1.0
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||||
|
radius = 1.0
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_0y048"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_0y048"]
|
||||||
radius = 1.0
|
radius = 1.0
|
||||||
|
|
||||||
@@ -32,16 +33,6 @@ SecondaryAttackElementalType = 2
|
|||||||
SecondaryAttackElementalDamageBonus = 1.15
|
SecondaryAttackElementalDamageBonus = 1.15
|
||||||
_enemyStatResource = ExtResource("2_p438s")
|
_enemyStatResource = ExtResource("2_p438s")
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape3D" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
|
||||||
shape = SubResource("CapsuleShape3D_cwfph")
|
|
||||||
|
|
||||||
[node name="NavAgent" type="NavigationAgent3D" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
avoidance_enabled = true
|
|
||||||
debug_path_custom_color = Color(1, 0, 0, 1)
|
|
||||||
|
|
||||||
[node name="LineOfSight" type="Area3D" parent="."]
|
[node name="LineOfSight" type="Area3D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
||||||
@@ -52,6 +43,11 @@ collision_mask = 2
|
|||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -2)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -2)
|
||||||
shape = SubResource("CylinderShape3D_jbgmx")
|
shape = SubResource("CylinderShape3D_jbgmx")
|
||||||
|
|
||||||
|
[node name="CollisionShape" type="CollisionShape3D" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
||||||
|
shape = SubResource("CapsuleShape3D_cwfph")
|
||||||
|
|
||||||
[node name="PatrolTimer" type="Timer" parent="."]
|
[node name="PatrolTimer" type="Timer" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
wait_time = 10.0
|
wait_time = 10.0
|
||||||
@@ -78,3 +74,6 @@ shape = SubResource("SphereShape3D_0y048")
|
|||||||
[node name="EnemyModelView" parent="." instance=ExtResource("3_rrwed")]
|
[node name="EnemyModelView" parent="." instance=ExtResource("3_rrwed")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
EnemyLoreInfo = SubResource("Resource_fv5vf")
|
EnemyLoreInfo = SubResource("Resource_fv5vf")
|
||||||
|
|
||||||
|
[node name="NavigationAgentClient" parent="." instance=ExtResource("5_veila")]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public partial class Game : Node3D, IGame
|
|||||||
},
|
},
|
||||||
MapData = new MapData()
|
MapData = new MapData()
|
||||||
{
|
{
|
||||||
FloorScenes = _map.FloorScenes
|
FloorScenes = []
|
||||||
},
|
},
|
||||||
RescuedItems = new RescuedItemDatabase()
|
RescuedItems = new RescuedItemDatabase()
|
||||||
{
|
{
|
||||||
@@ -251,7 +251,6 @@ public partial class Game : Node3D, IGame
|
|||||||
GameRepo.Resume();
|
GameRepo.Resume();
|
||||||
InGameUI.Show();
|
InGameUI.Show();
|
||||||
InGameUI.PlayerInfoUI.Activate();
|
InGameUI.PlayerInfoUI.Activate();
|
||||||
_player.TeleportPlayer(_map.CurrentFloor.GetPlayerSpawnPoint());
|
|
||||||
_player.Activate();
|
_player.Activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ using Chickensoft.GodotNodeInterfaces;
|
|||||||
using Chickensoft.SaveFileBuilder;
|
using Chickensoft.SaveFileBuilder;
|
||||||
using Godot;
|
using Godot;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Immutable;
|
||||||
|
using Zennysoft.Ma.Adapter;
|
||||||
|
|
||||||
namespace Zennysoft.Game.Ma;
|
namespace Zennysoft.Game.Ma;
|
||||||
|
|
||||||
@@ -13,7 +15,7 @@ public interface IMap : INode3D, IProvide<ISaveChunk<MapData>>
|
|||||||
|
|
||||||
void LoadFloor();
|
void LoadFloor();
|
||||||
|
|
||||||
List<string> FloorScenes { get; }
|
ImmutableDictionary<Floor, string> FloorScenes { get; }
|
||||||
|
|
||||||
IDungeonFloor CurrentFloor { get; }
|
IDungeonFloor CurrentFloor { get; }
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using Chickensoft.LogicBlocks;
|
|||||||
using Chickensoft.SaveFileBuilder;
|
using Chickensoft.SaveFileBuilder;
|
||||||
using Godot;
|
using Godot;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Immutable;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Zennysoft.Ma.Adapter;
|
using Zennysoft.Ma.Adapter;
|
||||||
|
|
||||||
@@ -31,9 +32,9 @@ public partial class Map : Node3D, IMap
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
[Export]
|
[Export]
|
||||||
private Godot.Collections.Array<PackedScene> _floors { get; set; } = default!;
|
private Godot.Collections.Array<Floor> Floors { get; set; } = default!;
|
||||||
|
|
||||||
public List<string> FloorScenes { get; private set; } = [];
|
public ImmutableDictionary<Floor, string> FloorScenes { get; private set; }
|
||||||
|
|
||||||
public IDungeonFloor CurrentFloor { get; private set; }
|
public IDungeonFloor CurrentFloor { get; private set; }
|
||||||
|
|
||||||
@@ -41,17 +42,6 @@ public partial class Map : Node3D, IMap
|
|||||||
|
|
||||||
public void OnResolved()
|
public void OnResolved()
|
||||||
{
|
{
|
||||||
MapChunk = new SaveChunk<MapData>(
|
|
||||||
onSave: (chunk) => new MapData()
|
|
||||||
{
|
|
||||||
FloorScenes = FloorScenes,
|
|
||||||
},
|
|
||||||
onLoad: (chunk, data) =>
|
|
||||||
{
|
|
||||||
FloorScenes = data.FloorScenes;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
GameChunk.AddChunk(MapChunk);
|
GameChunk.AddChunk(MapChunk);
|
||||||
|
|
||||||
this.Provide();
|
this.Provide();
|
||||||
@@ -62,9 +52,19 @@ public partial class Map : Node3D, IMap
|
|||||||
public void InitializeMapData()
|
public void InitializeMapData()
|
||||||
{
|
{
|
||||||
ClearMap();
|
ClearMap();
|
||||||
FloorScenes = [];
|
FloorScenes = ImmutableDictionary<Floor, string>.Empty
|
||||||
foreach (var floor in _floors)
|
.Add(Floor.Overworld, $"res://src/map/overworld/Overworld.tscn")
|
||||||
FloorScenes.Add(floor.ResourcePath);
|
.Add(Floor.Altar, $"res://src/map/dungeon/floors/Floor00.tscn")
|
||||||
|
.Add(Floor.BossFloorA, $"res://src/map/dungeon/rooms/Set A/15. Boss Floor A.tscn")
|
||||||
|
.Add(Floor.BossFloorB, $"res://src/map/dungeon/rooms/Set B/34. Boss Floor B.tscn")
|
||||||
|
.Add(Floor.GoddessOfGuidanceFloor, $"res://src/map/dungeon/rooms/Set B/35. Goddess of Guidance's Room.tscn")
|
||||||
|
.Add(Floor.VoidRoom, $"res://src/map/dungeon/rooms/Set B/30. Void Room.tscn")
|
||||||
|
.Add(Floor.FinalFloor, $"res://src/map/dungeon/rooms/Set B/36. Final Floor.tscn")
|
||||||
|
.Add(Floor.Floor01, $"res://src/map/dungeon/floors/Floor01.tscn")
|
||||||
|
.Add(Floor.Floor02, $"res://src/map/dungeon/floors/Floor02.tscn")
|
||||||
|
.Add(Floor.Floor03, $"res://src/map/dungeon/floors/Floor03.tscn")
|
||||||
|
.Add(Floor.Floor04, $"res://src/map/dungeon/floors/Floor04.tscn")
|
||||||
|
.Add(Floor.Floor05, $"res://src/map/dungeon/floors/Floor05.tscn");
|
||||||
CurrentFloorNumber.OnNext(0);
|
CurrentFloorNumber.OnNext(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,12 +105,12 @@ public partial class Map : Node3D, IMap
|
|||||||
public void LoadFloor()
|
public void LoadFloor()
|
||||||
{
|
{
|
||||||
ClearMap();
|
ClearMap();
|
||||||
var currentFloorScene = FloorScenes.First();
|
FloorScenes.TryGetValue(Floors.First(), out var currentFloorScene);
|
||||||
var instantiator = new Instantiator(GetTree());
|
var instantiator = new Instantiator(GetTree());
|
||||||
var loadedScene = instantiator.LoadAndInstantiate<Node3D>(currentFloorScene);
|
var loadedScene = instantiator.LoadAndInstantiate<Node3D>(currentFloorScene);
|
||||||
AddChild(loadedScene);
|
AddChild(loadedScene);
|
||||||
CurrentFloor = (IDungeonFloor)loadedScene;
|
CurrentFloor = (IDungeonFloor)loadedScene;
|
||||||
FloorScenes.Remove(currentFloorScene);
|
Floors.Remove(Floors.First());
|
||||||
var transform = GetPlayerSpawnPosition();
|
var transform = GetPlayerSpawnPosition();
|
||||||
Player.TeleportPlayer(transform);
|
Player.TeleportPlayer(transform);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,7 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://by67pn7fdsg1m"]
|
[gd_scene load_steps=2 format=3 uid="uid://by67pn7fdsg1m"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://14e8mu48ed4" path="res://src/map/Map.cs" id="1_bw70o"]
|
[ext_resource type="Script" uid="uid://14e8mu48ed4" path="res://src/map/Map.cs" id="1_bw70o"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dl6h1djc27ddl" path="res://src/map/dungeon/floors/Floor00.tscn" id="2_ne2vg"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://jha0mhct0e7i" path="res://src/map/dungeon/rooms/Set B/40. Goddess of Guidance's Room - True Form.tscn" id="3_ne2vg"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://5ja3qxn8h7iw" path="res://src/map/dungeon/rooms/Set A/15. Boss Floor A.tscn" id="6_abpbr"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dvnc26rebk6o0" path="res://src/map/overworld/Overworld.tscn" id="6_ne2vg"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://ceo7ph483io44" path="res://src/map/dungeon/rooms/Set B/34. Boss Floor B.tscn" id="7_caf7v"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bo20ffw2ygbks" path="res://src/map/dungeon/rooms/Set B/35. Goddess of Guidance's Room.tscn" id="8_y74f3"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dttk7gis5ibge" path="res://src/map/dungeon/rooms/Set B/30. Void Room.tscn" id="9_dbqu2"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cyrrhoarhxlhg" path="res://src/map/dungeon/rooms/Set B/36. Final Floor.tscn" id="10_xcm54"]
|
|
||||||
|
|
||||||
[node name="Map" type="Node3D"]
|
[node name="Map" type="Node3D"]
|
||||||
script = ExtResource("1_bw70o")
|
script = ExtResource("1_bw70o")
|
||||||
_floors = Array[PackedScene]([ExtResource("7_caf7v"), ExtResource("6_abpbr"), ExtResource("6_ne2vg"), ExtResource("8_y74f3"), ExtResource("2_ne2vg"), ExtResource("9_dbqu2"), ExtResource("3_ne2vg"), ExtResource("10_xcm54")])
|
Floors = Array[int]([3, 2, 0, 4, 1, 5, 6])
|
||||||
|
|
||||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
[gd_scene load_steps=102 format=4 uid="uid://bo20ffw2ygbks"]
|
[gd_scene load_steps=102 format=4 uid="uid://bo20ffw2ygbks"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_j4ho3"]
|
[ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_j4ho3"]
|
||||||
|
<<<<<<< HEAD
|
||||||
[ext_resource type="Texture2D" uid="uid://ddrvsy7psmwig" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_DARKER_STONE_AREA_2.png" id="2_jbyuo"]
|
[ext_resource type="Texture2D" uid="uid://ddrvsy7psmwig" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_DARKER_STONE_AREA_2.png" id="2_jbyuo"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dk2cj5rcnkxnf" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_CEILING_AREA2.jpg" id="3_nadnf"]
|
[ext_resource type="Texture2D" uid="uid://dk2cj5rcnkxnf" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_CEILING_AREA2.jpg" id="3_nadnf"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bfr26em2xh1r1" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_STONE_PANEL_AREA2png.png" id="4_bb3ot"]
|
[ext_resource type="Texture2D" uid="uid://bfr26em2xh1r1" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_STONE_PANEL_AREA2png.png" id="4_bb3ot"]
|
||||||
@@ -15,6 +16,22 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://dd1jvmfs1cbbg" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_floral_single_tile.jpg" id="13_aytwf"]
|
[ext_resource type="Texture2D" uid="uid://dd1jvmfs1cbbg" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_floral_single_tile.jpg" id="13_aytwf"]
|
||||||
[ext_resource type="Texture2D" uid="uid://nvg6i8gbgqjv" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_angkor_mural.jpg" id="14_tf4w3"]
|
[ext_resource type="Texture2D" uid="uid://nvg6i8gbgqjv" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_angkor_mural.jpg" id="14_tf4w3"]
|
||||||
[ext_resource type="Texture2D" uid="uid://3w1ac5fvks5v" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_area_2_big_tile.png" id="15_nduur"]
|
[ext_resource type="Texture2D" uid="uid://3w1ac5fvks5v" path="res://src/map/dungeon/models/Outdated/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_area_2_big_tile.png" id="15_nduur"]
|
||||||
|
=======
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ddrvsy7psmwig" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_DARKER_STONE_AREA_2.png" id="2_jbyuo"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dk2cj5rcnkxnf" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_CEILING_AREA2.jpg" id="3_nadnf"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bfr26em2xh1r1" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_STONE_PANEL_AREA2png.png" id="4_bb3ot"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bq8mvoumy8jmk" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_swirled_column _AREA2.png" id="5_f7fde"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://i1x50ruj46r4" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_asdasd.png" id="6_j4ho3"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dmr6lrd2vv11p" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_HAND-CYCLE-FLOOR.png" id="7_qt11j"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://000xg7ey7p71" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_AREA_2_MAIN_STON2E.png" id="8_tkf4r"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c7yaqdtmf0w4o" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_swirled_column _AREA222.png" id="9_fs8fd"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d2np2n5rkhhes" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_WHITE METAL 2E.png" id="10_rfnlw"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dti0ir01a1s87" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_WHITE_layer_brick1.png" id="11_6bh8x"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bxf4worc2uvfp" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_burned-thing.png" id="12_itdxh"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dd1jvmfs1cbbg" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_floral_single_tile.jpg" id="13_aytwf"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://nvg6i8gbgqjv" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_angkor_mural.jpg" id="14_tf4w3"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://3w1ac5fvks5v" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_area_2_big_tile.png" id="15_nduur"]
|
||||||
|
>>>>>>> 7e9114bfd1f6c5dd447c4c4e54a2e8ccb9f38e24
|
||||||
[ext_resource type="Shader" uid="uid://beg8sp6kw66w8" path="res://src/map/map shaders/GOGROOM Water.gdshader" id="16_q4do2"]
|
[ext_resource type="Shader" uid="uid://beg8sp6kw66w8" path="res://src/map/map shaders/GOGROOM Water.gdshader" id="16_q4do2"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="17_j4ho3"]
|
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="17_j4ho3"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="18_qt11j"]
|
[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="18_qt11j"]
|
||||||
|
|||||||
@@ -1,26 +1,9 @@
|
|||||||
[gd_scene load_steps=25 format=3 uid="uid://8f3dk16nj0dn"]
|
[gd_scene load_steps=8 format=3 uid="uid://8f3dk16nj0dn"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://l1v4ppubryd3" path="res://src/ui/pause_menu/PauseDebugMenu.cs" id="1_a7f7f"]
|
[ext_resource type="Script" uid="uid://l1v4ppubryd3" path="res://src/ui/pause_menu/PauseDebugMenu.cs" id="1_a7f7f"]
|
||||||
[ext_resource type="FontFile" uid="uid://dp1k143v7cppw" path="res://src/ui/fonts/Lust_Sans_Regular.otf" id="1_dan2i"]
|
[ext_resource type="FontFile" uid="uid://dp1k143v7cppw" path="res://src/ui/fonts/Lust_Sans_Regular.otf" id="1_dan2i"]
|
||||||
[ext_resource type="LabelSettings" uid="uid://wc363u5t1yi2" path="res://src/ui/label_settings/HeadingFont.tres" id="2_a7f7f"]
|
[ext_resource type="LabelSettings" uid="uid://wc363u5t1yi2" path="res://src/ui/label_settings/HeadingFont.tres" id="2_a7f7f"]
|
||||||
[ext_resource type="FontFile" uid="uid://dit3vylt7hmmx" path="res://src/ui/fonts/FT88-Regular.ttf" id="3_k06jx"]
|
[ext_resource type="FontFile" uid="uid://dit3vylt7hmmx" path="res://src/ui/fonts/FT88-Regular.ttf" id="3_k06jx"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="5_274g5"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="6_ue0ua"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/02. michael/Michael.tscn" id="7_gidvx"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cvk007twac22c" path="res://src/enemy/enemy_types/03. filth_eater/FilthEater.tscn" id="8_m457y"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/04. sara/Sara.tscn" id="9_i65lo"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://feegakykn3fv" path="res://src/enemy/enemy_types/05. ballos/Ballos.tscn" id="10_ct6et"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dlw5cvutvypxn" path="res://src/enemy/enemy_types/06. chariot/Chariot.tscn" id="11_fk1r1"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c6tqt27ql8s35" path="res://src/enemy/enemy_types/07. chinthe/Chinthe.tscn" id="12_yh23m"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://b8ewfgcjv60es" path="res://src/enemy/enemy_types/09. Agni/AgniDemon.tscn" id="13_tns3g"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dpq17ej06uah1" path="res://src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn" id="14_fmyye"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://fosk3kt7vp8d" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn" id="15_1f6di"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c5gbaybqm4cuk" path="res://src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn" id="16_r6xvd"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://b4oliop60eghn" path="res://src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn" id="17_bmukk"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cmvimr0pvsgqy" path="res://src/enemy/enemy_types/10. Eden Pillar/Eden Pillar.tscn" id="18_6mn3f"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://boqjebx7yuiqy" path="res://src/enemy/enemy_types/11. Palan/Palan.tscn" id="19_gq2v4"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://5s7c4dsb1wwk" path="res://src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn" id="20_hd5x0"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://b3giib0jp3uod" path="res://src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn" id="21_q6ugg"]
|
|
||||||
|
|
||||||
[sub_resource type="Theme" id="Theme_0tcdw"]
|
[sub_resource type="Theme" id="Theme_0tcdw"]
|
||||||
default_font = ExtResource("3_k06jx")
|
default_font = ExtResource("3_k06jx")
|
||||||
@@ -31,7 +14,7 @@ bg_color = Color(0.2484, 0.2484, 0.2484, 1)
|
|||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1ctjd"]
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1ctjd"]
|
||||||
|
|
||||||
[node name="Control" type="Control" node_paths=PackedStringArray("_enemyDatabase")]
|
[node name="Control" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@@ -39,7 +22,6 @@ anchor_bottom = 1.0
|
|||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
script = ExtResource("1_a7f7f")
|
script = ExtResource("1_a7f7f")
|
||||||
_enemyDatabase = NodePath("EnemyDatabase")
|
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||||
process_mode = 3
|
process_mode = 3
|
||||||
@@ -112,7 +94,34 @@ layout_mode = 2
|
|||||||
focus_neighbor_top = NodePath("../SpawnItemDropDown")
|
focus_neighbor_top = NodePath("../SpawnItemDropDown")
|
||||||
focus_neighbor_bottom = NodePath(".")
|
focus_neighbor_bottom = NodePath(".")
|
||||||
theme_override_styles/normal = SubResource("StyleBoxFlat_1ctjd")
|
theme_override_styles/normal = SubResource("StyleBoxFlat_1ctjd")
|
||||||
|
item_count = 15
|
||||||
[node name="EnemyDatabase" parent="." instance=ExtResource("5_274g5")]
|
popup/item_0/text = "Sproingy"
|
||||||
EnemyList = Array[PackedScene]([ExtResource("6_ue0ua"), ExtResource("7_gidvx"), ExtResource("8_m457y"), ExtResource("9_i65lo"), ExtResource("10_ct6et"), ExtResource("11_fk1r1"), ExtResource("12_yh23m"), ExtResource("13_tns3g"), ExtResource("14_fmyye"), ExtResource("15_1f6di"), ExtResource("16_r6xvd"), ExtResource("17_bmukk"), ExtResource("18_6mn3f"), ExtResource("19_gq2v4"), ExtResource("20_hd5x0"), ExtResource("21_q6ugg")])
|
popup/item_0/id = 0
|
||||||
SpawnRate = PackedFloat32Array()
|
popup/item_1/text = "Michael"
|
||||||
|
popup/item_1/id = 1
|
||||||
|
popup/item_2/text = "Filth Eater"
|
||||||
|
popup/item_2/id = 2
|
||||||
|
popup/item_3/text = "Sara"
|
||||||
|
popup/item_3/id = 3
|
||||||
|
popup/item_4/text = "Ballos"
|
||||||
|
popup/item_4/id = 4
|
||||||
|
popup/item_5/text = "Chariot"
|
||||||
|
popup/item_5/id = 5
|
||||||
|
popup/item_6/text = "Chinthe"
|
||||||
|
popup/item_6/id = 6
|
||||||
|
popup/item_7/text = "Ambassador Green"
|
||||||
|
popup/item_7/id = 7
|
||||||
|
popup/item_8/text = "Ambassador Red"
|
||||||
|
popup/item_8/id = 8
|
||||||
|
popup/item_9/text = "Ambassador Steel"
|
||||||
|
popup/item_9/id = 9
|
||||||
|
popup/item_10/text = "Agni"
|
||||||
|
popup/item_10/id = 10
|
||||||
|
popup/item_11/text = "Aqueos"
|
||||||
|
popup/item_11/id = 11
|
||||||
|
popup/item_12/text = "Palan"
|
||||||
|
popup/item_12/id = 12
|
||||||
|
popup/item_13/text = "Shield of Heaven"
|
||||||
|
popup/item_13/id = 13
|
||||||
|
popup/item_14/text = "Gold Sproingy"
|
||||||
|
popup/item_14/id = 14
|
||||||
|
|||||||
@@ -24,15 +24,30 @@ public partial class PauseDebugMenu : Control, IDebugMenu
|
|||||||
[Node] public OptionButton SpawnEnemyDropDown { get; set; } = default!;
|
[Node] public OptionButton SpawnEnemyDropDown { get; set; } = default!;
|
||||||
|
|
||||||
private ImmutableList<InventoryItem> _spawnableItems;
|
private ImmutableList<InventoryItem> _spawnableItems;
|
||||||
private ImmutableList<PackedScene> _spawnableEnemies;
|
private ImmutableList<string> _spawnableEnemies =
|
||||||
|
[
|
||||||
[Export]
|
@"res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn",
|
||||||
private EnemyDatabase _enemyDatabase;
|
@"res://src/enemy/enemy_types/02. michael/Michael.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/03. filth_eater/FilthEater.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/04. sara/Sara.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/05. ballos/Ballos.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/06. chariot/Chariot.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/07. chinthe/Chinthe.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/08a. Ambassador/Ambassador.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorRed.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteel.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/09. Agni/AgniDemon.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/9b. Aqueos Demon/AqueosDemon.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/11. Palan/Palan.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn",
|
||||||
|
@"res://src/enemy/enemy_types/13. gold sproingy/GoldSproingy.tscn"
|
||||||
|
];
|
||||||
|
|
||||||
private ItemDatabase _itemDatabase;
|
private ItemDatabase _itemDatabase;
|
||||||
|
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
|
<<<<<<< HEAD
|
||||||
VisibilityChanged += PauseDebugMenu_VisibilityChanged;
|
VisibilityChanged += PauseDebugMenu_VisibilityChanged;
|
||||||
LoadNextFloorButton.Pressed += LoadNextFloorButton_Pressed;
|
LoadNextFloorButton.Pressed += LoadNextFloorButton_Pressed;
|
||||||
_itemDatabase = new ItemDatabase();
|
_itemDatabase = new ItemDatabase();
|
||||||
@@ -50,6 +65,18 @@ public partial class PauseDebugMenu : Control, IDebugMenu
|
|||||||
}
|
}
|
||||||
SpawnItemDropDown.AllowReselect = true;
|
SpawnItemDropDown.AllowReselect = true;
|
||||||
SpawnEnemyDropDown.AllowReselect = true;
|
SpawnEnemyDropDown.AllowReselect = true;
|
||||||
|
=======
|
||||||
|
VisibilityChanged += PauseDebugMenu_VisibilityChanged;
|
||||||
|
LoadNextFloorButton.Pressed += LoadNextFloorButton_Pressed;
|
||||||
|
_itemDatabase = new ItemDatabase();
|
||||||
|
_spawnableItems = _itemDatabase.Items;
|
||||||
|
|
||||||
|
foreach (var item in _spawnableItems)
|
||||||
|
SpawnItemDropDown.AddItem(item.ItemName);
|
||||||
|
|
||||||
|
SpawnItemDropDown.AllowReselect = true;
|
||||||
|
SpawnEnemyDropDown.AllowReselect = true;
|
||||||
|
>>>>>>> 7e9114bfd1f6c5dd447c4c4e54a2e8ccb9f38e24
|
||||||
|
|
||||||
SpawnItemDropDown.ItemSelected += SpawnItemDropDown_ItemSelected;
|
SpawnItemDropDown.ItemSelected += SpawnItemDropDown_ItemSelected;
|
||||||
SpawnEnemyDropDown.ItemSelected += SpawnEnemyDropDown_ItemSelected;
|
SpawnEnemyDropDown.ItemSelected += SpawnEnemyDropDown_ItemSelected;
|
||||||
@@ -57,10 +84,17 @@ public partial class PauseDebugMenu : Control, IDebugMenu
|
|||||||
|
|
||||||
private void SpawnEnemyDropDown_ItemSelected(long index)
|
private void SpawnEnemyDropDown_ItemSelected(long index)
|
||||||
{
|
{
|
||||||
|
<<<<<<< HEAD
|
||||||
var enemyToSpawn = _spawnableEnemies.ElementAt((int)index);
|
var enemyToSpawn = _spawnableEnemies.ElementAt((int)index);
|
||||||
var loadedEnemy = enemyToSpawn.Instantiate<Enemy>();
|
var loadedEnemy = enemyToSpawn.Instantiate<Enemy>();
|
||||||
AddChild(loadedEnemy);
|
AddChild(loadedEnemy);
|
||||||
loadedEnemy.GlobalPosition = new Vector3(_player.CurrentPosition.X, _player.CurrentPosition.Y + 1, _player.CurrentPosition.Z) + (-_player.CurrentBasis.Z * 2);
|
loadedEnemy.GlobalPosition = new Vector3(_player.CurrentPosition.X, _player.CurrentPosition.Y + 1, _player.CurrentPosition.Z) + (-_player.CurrentBasis.Z * 2);
|
||||||
|
=======
|
||||||
|
var enemyToSpawn = _spawnableEnemies.ElementAt((int)index);
|
||||||
|
var loadedEnemy = GD.Load<PackedScene>(enemyToSpawn).Instantiate<Enemy>();
|
||||||
|
AddChild(loadedEnemy);
|
||||||
|
loadedEnemy.GlobalPosition = new Vector3(_player.CurrentPosition.X, _player.CurrentPosition.Y + 1, _player.CurrentPosition.Z) + (-_player.CurrentBasis.Z * 2);
|
||||||
|
>>>>>>> 7e9114bfd1f6c5dd447c4c4e54a2e8ccb9f38e24
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SpawnItemDropDown_ItemSelected(long index)
|
private void SpawnItemDropDown_ItemSelected(long index)
|
||||||
|
|||||||
Reference in New Issue
Block a user