Messing with the dungeon
@@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Godot.NET.Sdk/4.3.0">
|
<Project Sdk="Godot.NET.Sdk/4.4.0-dev.1">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net8.0</TargetFramework>
|
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net8.0</TargetFramework>
|
||||||
|
|||||||
26
GameJamDungeon.csproj.old
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<Project Sdk="Godot.NET.Sdk/4.3.0">
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net8.0</TargetFramework>
|
||||||
|
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'ios' ">net8.0</TargetFramework>
|
||||||
|
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Chickensoft.AutoInject" Version="2.3.0" />
|
||||||
|
<PackageReference Include="Chickensoft.GodotNodeInterfaces" Version="2.2.22" />
|
||||||
|
<PackageReference Include="Chickensoft.Introspection.Generator" Version="1.5.0" />
|
||||||
|
<PackageReference Include="Chickensoft.LogicBlocks" Version="5.4.0" />
|
||||||
|
<PackageReference Include="Chickensoft.LogicBlocks.DiagramGenerator" Version="5.4.0" />
|
||||||
|
<PackageReference Include="Chickensoft.SaveFileBuilder" Version="1.1.0" />
|
||||||
|
<PackageReference Include="GodotSharp.SourceGenerators" Version="2.4.0" />
|
||||||
|
<PackageReference Include="SSH.NET" Version="2024.1.0" />
|
||||||
|
<PackageReference Include="System.IO.Abstractions" Version="21.0.29" />
|
||||||
|
<PackageReference Include="Zeroconf" Version="3.6.11" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="src\map\dungeon\corridor\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include=".editorconfig" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -12,7 +12,7 @@ config_version=5
|
|||||||
|
|
||||||
config/name="GameJamDungeon"
|
config/name="GameJamDungeon"
|
||||||
run/main_scene="res://src/Main.tscn"
|
run/main_scene="res://src/Main.tscn"
|
||||||
config/features=PackedStringArray("4.3", "C#", "GL Compatibility")
|
config/features=PackedStringArray("4.4", "C#", "GL Compatibility")
|
||||||
|
|
||||||
[display]
|
[display]
|
||||||
|
|
||||||
@@ -72,4 +72,6 @@ Inventory={
|
|||||||
|
|
||||||
[physics]
|
[physics]
|
||||||
|
|
||||||
|
3d/run_on_separate_thread=true
|
||||||
common/physics_ticks_per_second=144
|
common/physics_ticks_per_second=144
|
||||||
|
3d/physics_engine="GodotPhysics3D"
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
[ext_resource type="Script" path="res://src/app/App.cs" id="1_rt73h"]
|
[ext_resource type="Script" path="res://src/app/App.cs" id="1_rt73h"]
|
||||||
|
|
||||||
[node name="App" type="CanvasLayer"]
|
[node name="App" type="CanvasLayer"]
|
||||||
|
process_mode = 3
|
||||||
script = ExtResource("1_rt73h")
|
script = ExtResource("1_rt73h")
|
||||||
|
|
||||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
|
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ public partial class Game : Node3D, IGame
|
|||||||
|
|
||||||
[Dependency] public IAppRepo AppRepo => this.DependOn<IAppRepo>();
|
[Dependency] public IAppRepo AppRepo => this.DependOn<IAppRepo>();
|
||||||
|
|
||||||
|
[Node] public Control MiniMap { get; set; } = default!;
|
||||||
|
|
||||||
public void Setup()
|
public void Setup()
|
||||||
{
|
{
|
||||||
GameRepo = new GameRepo();
|
GameRepo = new GameRepo();
|
||||||
@@ -38,12 +40,14 @@ public partial class Game : Node3D, IGame
|
|||||||
GameBinding
|
GameBinding
|
||||||
.Handle((in GameLogic.Output.StartGame _) => { GameRepo.Resume(); })
|
.Handle((in GameLogic.Output.StartGame _) => { GameRepo.Resume(); })
|
||||||
.Handle((in GameLogic.Output.SetPauseMode output) => { CallDeferred(nameof(SetPauseMode), output.IsPaused); })
|
.Handle((in GameLogic.Output.SetPauseMode output) => { CallDeferred(nameof(SetPauseMode), output.IsPaused); })
|
||||||
|
.Handle((in GameLogic.Output.ShowMiniMap _) => { MiniMap.Show(); })
|
||||||
|
.Handle((in GameLogic.Output.HideMiniMap _) => { MiniMap.Hide(); })
|
||||||
.Handle((in GameLogic.Output.GameOver _) => { AppRepo.OnGameOver(); });
|
.Handle((in GameLogic.Output.GameOver _) => { AppRepo.OnGameOver(); });
|
||||||
|
GameLogic.Start();
|
||||||
|
|
||||||
GameLogic.Input(new GameLogic.Input.Initialize());
|
GameLogic.Input(new GameLogic.Input.Initialize());
|
||||||
|
|
||||||
this.Provide();
|
this.Provide();
|
||||||
GameLogic.Start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void _Input(InputEvent @event)
|
public override void _Input(InputEvent @event)
|
||||||
|
|||||||
@@ -1,83 +1,119 @@
|
|||||||
[gd_scene load_steps=8 format=3 uid="uid://33ek675mfb5n"]
|
[gd_scene load_steps=11 format=3 uid="uid://33ek675mfb5n"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://src/game/Game.cs" id="1_ytcii"]
|
[ext_resource type="Script" path="res://src/game/Game.cs" id="1_ytcii"]
|
||||||
[ext_resource type="PackedScene" uid="uid://wg25dg65ksgg" path="res://src/map/dungeon/DungeonGenerator.tscn" id="2_cgboj"]
|
[ext_resource type="PackedScene" uid="uid://wg25dg65ksgg" path="res://src/map/dungeon/DungeonGenerator.tscn" id="2_cgboj"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cfecvvav8kkp6" path="res://src/player/Player.tscn" id="3_kk6ly"]
|
[ext_resource type="PackedScene" uid="uid://cfecvvav8kkp6" path="res://src/player/Player.tscn" id="3_kk6ly"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dhpwwqow1ahrc" path="res://src/map/dungeon/rooms/Room1.tscn" id="4_56rmd"]
|
[ext_resource type="PackedScene" uid="uid://dhpwwqow1ahrc" path="res://src/map/dungeon/rooms/Room1.tscn" id="4_56rmd"]
|
||||||
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="5_5i8m5"]
|
[ext_resource type="PackedScene" uid="uid://bbwgmqy3evhh2" path="res://src/map/dungeon/rooms/Room2.tscn" id="4_clpvl"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bn4gslp2gk8ds" path="res://src/map/dungeon/corridor/Corridor.tscn" id="6_5fcqc"]
|
[ext_resource type="PackedScene" uid="uid://bn4gslp2gk8ds" path="res://src/map/dungeon/corridor/Corridor.tscn" id="6_aur0q"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bwbofurcvf3yh" path="res://src/minimap/Minimap.tscn" id="6_owlf4"]
|
||||||
|
|
||||||
[sub_resource type="Environment" id="Environment_fke5g"]
|
[sub_resource type="Environment" id="Environment_fke5g"]
|
||||||
|
|
||||||
|
[sub_resource type="PlaneMesh" id="PlaneMesh_atd5i"]
|
||||||
|
size = Vector2(10, 10)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_s2hwi"]
|
||||||
|
size = Vector3(10, 1, 10)
|
||||||
|
|
||||||
[node name="Game" type="Node3D"]
|
[node name="Game" type="Node3D"]
|
||||||
|
process_mode = 3
|
||||||
script = ExtResource("1_ytcii")
|
script = ExtResource("1_ytcii")
|
||||||
|
|
||||||
[node name="DungeonGenerator3D" parent="." instance=ExtResource("2_cgboj")]
|
[node name="DungeonGenerator3D" parent="." instance=ExtResource("2_cgboj")]
|
||||||
|
room_scenes = Array[PackedScene]([ExtResource("4_56rmd"), ExtResource("4_clpvl")])
|
||||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="DungeonGenerator3D"]
|
corridor_cost_multiplier = 1.0
|
||||||
environment = SubResource("Environment_fke5g")
|
room_cost_multiplier = 8.0
|
||||||
|
room_cost_at_end_for_required_doors = 1.0
|
||||||
[node name="Player" parent="DungeonGenerator3D" instance=ExtResource("3_kk6ly")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.55927, -4.70883, 25.1515)
|
|
||||||
|
|
||||||
[node name="RoomsContainer" type="Node3D" parent="DungeonGenerator3D"]
|
[node name="RoomsContainer" type="Node3D" parent="DungeonGenerator3D"]
|
||||||
|
|
||||||
[node name="DungeonRoom3D_0" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("4_56rmd")]
|
[node name="DungeonRoom3D_0" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("4_56rmd")]
|
||||||
transform = Transform3D(1.19249e-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, 5, 0, 15)
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 25, 0, -25)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="DungeonRoom3D_1" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("4_56rmd")]
|
[node name="DungeonRoom3D_1" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("4_clpvl")]
|
||||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -25, 0, -25)
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 5, 0, 25)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_2" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_2" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 15)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, -25)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_3" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_3" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 5)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, -15)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_4" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_4" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, -5)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, -5)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_5" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_5" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, -15)
|
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_6" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0, -15)
|
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_7" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0, -25)
|
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_8" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 15)
|
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_9" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 5)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 5)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_10" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_6" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 5)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 15)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_11" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_7" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -35, 0, -25)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 25)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_12" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_8" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -35, 0, -15)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, -25)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_13" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_9" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25, 0, -15)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, -15)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
|
||||||
[node name="Corridor_14" type="Node3D" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_5fcqc")]
|
[node name="Corridor_10" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0, -5)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, -5)
|
||||||
script = ExtResource("5_5i8m5")
|
|
||||||
|
[node name="Corridor_11" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, 5)
|
||||||
|
|
||||||
|
[node name="Corridor_12" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, 15)
|
||||||
|
|
||||||
|
[node name="Corridor_13" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 15)
|
||||||
|
|
||||||
|
[node name="Corridor_14" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 0, 25)
|
||||||
|
|
||||||
|
[node name="Corridor_15" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 25)
|
||||||
|
|
||||||
|
[node name="Corridor_16" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 15)
|
||||||
|
|
||||||
|
[node name="Corridor_17" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 5)
|
||||||
|
|
||||||
|
[node name="Corridor_18" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, -5)
|
||||||
|
|
||||||
|
[node name="Corridor_19" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, -15)
|
||||||
|
|
||||||
|
[node name="Corridor_20" parent="DungeonGenerator3D/RoomsContainer" instance=ExtResource("6_aur0q")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, -15)
|
||||||
|
|
||||||
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
|
environment = SubResource("Environment_fke5g")
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("3_kk6ly")]
|
||||||
|
process_mode = 1
|
||||||
|
transform = Transform3D(0.0871905, 0, -0.996192, 0, 1, 0, 0.996192, 0, 0.0871905, -71.4241, -4.70883, -0.527107)
|
||||||
|
|
||||||
|
[node name="RigidBody3D" type="StaticBody3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -69.9907, -4.96505, 0)
|
||||||
|
|
||||||
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="RigidBody3D"]
|
||||||
|
mesh = SubResource("PlaneMesh_atd5i")
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.498463, 0)
|
||||||
|
shape = SubResource("BoxShape3D_s2hwi")
|
||||||
|
|
||||||
|
[node name="MiniMap" parent="." instance=ExtResource("6_owlf4")]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 24.5244, 0)
|
||||||
|
layers = 3
|
||||||
|
omni_range = 163.618
|
||||||
|
omni_attenuation = -0.183
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ namespace GameJamDungeon
|
|||||||
[LogicBlock(typeof(State), Diagram = true)]
|
[LogicBlock(typeof(State), Diagram = true)]
|
||||||
public partial class GameLogic : LogicBlock<GameLogic.State>, IGameLogic
|
public partial class GameLogic : LogicBlock<GameLogic.State>, IGameLogic
|
||||||
{
|
{
|
||||||
public override Transition GetInitialState() => To<State.MenuBackdrop>();
|
public override Transition GetInitialState() => To<State.Playing>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ using Godot;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace GameJamDungeon
|
namespace GameJamDungeon;
|
||||||
|
|
||||||
|
public interface IGameRepo : IDisposable
|
||||||
{
|
{
|
||||||
public interface IGameRepo : IDisposable
|
|
||||||
{
|
|
||||||
event Action? Ended;
|
event Action? Ended;
|
||||||
|
|
||||||
IAutoProp<List<InventoryItem>> InventoryItems { get; }
|
IAutoProp<List<InventoryItem>> InventoryItems { get; }
|
||||||
@@ -22,10 +22,10 @@ namespace GameJamDungeon
|
|||||||
IAutoProp<Vector3> PlayerGlobalPosition { get; }
|
IAutoProp<Vector3> PlayerGlobalPosition { get; }
|
||||||
|
|
||||||
void SetPlayerGlobalPosition(Vector3 playerGlobalPosition);
|
void SetPlayerGlobalPosition(Vector3 playerGlobalPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GameRepo : IGameRepo
|
public class GameRepo : IGameRepo
|
||||||
{
|
{
|
||||||
public event Action? Ended;
|
public event Action? Ended;
|
||||||
|
|
||||||
private readonly AutoProp<List<InventoryItem>> _inventoryItems;
|
private readonly AutoProp<List<InventoryItem>> _inventoryItems;
|
||||||
@@ -94,5 +94,4 @@ namespace GameJamDungeon
|
|||||||
Dispose(disposing: true);
|
Dispose(disposing: true);
|
||||||
GC.SuppressFinalize(this);
|
GC.SuppressFinalize(this);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=12 format=3 uid="uid://bn4gslp2gk8ds"]
|
[gd_scene load_steps=11 format=3 uid="uid://bn4gslp2gk8ds"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_y0rqi"]
|
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_y0rqi"]
|
||||||
[ext_resource type="Texture2D" uid="uid://n4ds85jp0aq0" path="res://src/map/dungeon/textures/map_ceiling.jpg" id="2_6scux"]
|
[ext_resource type="Texture2D" uid="uid://n4ds85jp0aq0" path="res://src/map/dungeon/textures/map_ceiling.jpg" id="2_6scux"]
|
||||||
@@ -15,20 +15,19 @@ albedo_texture = ExtResource("2_6scux")
|
|||||||
uv1_scale = Vector3(0.23, 0.23, 0.23)
|
uv1_scale = Vector3(0.23, 0.23, 0.23)
|
||||||
uv1_triplanar = true
|
uv1_triplanar = true
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cquyy"]
|
|
||||||
albedo_texture = ExtResource("4_6qf87")
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_67t3u"]
|
|
||||||
albedo_texture = ExtResource("4_6qf87")
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ej8w2"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ej8w2"]
|
||||||
albedo_texture = ExtResource("4_6qf87")
|
albedo_texture = ExtResource("4_6qf87")
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oy7nu"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oy7nu"]
|
||||||
albedo_texture = ExtResource("4_6qf87")
|
albedo_texture = ExtResource("4_6qf87")
|
||||||
|
|
||||||
|
[sub_resource type="PlaneMesh" id="PlaneMesh_7myha"]
|
||||||
|
size = Vector2(10, 10)
|
||||||
|
|
||||||
[node name="Corridor" type="Node3D"]
|
[node name="Corridor" type="Node3D"]
|
||||||
script = ExtResource("1_y0rqi")
|
script = ExtResource("1_y0rqi")
|
||||||
|
min_count = 1
|
||||||
|
max_count = 1
|
||||||
|
|
||||||
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||||
use_collision = true
|
use_collision = true
|
||||||
@@ -40,21 +39,26 @@ operation = 2
|
|||||||
size = Vector3(9, 9, 9)
|
size = Vector3(9, 9, 9)
|
||||||
material = SubResource("StandardMaterial3D_18cgv")
|
material = SubResource("StandardMaterial3D_18cgv")
|
||||||
|
|
||||||
[node name="DOOR?" parent="CSGBox3D" instance=ExtResource("2_vpnlr")]
|
|
||||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -5, -2.58627, 0)
|
|
||||||
material = SubResource("StandardMaterial3D_cquyy")
|
|
||||||
|
|
||||||
[node name="DOOR?3" parent="CSGBox3D" instance=ExtResource("2_vpnlr")]
|
|
||||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 5, -2.58627, 0)
|
|
||||||
material = SubResource("StandardMaterial3D_67t3u")
|
|
||||||
|
|
||||||
[node name="DOOR?4" parent="CSGBox3D" instance=ExtResource("2_vpnlr")]
|
[node name="DOOR?4" parent="CSGBox3D" instance=ExtResource("2_vpnlr")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.58627, 5)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.58627, 5)
|
||||||
material = SubResource("StandardMaterial3D_ej8w2")
|
material = SubResource("StandardMaterial3D_ej8w2")
|
||||||
|
|
||||||
|
[node name="DOOR?5" parent="CSGBox3D" instance=ExtResource("2_vpnlr")]
|
||||||
|
transform = Transform3D(-0.0899894, 0, 0.995943, 0, 1, 0, -0.995943, 0, -0.0899894, -4.7076, -2.586, 0)
|
||||||
|
material = SubResource("StandardMaterial3D_ej8w2")
|
||||||
|
|
||||||
|
[node name="DOOR?6" parent="CSGBox3D" instance=ExtResource("2_vpnlr")]
|
||||||
|
transform = Transform3D(-0.0899894, 0, 0.995943, 0, 1, 0, -0.995943, 0, -0.0899894, 4.73741, -2.586, 0)
|
||||||
|
material = SubResource("StandardMaterial3D_ej8w2")
|
||||||
|
|
||||||
[node name="DOOR?2" parent="CSGBox3D" instance=ExtResource("2_vpnlr")]
|
[node name="DOOR?2" parent="CSGBox3D" instance=ExtResource("2_vpnlr")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.58627, -5)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.58627, -5)
|
||||||
material = SubResource("StandardMaterial3D_oy7nu")
|
material = SubResource("StandardMaterial3D_oy7nu")
|
||||||
|
|
||||||
[node name="RemoveUnusedDoors" type="Node" parent="."]
|
[node name="RemoveUnusedDoors" type="Node" parent="."]
|
||||||
script = ExtResource("3_8i1ij")
|
script = ExtResource("3_8i1ij")
|
||||||
|
|
||||||
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.56974, 0)
|
||||||
|
layers = 2
|
||||||
|
mesh = SubResource("PlaneMesh_7myha")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=6 format=3 uid="uid://dhpwwqow1ahrc"]
|
[gd_scene load_steps=7 format=3 uid="uid://dhpwwqow1ahrc"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_0tfda"]
|
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_0tfda"]
|
||||||
[ext_resource type="Script" path="res://src/map/dungeon/rooms/DungeonRoom.cs" id="1_ti7ur"]
|
[ext_resource type="Script" path="res://src/map/dungeon/rooms/DungeonRoom.cs" id="1_ti7ur"]
|
||||||
@@ -10,8 +10,13 @@ albedo_texture = ExtResource("2_rw3uc")
|
|||||||
uv1_scale = Vector3(0.105, 0.105, 0.105)
|
uv1_scale = Vector3(0.105, 0.105, 0.105)
|
||||||
uv1_triplanar = true
|
uv1_triplanar = true
|
||||||
|
|
||||||
|
[sub_resource type="PlaneMesh" id="PlaneMesh_luhnj"]
|
||||||
|
size = Vector2(10, 10)
|
||||||
|
|
||||||
[node name="DungeonRoom3D" type="Node3D"]
|
[node name="DungeonRoom3D" type="Node3D"]
|
||||||
script = ExtResource("1_0tfda")
|
script = ExtResource("1_0tfda")
|
||||||
|
min_count = 1
|
||||||
|
max_count = 3
|
||||||
|
|
||||||
[node name="DungeonRoom" type="Node3D" parent="."]
|
[node name="DungeonRoom" type="Node3D" parent="."]
|
||||||
script = ExtResource("1_ti7ur")
|
script = ExtResource("1_ti7ur")
|
||||||
@@ -36,3 +41,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.58282, -4.73548)
|
|||||||
[node name="PlayerSpawn" type="Marker3D" parent="."]
|
[node name="PlayerSpawn" type="Marker3D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.23461, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.23461, 0)
|
||||||
|
|
||||||
|
[node name="Minimap Texture" type="MeshInstance3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.9805, 0)
|
||||||
|
layers = 2
|
||||||
|
mesh = SubResource("PlaneMesh_luhnj")
|
||||||
|
|||||||
@@ -1,6 +1,58 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://baddk1soq2ske"]
|
[gd_scene load_steps=7 format=3 uid="uid://bbwgmqy3evhh2"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_o02dd"]
|
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_o02dd"]
|
||||||
|
[ext_resource type="Script" path="res://src/map/dungeon/rooms/DungeonRoom.cs" id="2_jrlll"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ckaw6wjmi0fom" path="res://src/map/dungeon/door/Door.tscn" id="4_nh0nj"]
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_b8kax"]
|
||||||
|
albedo_color = Color(0.0470588, 0, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1h648"]
|
||||||
|
albedo_color = Color(0.0470588, 0, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="PlaneMesh" id="PlaneMesh_j8q3j"]
|
||||||
|
size = Vector2(50, 10)
|
||||||
|
|
||||||
[node name="DungeonRoom3D" type="Node3D"]
|
[node name="DungeonRoom3D" type="Node3D"]
|
||||||
script = ExtResource("1_o02dd")
|
script = ExtResource("1_o02dd")
|
||||||
|
size_in_voxels = Vector3i(5, 1, 1)
|
||||||
|
min_count = 1
|
||||||
|
max_count = 2
|
||||||
|
|
||||||
|
[node name="DungeonRoom" type="Node3D" parent="."]
|
||||||
|
script = ExtResource("2_jrlll")
|
||||||
|
|
||||||
|
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(50, 10, 10)
|
||||||
|
material = SubResource("StandardMaterial3D_b8kax")
|
||||||
|
|
||||||
|
[node name="CSGBox3D2" type="CSGBox3D" parent="CSGBox3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0493774, 0, 0)
|
||||||
|
operation = 2
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(49, 9, 9)
|
||||||
|
material = SubResource("StandardMaterial3D_1h648")
|
||||||
|
|
||||||
|
[node name="DOOR" parent="CSGBox3D" instance=ExtResource("4_nh0nj")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.54039, 4.74571)
|
||||||
|
|
||||||
|
[node name="DOOR2" parent="CSGBox3D" instance=ExtResource("4_nh0nj")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.58282, -4.73548)
|
||||||
|
|
||||||
|
[node name="PlayerSpawn" type="Marker3D" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.23461, 0)
|
||||||
|
|
||||||
|
[node name="ItemSpawnPoints" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
[node name="ItemSpawn1" type="Marker3D" parent="ItemSpawnPoints"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.3383, -4.48909, -2.92704)
|
||||||
|
gizmo_extents = 1.0
|
||||||
|
|
||||||
|
[node name="EnemySpawnPoints" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
[node name="Minimap Texture" type="MeshInstance3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.50433, 0)
|
||||||
|
layers = 2
|
||||||
|
mesh = SubResource("PlaneMesh_j8q3j")
|
||||||
|
|||||||
BIN
src/map/dungeon/textures/IMG_6565.JPEG
Normal file
|
After Width: | Height: | Size: 753 KiB |
35
src/map/dungeon/textures/IMG_6565.JPEG.import
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dvql5ldgpyw63"
|
||||||
|
path.s3tc="res://.godot/imported/IMG_6565.JPEG-70110ae185d0d8955206d76c17acff50.s3tc.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/map/dungeon/textures/IMG_6565.JPEG"
|
||||||
|
dest_files=["res://.godot/imported/IMG_6565.JPEG-70110ae185d0d8955206d76c17acff50.s3tc.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class MiniMap : Control
|
|
||||||
{
|
|
||||||
}
|
|
||||||
34
src/minimap/Minimap.tscn
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[gd_scene format=3 uid="uid://bwbofurcvf3yh"]
|
||||||
|
|
||||||
|
[node name="Minimap" type="Control"]
|
||||||
|
process_mode = 3
|
||||||
|
visibility_layer = 2
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
|
||||||
|
custom_minimum_size = Vector2(600, 600)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = 643.0
|
||||||
|
offset_top = 265.0
|
||||||
|
offset_right = -677.0
|
||||||
|
offset_bottom = -215.0
|
||||||
|
|
||||||
|
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
|
||||||
|
transparent_bg = true
|
||||||
|
handle_input_locally = false
|
||||||
|
size = Vector2i(600, 600)
|
||||||
|
render_target_update_mode = 4
|
||||||
|
|
||||||
|
[node name="Minimap Camera" type="Camera3D" parent="SubViewportContainer/SubViewport"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -1.75903, 28.9504, 0)
|
||||||
|
cull_mask = 1048574
|
||||||
|
fov = 120.0
|
||||||
|
size = 20.0
|
||||||
BIN
src/minimap/textures/floor_minimap.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
35
src/minimap/textures/floor_minimap.png.import
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bup8egjin5afn"
|
||||||
|
path.s3tc="res://.godot/imported/floor_minimap.png-4fd86e7d3e861a95a2ca94eeca8e02e2.s3tc.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/minimap/textures/floor_minimap.png"
|
||||||
|
dest_files=["res://.godot/imported/floor_minimap.png-4fd86e7d3e861a95a2ca94eeca8e02e2.s3tc.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
using Chickensoft.AutoInject;
|
using Chickensoft.AutoInject;
|
||||||
using Chickensoft.GodotNodeInterfaces;
|
using Chickensoft.GodotNodeInterfaces;
|
||||||
using Chickensoft.Introspection;
|
using Chickensoft.Introspection;
|
||||||
|
using Chickensoft.SaveFileBuilder;
|
||||||
|
using GameJamDungeon;
|
||||||
using Godot;
|
using Godot;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace GameJamDungeon
|
namespace GameJamDungeon
|
||||||
{
|
{
|
||||||
@@ -22,20 +23,26 @@ namespace GameJamDungeon
|
|||||||
|
|
||||||
PlayerLogic IProvide<PlayerLogic>.Value() => PlayerLogic;
|
PlayerLogic IProvide<PlayerLogic>.Value() => PlayerLogic;
|
||||||
|
|
||||||
[Dependency] public IAppRepo AppRepo => this.DependOn<IAppRepo>();
|
[Dependency]
|
||||||
[Dependency] public IGameRepo GameRepo => this.DependOn<IGameRepo>();
|
public IAppRepo AppRepo => this.DependOn<IAppRepo>();
|
||||||
|
|
||||||
|
[Dependency]
|
||||||
|
public IGameRepo GameRepo => this.DependOn<IGameRepo>();
|
||||||
|
|
||||||
|
[Dependency]
|
||||||
|
public ISaveChunk<GameData> GameChunk => this.DependOn<ISaveChunk<GameData>>();
|
||||||
|
|
||||||
/// <summary>Rotation speed (quaternions?/sec).</summary>
|
/// <summary>Rotation speed (quaternions?/sec).</summary>
|
||||||
[Export(PropertyHint.Range, "0, 100, 0.1")]
|
[Export(PropertyHint.Range, "0, 100, 0.1")]
|
||||||
public float RotationSpeed { get; set; } = 0.5f;
|
public float RotationSpeed { get; set; } = 12.0f;
|
||||||
|
|
||||||
/// <summary>Player speed (meters/sec).</summary>
|
/// <summary>Player speed (meters/sec).</summary>
|
||||||
[Export(PropertyHint.Range, "0, 100, 0.1")]
|
[Export(PropertyHint.Range, "0, 100, 0.1")]
|
||||||
public float MoveSpeed { get; set; } = 2f;
|
public float MoveSpeed { get; set; } = 8f;
|
||||||
|
|
||||||
/// <summary>Player speed (meters^2/sec).</summary>
|
/// <summary>Player speed (meters^2/sec).</summary>
|
||||||
[Export(PropertyHint.Range, "0, 100, 0.1")]
|
[Export(PropertyHint.Range, "0, 100, 0.1")]
|
||||||
public float Acceleration { get; set; } = 1f;
|
public float Acceleration { get; set; } = 4f;
|
||||||
|
|
||||||
public PlayerLogic.Settings Settings { get; set; } = default!;
|
public PlayerLogic.Settings Settings { get; set; } = default!;
|
||||||
|
|
||||||
@@ -45,9 +52,15 @@ namespace GameJamDungeon
|
|||||||
|
|
||||||
public PlayerLogic.IBinding PlayerBinding { get; set; } = default!;
|
public PlayerLogic.IBinding PlayerBinding { get; set; } = default!;
|
||||||
|
|
||||||
|
[Node]
|
||||||
|
public IAnimationPlayer AnimationPlayer { get; set; } = default!;
|
||||||
|
|
||||||
|
[Node]
|
||||||
|
public IAnimatedSprite2D SwordSlashAnimation { get; set; } = default!;
|
||||||
|
|
||||||
public void Initialize()
|
public void Initialize()
|
||||||
{
|
{
|
||||||
|
AnimationPlayer.AnimationFinished += OnAnimationFinished;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Setup()
|
public void Setup()
|
||||||
@@ -75,6 +88,8 @@ namespace GameJamDungeon
|
|||||||
{
|
{
|
||||||
PlayerBinding = PlayerLogic.Bind();
|
PlayerBinding = PlayerLogic.Bind();
|
||||||
|
|
||||||
|
GameRepo.SetPlayerGlobalPosition(GlobalPosition);
|
||||||
|
|
||||||
PlayerBinding
|
PlayerBinding
|
||||||
.Handle((in PlayerLogic.Output.MovementComputed output) =>
|
.Handle((in PlayerLogic.Output.MovementComputed output) =>
|
||||||
{
|
{
|
||||||
@@ -83,16 +98,14 @@ namespace GameJamDungeon
|
|||||||
})
|
})
|
||||||
.Handle((in PlayerLogic.Output.Animations.Attack output) =>
|
.Handle((in PlayerLogic.Output.Animations.Attack output) =>
|
||||||
{
|
{
|
||||||
|
AnimationPlayer.Play("attack");
|
||||||
});
|
});
|
||||||
|
|
||||||
this.Provide();
|
this.Provide();
|
||||||
PlayerLogic.Start();
|
PlayerLogic.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnReady()
|
public void OnReady() => SetPhysicsProcess(true);
|
||||||
{
|
|
||||||
SetPhysicsProcess(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnPhysicsProcess(double delta)
|
public void OnPhysicsProcess(double delta)
|
||||||
{
|
{
|
||||||
@@ -119,12 +132,17 @@ namespace GameJamDungeon
|
|||||||
return input with { Y = 0f };
|
return input with { Y = 0f };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnAnimationFinished(StringName animation)
|
||||||
|
{
|
||||||
|
GD.Print("Attack finished");
|
||||||
|
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
||||||
|
}
|
||||||
|
|
||||||
public void OnExitTree()
|
public void OnExitTree()
|
||||||
{
|
{
|
||||||
PlayerLogic.Stop();
|
PlayerLogic.Stop();
|
||||||
AppRepo.Dispose();
|
|
||||||
GameRepo.Dispose();
|
|
||||||
PlayerBinding.Dispose();
|
PlayerBinding.Dispose();
|
||||||
|
AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,111 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://cfecvvav8kkp6"]
|
[gd_scene load_steps=15 format=3 uid="uid://cfecvvav8kkp6"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://src/player/Player.cs" id="1_xcol5"]
|
[ext_resource type="Script" path="res://src/player/Player.cs" id="1_xcol5"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bokx3h8kfdo5i" path="res://src/player/slash_0000_Classic_30.png" id="2_la11l"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://byosr5gk51237" path="res://src/player/slash_0001_Classic_29.png" id="3_ux3f1"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://nh071o6ii03j" path="res://src/player/slash_0002_Classic_28.png" id="4_gqnq0"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bodfblud4kea3" path="res://src/player/slash_0003_Classic_27.png" id="5_eebal"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://de55prolicl0u" path="res://src/player/slash_0004_Classic_26.png" id="6_ngag5"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bp0msic3uk3kc" path="res://src/player/slash_0005_Layer-1.png" id="7_tp5uu"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"]
|
||||||
height = 1.2
|
|
||||||
|
[sub_resource type="CapsuleMesh" id="CapsuleMesh_dmans"]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_0jjwv"]
|
||||||
|
resource_name = "attack"
|
||||||
|
length = 0.7
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("SwordSlashAnimation:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0667, 0.1667, 0.2667, 0.366667, 0.433333, 0.5, 0.6333),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1, 2, 3, 4, 5, 6, 7]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Area3D/Hitbox:disabled")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.1667, 0.3333),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true, false, true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_hcjph"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("SwordSlashAnimation:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Area3D/Hitbox:disabled")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_w8l8m"]
|
||||||
|
_data = {
|
||||||
|
"RESET": SubResource("Animation_hcjph"),
|
||||||
|
"attack": SubResource("Animation_0jjwv")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_ywvvo"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": null
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("2_la11l")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("3_ux3f1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("4_gqnq0")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("5_eebal")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("6_ngag5")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("7_tp5uu")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": null
|
||||||
|
}],
|
||||||
|
"loop": false,
|
||||||
|
"name": &"attack",
|
||||||
|
"speed": 12.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_wedu3"]
|
||||||
|
|
||||||
[node name="Player" type="CharacterBody3D"]
|
[node name="Player" type="CharacterBody3D"]
|
||||||
motion_mode = 1
|
motion_mode = 1
|
||||||
@@ -14,11 +116,35 @@ RotationSpeed = 0.025
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.937567, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.937567, 0)
|
||||||
shape = SubResource("CapsuleShape3D_dw45s")
|
shape = SubResource("CapsuleShape3D_dw45s")
|
||||||
|
|
||||||
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"]
|
||||||
|
mesh = SubResource("CapsuleMesh_dmans")
|
||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
[node name="Camera3D" type="Camera3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.19694, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.46709, -0.511194)
|
||||||
|
cull_mask = 1048573
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
omni_range = 73.156
|
omni_range = 73.156
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
libraries = {
|
||||||
|
"": SubResource("AnimationLibrary_w8l8m")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="SwordSlashAnimation" type="AnimatedSprite2D" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
position = Vector2(911, 546)
|
||||||
|
scale = Vector2(9.03192, 6.39623)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_ywvvo")
|
||||||
|
animation = &"attack"
|
||||||
|
|
||||||
|
[node name="Area3D" type="Area3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -1)
|
||||||
|
collision_layer = 16
|
||||||
|
collision_mask = 16
|
||||||
|
|
||||||
|
[node name="Hitbox" type="CollisionShape3D" parent="Area3D"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
shape = SubResource("BoxShape3D_wedu3")
|
||||||
|
disabled = true
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using Chickensoft.Serialization;
|
using Chickensoft.Serialization;
|
||||||
using Godot;
|
using Godot;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace GameJamDungeon
|
namespace GameJamDungeon
|
||||||
|
|||||||
40
src/player/animations/SwordSlash.tres
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[gd_resource type="SpriteFrames" load_steps=7 format=3 uid="uid://nxdb75oa71hj"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cd8gggy8mdm2e" path="res://src/vfx/Sword Slash/slash_0000_Classic_30.png" id="1_dmb5o"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://difp6a34ot1oq" path="res://src/vfx/Sword Slash/slash_0001_Classic_29.png" id="2_dme0j"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://brjqbpy3wsksb" path="res://src/vfx/Sword Slash/slash_0002_Classic_28.png" id="3_twn5o"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://brpnjc7aho55s" path="res://src/vfx/Sword Slash/slash_0003_Classic_27.png" id="4_3f3ea"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://mb7qoowmapaj" path="res://src/vfx/Sword Slash/slash_0004_Classic_26.png" id="5_fp65h"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d2e5prh2tm73h" path="res://src/vfx/Sword Slash/slash_0005_Layer-1.png" id="6_6syma"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": null
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("1_dmb5o")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("2_dme0j")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("3_twn5o")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("4_3f3ea")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("5_fp65h")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("6_6syma")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": null
|
||||||
|
}],
|
||||||
|
"loop": false,
|
||||||
|
"name": &"slash",
|
||||||
|
"speed": 12.0
|
||||||
|
}]
|
||||||
BIN
src/player/animations/slash_0000_Classic_30.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
34
src/player/animations/slash_0000_Classic_30.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bqpaiixbyo16v"
|
||||||
|
path="res://.godot/imported/slash_0000_Classic_30.png-2c428e005da5748673e1d7868aa6b18a.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/animations/slash_0000_Classic_30.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0000_Classic_30.png-2c428e005da5748673e1d7868aa6b18a.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/animations/slash_0001_Classic_29.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/player/animations/slash_0001_Classic_29.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://wm86fj4argv6"
|
||||||
|
path="res://.godot/imported/slash_0001_Classic_29.png-3673010723601f8b6d22db47032b50c1.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/animations/slash_0001_Classic_29.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0001_Classic_29.png-3673010723601f8b6d22db47032b50c1.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/animations/slash_0002_Classic_28.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
34
src/player/animations/slash_0002_Classic_28.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://j4m8omoaui1x"
|
||||||
|
path="res://.godot/imported/slash_0002_Classic_28.png-597c35b28abcb81bd5ff794f73b0fdd0.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/animations/slash_0002_Classic_28.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0002_Classic_28.png-597c35b28abcb81bd5ff794f73b0fdd0.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/animations/slash_0003_Classic_27.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/player/animations/slash_0003_Classic_27.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://caqgpeg6yfy04"
|
||||||
|
path="res://.godot/imported/slash_0003_Classic_27.png-a5584650bbab5644c4f68a72c7102891.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/animations/slash_0003_Classic_27.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0003_Classic_27.png-a5584650bbab5644c4f68a72c7102891.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/animations/slash_0004_Classic_26.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
34
src/player/animations/slash_0004_Classic_26.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cnasdkwdao7br"
|
||||||
|
path="res://.godot/imported/slash_0004_Classic_26.png-edc418ced5f957bf9acd48ba10300783.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/animations/slash_0004_Classic_26.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0004_Classic_26.png-edc418ced5f957bf9acd48ba10300783.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/animations/slash_0005_Layer-1.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/player/animations/slash_0005_Layer-1.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dpulted24fmhb"
|
||||||
|
path="res://.godot/imported/slash_0005_Layer-1.png-1d7636cfc5c4b430e4a056383d58afa9.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/animations/slash_0005_Layer-1.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0005_Layer-1.png-1d7636cfc5c4b430e4a056383d58afa9.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/slash_0000_Classic_30.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
34
src/player/slash_0000_Classic_30.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bokx3h8kfdo5i"
|
||||||
|
path="res://.godot/imported/slash_0000_Classic_30.png-29bf4d1f49823b71f227d5df12819eb4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/slash_0000_Classic_30.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0000_Classic_30.png-29bf4d1f49823b71f227d5df12819eb4.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/slash_0001_Classic_29.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/player/slash_0001_Classic_29.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://byosr5gk51237"
|
||||||
|
path="res://.godot/imported/slash_0001_Classic_29.png-8b6cb25db8f26faae8c794cbe9767b96.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/slash_0001_Classic_29.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0001_Classic_29.png-8b6cb25db8f26faae8c794cbe9767b96.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/slash_0002_Classic_28.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
34
src/player/slash_0002_Classic_28.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://nh071o6ii03j"
|
||||||
|
path="res://.godot/imported/slash_0002_Classic_28.png-4e04a86162e517edc488454a4efd1ae0.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/slash_0002_Classic_28.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0002_Classic_28.png-4e04a86162e517edc488454a4efd1ae0.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/slash_0003_Classic_27.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/player/slash_0003_Classic_27.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bodfblud4kea3"
|
||||||
|
path="res://.godot/imported/slash_0003_Classic_27.png-e6e9f96a812c6c1dc9c174b34a127296.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/slash_0003_Classic_27.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0003_Classic_27.png-e6e9f96a812c6c1dc9c174b34a127296.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/slash_0004_Classic_26.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
34
src/player/slash_0004_Classic_26.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://de55prolicl0u"
|
||||||
|
path="res://.godot/imported/slash_0004_Classic_26.png-2ac987800cb2865f139b46d65ad72e26.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/slash_0004_Classic_26.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0004_Classic_26.png-2ac987800cb2865f139b46d65ad72e26.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
src/player/slash_0005_Layer-1.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/player/slash_0005_Layer-1.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bp0msic3uk3kc"
|
||||||
|
path="res://.godot/imported/slash_0005_Layer-1.png-e9a5a7f6279134cbc1e523399aaf9074.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/player/slash_0005_Layer-1.png"
|
||||||
|
dest_files=["res://.godot/imported/slash_0005_Layer-1.png-e9a5a7f6279134cbc1e523399aaf9074.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||