using System.Collections; using System.Collections.Generic; using UnityEngine; // Sci-Fi Ship Controller. Copyright (c) 2018-2023 SCSM Pty Ltd. All rights reserved. namespace SciFiShipController { public class AIStateMethodParameters { #region Public Variables /// /// The list of AI behaviour inputs. /// public List aiBehaviourInputsList; /// /// The Ship Control Module instance of this AI ship. The ship instance can be obtained using shipControlModule.shipInstance. /// public ShipControlModule shipControlModule; /// /// The Ship AI Input Module instance of this AI ship. /// public ShipAIInputModule shipAIInputModule; /// /// The target position vector of this AI ship. /// public Vector3 targetPosition; /// /// The target rotation of this AI ship. /// public Quaternion targetRotation; /// /// The target location of this AI ship. /// public LocationData targetLocation; /// /// The target path of this AI ship. /// public PathData targetPath; /// /// The target ship of this AI ship. /// public Ship targetShip; /// /// The list of ships to evade for this AI ship. /// public List shipsToEvade; /// /// The list of surface turrets to evade for this AI ship. /// public List surfaceTurretsToEvade; /// /// The target radius of this AI ship. /// public float targetRadius; /// /// The target distance of this AI ship. /// public float targetDistance; /// /// The target angular distance of this AI ship. /// public float targetAngularDistance; /// /// The target velocity of this AI ship. /// public Vector3 targetVelocity; /// /// The target time of this AI ship. /// public float targetTime; #endregion #region Constructors // Constructor public AIStateMethodParameters (List behaviourInputsList, ShipControlModule shipControlModuleInstance, ShipAIInputModule shipAIInputModuleInstance) { this.aiBehaviourInputsList = behaviourInputsList; this.shipControlModule = shipControlModuleInstance; this.shipAIInputModule = shipAIInputModuleInstance; this.targetPosition = Vector3.zero; this.targetRotation = Quaternion.identity; this.targetLocation = null; this.targetPath = null; this.targetShip = null; this.shipsToEvade = null; this.surfaceTurretsToEvade = null; this.targetRadius = 0f; this.targetDistance = 0f; this.targetAngularDistance = 0f; this.targetVelocity = Vector3.zero; this.targetTime = 0f; } #endregion } }