cirnogodot/Scripts/Utils/SessionSettings.cs

39 lines
1 KiB
C#
Raw Normal View History

2025-02-27 08:37:55 +01:00
using System;
using System.Collections.Generic;
2025-04-08 15:02:41 +02:00
using Cirno.Scripts.Enums;
2025-05-02 15:49:25 +02:00
using Godot;
2025-02-27 08:37:55 +01:00
namespace Cirno.Scripts.Utils;
public class SessionSettings
{
2025-04-10 19:04:06 +02:00
public GameMode GameMode { get; set; } = GameMode.Game;
2025-02-27 08:37:55 +01:00
public bool SkipDialogues { get; set; } = false;
public bool GodMode { get; set; } = false;
2025-04-08 15:02:41 +02:00
public DifficultyLevel Difficulty { get; set; } = DifficultyLevel.Normal;
2025-04-02 18:39:37 +02:00
public bool AllowSaving { get; set; } = false;
2025-03-24 16:56:35 +01:00
public Godot.Collections.Dictionary<string, int> Items { get; set; } = new();
2025-04-02 17:42:55 +02:00
public int LevelNumber { get; set; } = 0;
2025-02-27 08:37:55 +01:00
2025-03-24 16:56:35 +01:00
public float Health { get; set; }
public float Shield { get; set; }
2025-05-02 15:49:25 +02:00
public string EquippedWeaponId { get; set; }
2025-03-24 16:56:35 +01:00
2025-04-09 16:58:36 +02:00
public float DifficultyDamageMultiplier => this.Difficulty switch
{
2025-04-23 16:14:37 +02:00
DifficultyLevel.Easy => 1.4f,
DifficultyLevel.Normal => 1.2f,
2025-04-09 16:58:36 +02:00
DifficultyLevel.Hard or DifficultyLevel.Lunatic => 1f,
_ => 1f
};
2025-03-24 16:56:35 +01:00
public void NewSession()
{
Items = new();
2025-05-02 18:12:33 +02:00
EquippedWeaponId = string.Empty;
2025-03-24 16:56:35 +01:00
}
}