using Newtonsoft.Json; using System.ComponentModel; namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class PriorityVolumeInfo : VolumeInfo { /// /// The layer of this volume. /// /// Layers separate the priority system. The priority of volumes in one layer will not affect or override volumes in another. The highest priority volume in each layer will stack like normal. /// The exception is layer 0. Layer 0 effectively bypasses the layer system. A higher-priority volume in layer 0 will override lower-priority volumes in ALL other layers. A lower-priority volume in layer 0 will stack with other layers like normal. /// /// Default value here is 0 because in most cases people don't want to think about layers and only care about priority. /// [DefaultValue(0)] public int layer = 0; /// /// The priority of this volume. /// /// Volumes of higher priority will override volumes of lower priority. Volumes of the same priority will stack like normal. /// Ex: A player in a gravity volume with priority 0, and zero-gravity volume with priority 1, will feel zero gravity. /// /// Default value here is 1 instead of 0 so it automatically overrides planet gravity, which is 0 by default. /// [DefaultValue(1)] public int priority = 1; } }