using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace ConfigurableCombo;
///
/// A single user-defined combo: put the first action on your hotbar; pressing it advances through the sequence.
///
[Serializable]
public class UserComboDefinition
{
///
/// Display name for this combo (e.g. "WAR ST Combo").
///
public string Name { get; set; } = "New Combo";
///
/// Ordered list of action IDs. The first action is the one you place on the hotbar; each press advances to the next.
/// Combo resets to the first action when the game combo timer expires or the sequence is broken.
///
public List ActionIds { get; set; } = new();
///
/// Whether this combo is enabled.
///
public bool Enabled { get; set; } = true;
///
/// ClassJob.RowId this combo belongs to. 0 = Unspecified (shown when "Unspecified" job is selected).
///
public uint JobId { get; set; }
///
/// Unique id for this combo (for UI and serialization).
///
public Guid Id { get; set; } = Guid.NewGuid();
///
/// The action ID that is "on the bar" — i.e. the trigger. This is ActionIds[0] when the list is non-empty.
///
public uint TriggerActionId => ActionIds.Count > 0 ? ActionIds[0] : 0;
}