using System; using System.Collections.Generic; using System.Linq; using System.Text; using VRageMath; using Sandbox.ModAPI; using VRage.ModAPI; namespace Sandbox.ModAPI.Ingame { public interface IMyLargeTurretBase : IMyUserControllableGun { /// /// Indicates whether a block is locally or remotely controlled. /// bool IsUnderControl { get; } bool CanControl { get; } float Range { get; } /// /// Tracks entity with enabled position prediction /// /// void TrackTarget(IMyEntity entity); /// /// Tracks given target with enabled position prediction /// /// /// void TrackTarget(Vector3D pos, Vector3 velocity); /// /// Tracks target without position prediction /// /// void SetTarget(IMyEntity Entity); /// /// Targets given position /// /// void SetTarget(Vector3D pos); /// /// Sets/gets elevation of turret, this method is not synced, you need to sync elevation manually /// float Elevation { get; set; } /// /// method used to sync elevation of turret , you need to call it to sync elevation for other clients/server /// void SyncElevation(); /// /// Sets/gets azimuth of turret, this method is not synced, you need to sync azimuth manually /// float Azimuth { get; set; } /// /// method used to sync azimuth, you need to call it to sync azimuth for other clients/server /// void SyncAzimuth(); /// /// enable/disable idle rotation for turret, this method is not synced, you need to sync manually /// bool EnableIdleRotation { get; set; } /// /// method used to sync idle rotation and elevation, you need to call it to sync rotation and elevation for other clients/server /// void SyncEnableIdleRotation(); /// /// Checks is AI is enabled for turret /// bool AIEnabled { get; } /// /// resert targeting to default values /// void ResetTargetingToDefault(); } }