private List <long> GetPlayerInformationOrder() { Cyclades.Game.Phase phase = Library.GetPhase(main.instance.context); if (phase == Phase.AuctionPhase) { return(main.instance.context.GetList <long>("/auction/start_order")); } else if (phase == Phase.TurnPhase) { List <long> res = new List <long>(); res.Add(main.instance.context.Get <long>("/turn/current_player")); res.AddRange(main.instance.context.GetList <long>("/turn/player_order")); res.AddRange(main.instance.context.GetList <long>("/auction/player_order")); return(res); } else { return(null); } }
private List <Color> GetPlayerGodsInformationOrder(long players_number) { Cyclades.Game.Phase phase = Library.GetPhase(main.instance.context); if (phase == Phase.AuctionPhase) { List <Color> res = new List <Color>(); for (int i = 0; i < players_number; ++i) //набиваем результат черным цветом - знаком того, что это аукционный игрок { res.Add(colorNoneGod); } return(res); } else if (phase == Phase.TurnPhase) { if (main.instance.context.Get <long>("/turn/current_player") == -1) { return(null); } List <Color> res = new List <Color>(); res.Add(GetGodColorForPlayer(main.instance.context.Get <long>("/turn/current_player"))); List <long> players_order = main.instance.context.GetList <long>("/turn/player_order"); foreach (long pl in players_order) { res.Add(GetGodColorForPlayer(pl)); } for (int i = res.Count; i < players_number; ++i) //остаток набиваем результат черным цветом - знаком того, что это аукционный игрок { res.Add(colorNoneGod); } return(res); } else { return(null); } }