76 lines
2.1 KiB
C#
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
|
|
}
|
|
} |