Basic laser integration

This commit is contained in:
MaddoScientisto 2026-01-31 10:23:10 +01:00
commit 4011a7c6f6
15 changed files with 1028 additions and 284 deletions

View file

@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using Cirno.Scripts.Actors._3D;
using Cirno.Scripts.Components;
using Cirno.Scripts.Utils;
using Godot;
@ -32,6 +33,11 @@ public partial class BulletResource : Resource
[Export]
public BulletCreationModifier Modifier;
[Export] public Array<TimeModifier> TimeModifiers;
// Laser-specific properties
[ExportGroup("Laser Settings")]
[Export] public bool IsLaser { get; set; }
[Export] public LaserConfig LaserConfig { get; set; }
public BulletInfo MakeBullet(Vector2 position, int count = 1, float spread = 0f, float rotationOffset = 0f)
{
@ -59,6 +65,8 @@ public partial class BulletResource : Resource
//Grazeable = Attributes.HasFlag(BulletFlags.Grazeable),
GrazeValue = GrazeValue,
Attributes = Attributes,
IsLaser = IsLaser,
LaserConfig = LaserConfig
// TimeModifiers = TimeModifiers?.Where(mod => mod is TimeModifier).Cast<TimeModifier>().Select(m => new ModifierWrapper()
// {
// TimeModifier = m,