Added the ability to associate simple commodities with resource maps Added resource placement to zone generator Added crafting blueprints and stat addressing system Refactored Thrusters and Shields into Behaviors Fixed server losing database connection Updated icons
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(Station)),
|
|
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;
|
|
}
|
|
} |