mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-08 14:25:54 +00:00
Directional spider bomb
This commit is contained in:
parent
029128c8b8
commit
36e77adcd7
8 changed files with 44 additions and 6 deletions
|
|
@ -10,6 +10,7 @@
|
|||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADisposablesTracker_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FDecompilerCache_003Fdecompiler_003F4fd22cd129a84c16b5d8004b467c426f518800_003Fb8_003Fee061233_003FDisposablesTracker_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnemy_005FScriptProperties_002Egenerated_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003Fd6739058209280d46591ab296d6b49dfcf7ecd2_003FEnemy_005FScriptProperties_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGameManager_005FScriptMethods_002Egenerated_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003F642294f86639b2f8d4cb4d14e791d697e55369_003FGameManager_005FScriptMethods_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANode2D_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe37dc1faf08a4d5ea030ad59bdf77522523400_003F49_003F8f2ede17_003FNode2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANode_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003Fbb1b701f3c7411227a9d2e09f965d857ff3e771557650c4f513e427d77c_003FNode_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANode_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003Ff1d69ec2da76ccf9bc8a75c8e0fdca9a7ba1adf8c8c9d5047e2fa5991c02eca_003FNode_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APlayerMovement_005FScriptMethods_002Egenerated_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003F4af4702ac4bbb9ab7299554c41beea2bf703b4a_003FPlayerMovement_005FScriptMethods_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=60 format=3 uid="uid://c4pr2707hbeph"]
|
||||
[gd_scene load_steps=61 format=3 uid="uid://c4pr2707hbeph"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d2ubk5gucny6s" path="res://Scripts/Components/FSM/PlayerFSMProxy.cs" id="1_g3wua"]
|
||||
[ext_resource type="Script" uid="uid://bw2hakslndaxm" path="res://Scripts/Components/FSM/PlayerStateMachine.cs" id="1_mpmil"]
|
||||
|
|
@ -32,6 +32,7 @@
|
|||
[ext_resource type="Script" uid="uid://d0bebi2vn171l" path="res://Scripts/Components/FSM/Player/PlayerFSMItemUseModule.cs" id="29_m323t"]
|
||||
[ext_resource type="Texture2D" uid="uid://ddwhrlrgj6i00" path="res://Sprites/Actors/Cirno.png" id="30_li0ug"]
|
||||
[ext_resource type="Script" uid="uid://camgjo4302qmq" path="res://Scripts/Components/Actors/ConveyorBeltMover.cs" id="32_4f2wn"]
|
||||
[ext_resource type="Script" uid="uid://dbxbvjonbtib2" path="res://Scripts/Components/FSM/Player/PlayerStorageModule.cs" id="33_fnw0c"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_b3hxm"]
|
||||
radius = 5.0
|
||||
|
|
@ -242,11 +243,12 @@ metadata/_edit_group_ = true
|
|||
[node name="StateMachine" type="Node2D" parent="."]
|
||||
script = ExtResource("1_mpmil")
|
||||
|
||||
[node name="Init" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider")]
|
||||
[node name="Init" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider", "_storageModule")]
|
||||
script = ExtResource("2_i6wc8")
|
||||
_animationProvider = NodePath("../../AnimationProvider")
|
||||
_storageModule = NodePath("../../Storage")
|
||||
|
||||
[node name="Active" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_weaponProvider", "_animationProvider", "_crosshairProvider", "_hitboxSpriteProvider", "_inputProvider", "_damageReceiver", "_activationProvider", "_interactionController", "_moduleNodes")]
|
||||
[node name="Active" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_weaponProvider", "_animationProvider", "_crosshairProvider", "_hitboxSpriteProvider", "_inputProvider", "_damageReceiver", "_activationProvider", "_interactionController", "_storageModule", "_moduleNodes")]
|
||||
script = ExtResource("3_3tuio")
|
||||
_weaponProvider = NodePath("../../WeaponProvider")
|
||||
_animationProvider = NodePath("../../AnimationProvider")
|
||||
|
|
@ -256,6 +258,7 @@ _inputProvider = NodePath("../../InputProvider")
|
|||
_damageReceiver = NodePath("../../DamageReceiver")
|
||||
_activationProvider = NodePath("../../InteractionProvider")
|
||||
_interactionController = NodePath("../../InteractionController")
|
||||
_storageModule = NodePath("../../Storage")
|
||||
_moduleNodes = [NodePath("../../InteractionController"), NodePath("../../ItemUser"), NodePath("../../ConveyorBeltMover")]
|
||||
|
||||
[node name="Cutscene" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider")]
|
||||
|
|
@ -388,10 +391,11 @@ Shield = NodePath("../DamageReceiver/ShieldProvider")
|
|||
[node name="CollisionShape2D2" type="CollisionShape2D" parent="InteractionController"]
|
||||
shape = SubResource("CircleShape2D_g3wua")
|
||||
|
||||
[node name="ItemUser" type="Node2D" parent="." node_paths=PackedStringArray("Health", "Shield")]
|
||||
[node name="ItemUser" type="Node2D" parent="." node_paths=PackedStringArray("Health", "Shield", "_storageModule")]
|
||||
script = ExtResource("29_m323t")
|
||||
Health = NodePath("../DamageReceiver/HealthProvider")
|
||||
Shield = NodePath("../DamageReceiver/ShieldProvider")
|
||||
_storageModule = NodePath("../Storage")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
|
|
@ -423,6 +427,9 @@ script = ExtResource("32_4f2wn")
|
|||
position = Vector2(0, 6.48)
|
||||
shape = SubResource("CircleShape2D_fnw0c")
|
||||
|
||||
[node name="Storage" type="Node2D" parent="."]
|
||||
script = ExtResource("33_fnw0c")
|
||||
|
||||
[connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]
|
||||
[connection signal="area_entered" from="InteractionProvider" to="InteractionProvider" method="_on_interaction_controller_area_entered"]
|
||||
[connection signal="area_exited" from="InteractionProvider" to="InteractionProvider" method="_on_interaction_controller_area_exited"]
|
||||
|
|
|
|||
|
|
@ -8,7 +8,11 @@ public partial class Active : PlayerStateBase
|
|||
{
|
||||
public override PlayerState StateId => PlayerState.Active;
|
||||
private Vector2 _movementDirection { get; set; }
|
||||
public Vector2 FacingDirection { get; private set; } = Vector2.Down;
|
||||
public Vector2 FacingDirection
|
||||
{
|
||||
get => _storageModule.FacingDirection;
|
||||
private set => _storageModule.FacingDirection = value;
|
||||
}
|
||||
|
||||
[Export]
|
||||
public int Speed { get; set; } = 45;
|
||||
|
|
@ -32,6 +36,8 @@ public partial class Active : PlayerStateBase
|
|||
[Export] private ActivationProvider _activationProvider;
|
||||
|
||||
[Export] private InteractionController _interactionController;
|
||||
|
||||
[Export] private PlayerStorageModule _storageModule;
|
||||
|
||||
private bool _isStrafing;
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,12 @@ public partial class Init : PlayerStateBase
|
|||
|
||||
[Export]
|
||||
private PlayerAnimationProvider _animationProvider;
|
||||
|
||||
[Export] private PlayerStorageModule _storageModule;
|
||||
|
||||
public override void EnterState()
|
||||
{
|
||||
_storageModule.FacingDirection = ((PlayerStateMachine)StateMachine).StartingDirection;
|
||||
_animationProvider.PlayUnteleportAnimation();
|
||||
_ = AutoSwitchToStart();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,14 @@ public partial class PlayerFSMItemUseModule : ModuleBase<PlayerState, CharacterB
|
|||
[Export]
|
||||
public ActorResourceProvider Shield { get; set; }
|
||||
|
||||
[Export] private PlayerStorageModule _storageModule;
|
||||
|
||||
public Vector2 FacingDirection
|
||||
{
|
||||
get => _storageModule.FacingDirection;
|
||||
private set => _storageModule.FacingDirection = value;
|
||||
}
|
||||
|
||||
public bool Enabled { get; set; } = false;
|
||||
|
||||
public override void EnterState(PlayerState state)
|
||||
|
|
@ -105,7 +113,8 @@ public partial class PlayerFSMItemUseModule : ModuleBase<PlayerState, CharacterB
|
|||
var bulletData = item.WeaponData.MakeBullet(this.GlobalPosition);
|
||||
|
||||
bullet.Initialize(bulletData, GameManager.Instance);
|
||||
|
||||
bullet.SetDirection(FacingDirection);
|
||||
bullet.RotateSpriteDegrees(-90);
|
||||
//bullet.SetDirection(_facingDirection);
|
||||
bullet.Speed = item.WeaponData.BulletData.BulletSpeed;
|
||||
|
||||
|
|
|
|||
8
Scripts/Components/FSM/Player/PlayerStorageModule.cs
Normal file
8
Scripts/Components/FSM/Player/PlayerStorageModule.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using Godot;
|
||||
|
||||
namespace Cirno.Scripts.Components.FSM.Player;
|
||||
|
||||
public partial class PlayerStorageModule : Node2D
|
||||
{
|
||||
public Vector2 FacingDirection { get; set; }
|
||||
}
|
||||
1
Scripts/Components/FSM/Player/PlayerStorageModule.cs.uid
Normal file
1
Scripts/Components/FSM/Player/PlayerStorageModule.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://dbxbvjonbtib2
|
||||
|
|
@ -7,6 +7,8 @@ public partial class PlayerStateMachine : StateMachineBase<PlayerState, Characte
|
|||
{
|
||||
[Export] public override PlayerState InitialState { get; protected set; } = PlayerState.Init;
|
||||
|
||||
[Export] public Vector2 StartingDirection { get; set; } = Vector2.Down;
|
||||
|
||||
public void RefillHealth()
|
||||
{
|
||||
GD.Print("Refilling health");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue