using NewHorizons.Utility;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NewHorizons.External.Props
{
[JsonObject]
public class BrambleNodeInfo : GeneralPropInfo
{
///
/// The physical scale of the node, as a multiplier of the original size.
/// Nodes are 150m across, seeds are 10m across.
///
[DefaultValue(1f)] public float scale = 1f;
///
/// The name of the planet that hosts the dimension this node links to
///
public string linksTo;
///
/// The name of this node. Only required if this node should serve as an exit.
///
public string name;
///
/// Set this to true to make this node a seed instead of a node the player can enter
///
[DefaultValue(false)] public bool isSeed = false;
///
/// The color of the fog inside the node.
/// Leave blank for the default yellowish white color: (255, 245, 217, 255)
///
public MColor fogTint;
///
/// The color of the light from the node. Alpha controls brightness.
/// Leave blank for the default white color.
///
public MColor lightTint;
///
/// Should this node have a point of light from afar?
/// By default, nodes will have a foglight, while seeds won't, and neither will if not in a dimension.
///
public bool? hasFogLight;
///
/// An array of integers from 0-5. By default, all exits are allowed. To force this node to warp players out from only one hole set this value to [3], [5], or similar. Values of 0-5 only.
///
public int[] possibleExits;
///
/// If your game hard crashes upon entering bramble, it's most likely because you have indirectly recursive dimensions, i.e. one leads to another that leads back to the first one.
/// Set this to true for one of the nodes in the recursion to fix this, at the cost of it no longer showing markers for the scout, ship, etc.
///
[DefaultValue(false)] public bool preventRecursionCrash = false;
#region Obsolete
[Obsolete("farFogTint is deprecated, please use fogTint instead")]
public MColor farFogTint;
#endregion Obsolete
}
}