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
}
}