![]() |
|
#5
|
|||
|
|||
|
Quote:
the abstract class AMission contains: Code:
public abstract class AMission
{
// Methods
protected AMission();
public virtual void Init(ABattle battle, int missionNumber);
public virtual void Inited();
public virtual bool IsMissionListener(int missionNumber);
public virtual void OnActorCreated(int missionNumber, string shortName, AiActor actor);
public virtual void OnActorDamaged(int missionNumber, string shortName, AiActor actor, AiDamageInitiator initiator, NamedDamageTypes damageType);
public virtual void OnActorDead(int missionNumber, string shortName, AiActor actor, List<DamagerScore> damages);
public virtual void OnActorDestroyed(int missionNumber, string shortName, AiActor actor);
public virtual void OnActorTaskCompleted(int missionNumber, string shortName, AiActor actor);
public virtual void OnAiAirNewEnemy(AiAirEnemyElement element, int army);
public virtual void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft);
public virtual void OnAircraftCutLimb(int missionNumber, string shortName, AiAircraft aircraft, AiDamageInitiator initiator, LimbNames limbName);
public virtual void OnAircraftDamaged(int missionNumber, string shortName, AiAircraft aircraft, AiDamageInitiator initiator, NamedDamageTypes damageType);
public virtual void OnAircraftKilled(int missionNumber, string shortName, AiAircraft aircraft);
public virtual void OnAircraftLanded(int missionNumber, string shortName, AiAircraft aircraft);
public virtual void OnAircraftLimbDamaged(int missionNumber, string shortName, AiAircraft aircraft, AiLimbDamage limbDamage);
public virtual void OnAircraftTookOff(int missionNumber, string shortName, AiAircraft aircraft);
public virtual void OnAutopilotOff(AiActor actor, int placeIndex);
public virtual void OnAutopilotOn(AiActor actor, int placeIndex);
public virtual void OnBattleInit();
public virtual void OnBattleStarted();
public virtual void OnBattleStoped();
public virtual void OnCarter(AiActor actor, int placeIndex);
public virtual void OnMissionLoaded(int missionNumber);
public virtual void OnOrderMissionMenuSelected(Player player, int ID, int menuItemIndex);
public virtual void OnPersonHealth(AiPerson person, AiDamageInitiator initiator, float deltaHealth);
public virtual void OnPersonMoved(AiPerson person, AiActor fromCart, int fromPlaceIndex);
public virtual void OnPersonParachuteFailed(AiPerson person);
public virtual void OnPersonParachuteLanded(AiPerson person);
public virtual void OnPlaceEnter(Player player, AiActor actor, int placeIndex);
public virtual void OnPlaceLeave(Player player, AiActor actor, int placeIndex);
public virtual void OnPlayerArmy(Player player, int army);
public virtual void OnPlayerConnected(Player player);
public virtual void OnPlayerDisconnected(Player player, string diagnostic);
public virtual void OnSingleBattleSuccess(bool success);
public virtual void OnTickGame();
public virtual void OnTickReal();
public virtual void OnTrigger(int missionNumber, string shortName, bool active);
public virtual void Timeout(double sec, DoTimeout doTimeout);
// Properties
public ABattle Battle { get; private set; }
public IGamePlay GamePlay { get; }
public int MissionNumber { get; private set; }
public int MissionNumberListener { get; protected set; }
public ITime Time { get; }
}
AMission and in addition the GamePlay Object (from interface class IGamePlay) are the two important classes to get informations from the Game. IGamePlay: Code:
public interface IGamePlay
{
// Methods
AiActor gpActorByName(string actorName);
bool gpActorIsValid(AiActor actor);
AiAirGroup gpAiAirGroup(int ID, int army);
AiAirGroup[] gpAirGroups(int Army);
AiAirport[] gpAirports();
int[] gpArmies();
string gpArmyName(int army);
void gpAviPlay(string args);
bool gpBattleIsRun();
void gpBattleStop();
AiBirthPlace[] gpBirthPlaces();
ISectionFile gpConfigUserFile();
ISectionFile gpCreateSectionFile();
ISectionFile gpCreateSectionFile(string line, out string firstWord);
DifficultySetting gpDifficultyGet();
IRecalcPathParams gpFindPath(Point2d a, double ra, Point2d b, double rb, PathType type, int army);
int gpFrontArmy(double x, double y);
double gpFrontDistance(int army, double x, double y);
bool gpFrontExist();
AiAction gpGetAction(string name);
AiTrigger gpGetTrigger(string name);
AiGroundGroup[] gpGroundGroups(int Army);
void gpHUDLogCenter(string msg);
void gpHUDLogCenter(Player[] to, string msg);
void gpHUDLogCenter(Player[] to, string msg, object[] parms);
void gpHUDLogCenter(Player[] to, string msg, object[] parms, double lifeTime);
object[] gpInvoke(object[] args);
bool gpIsServerDedicated();
bool gpIsServerSingle();
bool gpIsValidAccess();
LandTypes gpLandType(double x, double y);
ISectionFile gpLoadSectionFile(string fileName);
void gpLogServer(Player[] to, string format, object[] args);
void gpLogServerArg(bool newArg, string format, object[] parms);
void gpLogServerBegin(Player[] to, string format);
void gpLogServerEnd();
AiAirGroup gpMakeAirGroup(AiAircraft[] items, AiAirWayPoint[] way);
int gpNextMissionNumber();
Player gpPlayer();
void gpPostMissionLoad(ISectionFile file);
void gpPostMissionLoad(string fileName);
Player[] gpRemotePlayers();
string gpSectorName(double x, double y);
void gpSetOrderMissionMenu(Player player, bool thisSubMenu, int ID, string[] keys, bool[] bSubMenu);
ITime gpTime();
}
|
|
|