Tech tree layout is now correct thanks to MSAGL Blueprint stat effects can now target item stats Durability is now a PerformanceStat
73 lines
No EOL
2 KiB
C#
73 lines
No EOL
2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using JsonKnownTypes;
|
|
using MessagePack;
|
|
using Newtonsoft.Json;
|
|
// TODO: USE THIS EVERYWHERE
|
|
using Unity.Mathematics;
|
|
using static Unity.Mathematics.math;
|
|
#if UNITY_EDITOR
|
|
using UnityEditor;
|
|
#endif
|
|
|
|
public interface INamedEntry
|
|
{
|
|
string EntryName { get; set; }
|
|
}
|
|
|
|
[InspectableField,
|
|
MessagePackObject,
|
|
Union(0, typeof(SimpleCommodityData)),
|
|
Union(1, typeof(CompoundCommodityData)),
|
|
Union(2, typeof(GearData)),
|
|
Union(3, typeof(HullData)),
|
|
Union(6, typeof(SimpleCommodity)),
|
|
Union(7, typeof(CompoundCommodity)),
|
|
Union(8, typeof(Gear)),
|
|
Union(9, typeof(GlobalData)),
|
|
Union(10, typeof(ZoneData)),
|
|
Union(11, typeof(Player)),
|
|
Union(12, typeof(Corporation)),
|
|
Union(13, typeof(Ship)),
|
|
Union(14, typeof(StationData)),
|
|
Union(15, typeof(OrbitData)),
|
|
Union(16, typeof(PlanetData)),
|
|
JsonObject(MemberSerialization.OptIn), JsonConverter(typeof(JsonKnownTypesConverter<DatabaseEntry>))]
|
|
//[Union(21, typeof(ContractData))]
|
|
//[Union(22, typeof(Station))]
|
|
public abstract class DatabaseEntry
|
|
{
|
|
[JsonProperty("id"), Key(0)] public Guid ID = Guid.NewGuid();
|
|
[IgnoreMember] public GameContext Context { get; set; }
|
|
}
|
|
|
|
[RethinkTable("Users"), MessagePackObject, JsonObject(MemberSerialization.OptIn)]
|
|
public class Player : DatabaseEntry, INamedEntry
|
|
{
|
|
[JsonProperty("email"), Key(1)] public string Email;
|
|
|
|
[JsonProperty("password"), Key(2)] public string Password;
|
|
|
|
[JsonProperty("username"), Key(3)] public string Username;
|
|
|
|
[JsonProperty("corporation"), Key(4)] public Guid Corporation;
|
|
|
|
[IgnoreMember] public string EntryName
|
|
{
|
|
get => Username;
|
|
set => Username = value;
|
|
}
|
|
}
|
|
|
|
[RethinkTable("Galaxy"), MessagePackObject, JsonObject(MemberSerialization.OptIn)]
|
|
public class Corporation : DatabaseEntry, INamedEntry
|
|
{
|
|
[JsonProperty("name"), Key(1)] public string Name;
|
|
|
|
[IgnoreMember] public string EntryName
|
|
{
|
|
get => Name;
|
|
set => Name = value;
|
|
}
|
|
} |