server-master/srcs/WingsAPI.Scripting/Object/Common/SMap.cs
2026-02-10 18:21:30 +01:00

74 lines
No EOL
2.1 KiB
C#

using System;
using System.Collections.Generic;
using WingsAPI.Scripting.Attribute;
using WingsAPI.Scripting.Enum;
using WingsAPI.Scripting.Event;
using WingsAPI.Scripting.Object.Common.Map;
using WingsAPI.Scripting.Object.Timespace;
namespace WingsAPI.Scripting.Object.Common
{
/// <summary>
/// Object used to represent a map in a script
/// </summary>
[ScriptObject]
public sealed class SMap
{
/// <summary>
/// Randomly generated id
/// </summary>
public Guid Id { get; set; }
public SMapType MapType { get; set; }
/// <summary>
/// Vnum or Id of the map
/// </summary>
public int MapIdVnum { get; set; }
public int NameId { get; set; }
public int MusicId { get; set; }
/// <summary>
/// Used for TimeSpace minimap
/// </summary>
public byte MapIndexX { get; set; }
/// <summary>
/// Used for TimeSpace minimap
/// </summary>
public byte MapIndexY { get; set; }
/// <summary>
/// Contains all the flags needed to define a map via VNum
/// </summary>
public IEnumerable<SMapFlags> Flags { get; set; }
/// <summary>
/// Contains all monsters who need to be spawned in this map
/// </summary>
public IEnumerable<SMonster> Monsters { get; set; }
public IEnumerable<SMapNpc> Npcs { get; set; }
/// <summary>
/// Contains all buttons who need to be added to this map
/// </summary>
public IEnumerable<SMapObject> Objects { get; set; }
/// <summary>
/// Contains all portals who need to be added to this map
/// </summary>
public IEnumerable<SPortal> Portals { get; set; }
public IDictionary<string, IEnumerable<SEvent>> Events { get; set; }
/// <summary>
/// Spawn x monsters every y seconds
/// </summary>
public IEnumerable<SMonsterWave> MonsterWaves { get; set; }
public STimeSpaceTask TimeSpaceTask { get; set; }
}
}