// AntennaRange |
// AntennaRange |
// |
// |
// IAntennaRelay.cs |
// IAntennaRelay.cs |
// |
// |
// Copyright © 2014, toadicus |
// Copyright © 2014, toadicus |
// All rights reserved. |
// All rights reserved. |
// |
// |
// Redistribution and use in source and binary forms, with or without modification, |
// Redistribution and use in source and binary forms, with or without modification, |
// are permitted provided that the following conditions are met: |
// are permitted provided that the following conditions are met: |
// |
// |
// 1. Redistributions of source code must retain the above copyright notice, |
// 1. Redistributions of source code must retain the above copyright notice, |
// this list of conditions and the following disclaimer. |
// this list of conditions and the following disclaimer. |
// |
// |
// 2. Redistributions in binary form must reproduce the above copyright notice, |
// 2. Redistributions in binary form must reproduce the above copyright notice, |
// this list of conditions and the following disclaimer in the documentation and/or other |
// this list of conditions and the following disclaimer in the documentation and/or other |
// materials provided with the distribution. |
// materials provided with the distribution. |
// |
// |
// 3. Neither the name of the copyright holder nor the names of its contributors may be used |
// 3. Neither the name of the copyright holder nor the names of its contributors may be used |
// to endorse or promote products derived from this software without specific prior written permission. |
// to endorse or promote products derived from this software without specific prior written permission. |
// |
// |
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, |
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, |
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
|
using KSP; |
using KSP; |
using System; |
using System; |
|
|
namespace AntennaRange |
namespace AntennaRange |
{ |
{ |
/* |
/* |
* Interface defining the basic functionality of AntennaRelay modules for AntennaRange. |
* Interface defining the basic functionality of AntennaRelay modules for AntennaRange. |
* */ |
* */ |
public interface IAntennaRelay |
public interface IAntennaRelay |
{ |
{ |
/// <summary> |
/// <summary> |
/// Gets the parent Vessel. |
/// Gets the parent Vessel. |
/// </summary> |
/// </summary> |
/// <value>The parent Vessel.</value> |
/// <value>The parent Vessel.</value> |
Vessel vessel { get; } |
Vessel vessel { get; } |
|
|
|
IAntennaRelay nearestRelay { get; } |
|
|
/// <summary> |
/// <summary> |
/// Gets the distance to the nearest relay or Kerbin, whichever is closer. |
/// Gets the distance to the nearest relay or Kerbin, whichever is closer. |
/// </summary> |
/// </summary> |
/// <value>The distance to the nearest relay or Kerbin, whichever is closer.</value> |
/// <value>The distance to the nearest relay or Kerbin, whichever is closer.</value> |
double transmitDistance { get; } |
double transmitDistance { get; } |
|
|
/// <summary> |
/// <summary> |
/// The maximum distance at which this relay can operate. |
/// The maximum distance at which this relay can operate. |
/// </summary> |
/// </summary> |
/// <value>The max transmit distance.</value> |
/// <value>The max transmit distance.</value> |
float maxTransmitDistance { get; } |
float maxTransmitDistance { get; } |
|
|
/// <summary> |
/// <summary> |
/// Gets a value indicating whether this <see cref="AntennaRange.ProtoDataTransmitter"/> has been checked during |
/// Gets a value indicating whether this <see cref="AntennaRange.ProtoDataTransmitter"/> has been checked during |
/// the current relay attempt. |
/// the current relay attempt. |
/// </summary> |
/// </summary> |
/// <value><c>true</c> if relay checked; otherwise, <c>false</c>.</value> |
/// <value><c>true</c> if relay checked; otherwise, <c>false</c>.</value> |
bool relayChecked { get; } |
bool relayChecked { get; } |
|
|
/// <summary> |
/// <summary> |
/// Determines whether this instance can transmit. |
/// Determines whether this instance can transmit. |
/// </summary> |
/// </summary> |
/// <returns><c>true</c> if this instance can transmit; otherwise, <c>false</c>.</returns> |
/// <returns><c>true</c> if this instance can transmit; otherwise, <c>false</c>.</returns> |
bool CanTransmit(); |
bool CanTransmit(); |
} |
} |
} |
} |
|
|
|
|