Add core content definitions
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
#nullable enable
|
||||
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record BehaviorEventDefinition(BehaviorEventKind Kind, double StartSeconds, double DurationSeconds, string? ReferenceId = null);
|
||||
@@ -0,0 +1 @@
|
||||
uid://bfhvtjvxbesyr
|
||||
12
godot/scripts/content/definitions/BehaviorEventKind.cs
Normal file
12
godot/scripts/content/definitions/BehaviorEventKind.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public enum BehaviorEventKind
|
||||
{
|
||||
Wait,
|
||||
MovePath,
|
||||
RotatePath,
|
||||
FireProjectile,
|
||||
ChangeSpeed,
|
||||
SpawnChild,
|
||||
TriggerEffect
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://b3k6pfrvkik72
|
||||
@@ -0,0 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record BehaviorTrackDefinition(string Id, BehaviorTrackMode Mode, IReadOnlyList<BehaviorEventDefinition> Events);
|
||||
@@ -0,0 +1 @@
|
||||
uid://b8sossiey58sy
|
||||
7
godot/scripts/content/definitions/BehaviorTrackMode.cs
Normal file
7
godot/scripts/content/definitions/BehaviorTrackMode.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public enum BehaviorTrackMode
|
||||
{
|
||||
Serial,
|
||||
Parallel
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cj7orw08m62rq
|
||||
@@ -0,0 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record CameraPathDefinition(string Id, string DisplayName, IReadOnlyList<CameraPathPointDefinition> Points, double DefaultSpeed);
|
||||
@@ -0,0 +1 @@
|
||||
uid://1sohi8c0b4p4
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record CameraPathPointDefinition(double TimeSeconds, double X, double Y, double Speed);
|
||||
@@ -0,0 +1 @@
|
||||
uid://n5yggkiyqu3u
|
||||
8
godot/scripts/content/definitions/ClusterEscapeRule.cs
Normal file
8
godot/scripts/content/definitions/ClusterEscapeRule.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public enum ClusterEscapeRule
|
||||
{
|
||||
PreventReward,
|
||||
AllowReward,
|
||||
RespawnUntilDestroyed
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://bo12ujllh0vko
|
||||
@@ -0,0 +1,5 @@
|
||||
#nullable enable
|
||||
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record CollectibleDefinition(string Id, string DisplayName, CollectibleKind Kind, int Value, string? ReferencedContentId = null);
|
||||
@@ -0,0 +1 @@
|
||||
uid://dojpxw2gdr0yo
|
||||
12
godot/scripts/content/definitions/CollectibleKind.cs
Normal file
12
godot/scripts/content/definitions/CollectibleKind.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public enum CollectibleKind
|
||||
{
|
||||
Points,
|
||||
PrimaryWeapon,
|
||||
SecondaryWeapon,
|
||||
ClearScreen,
|
||||
ShieldCharge,
|
||||
SpecialAmmo,
|
||||
SquadronMate
|
||||
}
|
||||
1
godot/scripts/content/definitions/CollectibleKind.cs.uid
Normal file
1
godot/scripts/content/definitions/CollectibleKind.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bbuwcsopsg4on
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record DifficultyDefinition(string Id, string DisplayName, DifficultyModifierSet Modifiers, int HeroStartingShieldCharges, int HeroRetryCount);
|
||||
@@ -0,0 +1 @@
|
||||
uid://8lf15cyl337v
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record DifficultyModifierSet(double EnemyHealthMultiplier, double EnemyProjectileSpeedMultiplier, double EnemyFireCadenceMultiplier, double EnemySpawnDensityMultiplier, double ClusterSpawnIntervalMultiplier, double BossHealthMultiplier, double BossPhaseTimingMultiplier, double CollectibleDropRateMultiplier, double SpecialWeaponInitialAmmoMultiplier, double ScoreMultiplier);
|
||||
@@ -0,0 +1 @@
|
||||
uid://c3wiaioy3cj2l
|
||||
@@ -0,0 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record EnemyBehaviorDefinition(string Id, string DisplayName, IReadOnlyList<BehaviorTrackDefinition> Tracks);
|
||||
@@ -0,0 +1 @@
|
||||
uid://b7qggd0xsyl8v
|
||||
@@ -0,0 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record EnemyClusterDefinition(string Id, string DisplayName, IReadOnlyList<SpawnScheduleEntryDefinition> Spawns, int CompletionRewardPoints, ClusterEscapeRule EscapeRule);
|
||||
@@ -0,0 +1 @@
|
||||
uid://c5lqrpv5gc753
|
||||
5
godot/scripts/content/definitions/EnemyTypeDefinition.cs
Normal file
5
godot/scripts/content/definitions/EnemyTypeDefinition.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record EnemyTypeDefinition(string Id, string DisplayName, int Health, int ScoreValue, IReadOnlyList<string> BehaviorIds, IReadOnlyList<string> DropCollectibleIds);
|
||||
@@ -0,0 +1 @@
|
||||
uid://cgsajqr5fvw5g
|
||||
8
godot/scripts/content/definitions/LayerKind.cs
Normal file
8
godot/scripts/content/definitions/LayerKind.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public enum LayerKind
|
||||
{
|
||||
Background,
|
||||
Interactive,
|
||||
Foreground
|
||||
}
|
||||
1
godot/scripts/content/definitions/LayerKind.cs.uid
Normal file
1
godot/scripts/content/definitions/LayerKind.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dp41dwk68qlin
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record LevelLayerDefinition(string Id, string DisplayName, LayerKind Kind, double ScrollFactor, bool Repeats);
|
||||
@@ -0,0 +1 @@
|
||||
uid://dfikxuceq8ros
|
||||
5
godot/scripts/content/definitions/MissionDefinition.cs
Normal file
5
godot/scripts/content/definitions/MissionDefinition.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record MissionDefinition(string Id, string DisplayName, string DefaultDifficultyId, string CameraPathId, IReadOnlyList<string> BackgroundLayerIds, IReadOnlyList<string> ForegroundLayerIds, IReadOnlyList<string> ClusterIds, IReadOnlyList<string> CollectibleIds, IReadOnlyList<string> SpecialWeaponIds, IReadOnlyList<string> TimelineMarkers);
|
||||
@@ -0,0 +1 @@
|
||||
uid://d1gwpoe4obx5t
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record SpawnScheduleEntryDefinition(string EnemyTypeId, double SpawnTimeSeconds, double AnchorX, double AnchorY);
|
||||
@@ -0,0 +1 @@
|
||||
uid://crrtalqhddqc3
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record SpecialWeaponDefinition(string Id, string DisplayName, SpecialWeaponKind Kind, int InitialAmmo, int AmmoPickupAmount, int Damage);
|
||||
@@ -0,0 +1 @@
|
||||
uid://b7rncbmm228x6
|
||||
9
godot/scripts/content/definitions/SpecialWeaponKind.cs
Normal file
9
godot/scripts/content/definitions/SpecialWeaponKind.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public enum SpecialWeaponKind
|
||||
{
|
||||
Bomb,
|
||||
Crawler,
|
||||
Napalm,
|
||||
BlackHole
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cr8u8s2r2vlj5
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public enum SquadronMateFormationKind
|
||||
{
|
||||
Hug,
|
||||
Orbit,
|
||||
LineFormation,
|
||||
VFormation,
|
||||
Follow
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://trmmvv4tfq0l
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record SquadronMateTypeDefinition(string Id, string DisplayName, SquadronMateFormationKind Formation, double Spacing, double MovementSmoothing);
|
||||
@@ -0,0 +1 @@
|
||||
uid://b0n4orx2ffcu2
|
||||
3
godot/scripts/content/definitions/WeaponDefinition.cs
Normal file
3
godot/scripts/content/definitions/WeaponDefinition.cs
Normal file
@@ -0,0 +1,3 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public sealed record WeaponDefinition(string Id, string DisplayName, WeaponKind Kind, int Damage, double FireCadenceSeconds, double ProjectileSpeed, int ProjectileCount, bool ConsumesEnemyProjectiles);
|
||||
@@ -0,0 +1 @@
|
||||
uid://br35s1xq4dspu
|
||||
12
godot/scripts/content/definitions/WeaponKind.cs
Normal file
12
godot/scripts/content/definitions/WeaponKind.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace SideScrollerGame.Content.Definitions;
|
||||
|
||||
public enum WeaponKind
|
||||
{
|
||||
PrimaryBallistic,
|
||||
PrimarySeeking,
|
||||
PrimaryLaser,
|
||||
PrimaryGrenadeCluster,
|
||||
SecondaryVertical,
|
||||
SecondaryDiagonal,
|
||||
SecondaryBackward
|
||||
}
|
||||
1
godot/scripts/content/definitions/WeaponKind.cs.uid
Normal file
1
godot/scripts/content/definitions/WeaponKind.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bbc7rfx8wc610
|
||||
Reference in New Issue
Block a user