using System;
using System.Collections.Generic;
using UnityEngine;

[Serializable]
public class SaveData
{
    // Player things
    public Vector3 playerPosition;
    public Quaternion playerRotation;
    public int stamina;

    // Game state (Orbs and Time)
    public int orbsCollected;
    public float remainingTime;

    // Procedural (seed)
    public int worldSeed;

    // List of Orbs
    public List<OrbData> orbs = new();

    // List of enemies
    public List<EnemyData> enemies = new();

    // Player Settings
    public float mouseSensitivity;
    public float masterVolume;
}

[Serializable]
public class OrbData
{
    public string id;
    public Vector3 position;
    public bool collected;
}

[Serializable]
public class EnemyData
{
    public string id;           // unique ID for the enemy
    public Vector3 position;    // enemy's position
    public EnemyState state;    // current state

    public EnemyData(string id, Vector3 pos, EnemyState state)
    {
        this.id = id;
        this.position = pos;
        this.state = state;
    }
}

// Enum for your enemy states
public enum EnemyState
{
    Patrolling,
    Chasing,
    Attacking,
    Returning
}

