Corrected:
Code:
private List<Player> Playerlist()
{
List<Player> players = new List<Player>();
if (GamePlay.gpPlayer() != null)
players.Add(GamePlay.gpPlayer());
if (GamePlay.gpRemotePlayers() != null)
players.AddRange(GamePlay.gpRemotePlayers());
return players;
}
//example of side specific overflight trigger response, message indicator
public override void OnTrigger(int missionNumber, string shortName, bool active)
{
base.OnTrigger(missionNumber, shortName, active);
int Chkarmy;
/*===================de triggered mis=====================*/
if ("de1".Equals(shortName) && active)
{
ScreenMsg(-1, shortName + " trigger stage 1");// rem out once checks complete
Chkarmy = 1;
if (Playerlist().Exists(players => players.Army() == Chkarmy))
{
switch (de1S)
{
case 1:
ScreenMsg(-1, shortName + " trigger switch stage 2");// rem out once checks complete
de1M();//trigger for map load
break;
case 2:
ScreenMsg(-1, shortName + " trigger already in action");// rem out once checks complete
break;
}
}
}
}
The problem in your code
private void Playerlist()
voids doesn't have any value.
so i changed
private List<Player> Playerlist()
{
.
.
return players;
}
Now Playerlist() includes all players in the game.
so you can use
if (Playerlist().Exists(players => players.Army() == Chkarmy))