rabidus-test/Assets/SCSM/SciFiShipController/Scripts/Misc/DisplayReticle.cs

76 lines
2.1 KiB
C#

using UnityEngine;
// Sci-Fi Ship Controller. Copyright (c) 2018-2023 SCSM Pty Ltd. All rights reserved.
namespace SciFiShipController
{
/// <summary>
/// Class containing data for a Ship Display's recticle.
/// This is the aiming device in the heads-up display
/// </summary>
[System.Serializable]
public class DisplayReticle
{
#region Public variables
// IMPORTANT - when changing this section also update SetClassDefault()
// Also update ClassName(ClassName className) Clone Constructor (if there is one)
/// <summary>
/// The sprite (texture) that will be displayed in the HUD
/// </summary>
public Sprite primarySprite;
/// <summary>
/// Whether the reticle is shown as expanded in the inspector window of the editor.
/// </summary>
public bool showInEditor;
/// <summary>
/// Hashed GUID code to uniquely identify a reticle.
/// [INTERNAL USE ONLY]
/// </summary>
public int guidHash;
#endregion
#region Private variables
#endregion
#region Constructors
public DisplayReticle()
{
SetClassDefaults();
}
/// <summary>
/// DisplayReticle copy constructor
/// </summary>
/// <param name="displayReticle"></param>
public DisplayReticle(DisplayReticle displayReticle)
{
if (displayReticle == null) { SetClassDefaults(); }
else
{
primarySprite = displayReticle.primarySprite;
showInEditor = displayReticle.showInEditor;
guidHash = displayReticle.guidHash;
}
}
#endregion
#region Public Member Methods
/// <summary>
/// Set the defaults values for this class
/// </summary>
public void SetClassDefaults()
{
primarySprite = null;
showInEditor = false;
guidHash = SSCMath.GetHashCodeFromGuid();
}
#endregion
}
}