public override void Click(GameSession gameSession)
        {
            var player = gameSession.Player;

            player.SendCommand(BattleStationBuildingUiInitializationCommand.write(Id, Id, "Test",
                                                                                  new AsteroidProgressCommand(
                                                                                      Id,
                                                                                      (float)0.1,
                                                                                      (float)0.1,
                                                                                      "En iyi",
                                                                                      "Mevcut clan",
                                                                                      new EquippedModulesModule(equippedStationModule),
                                                                                      true),
                                                                                  new AvailableModulesCommand(inventoryStationModule),
                                                                                  1,
                                                                                  1,
                                                                                  1));
        }
Example #2
0
        public override void Click(GameSession gameSession)
        {
            var player = gameSession.Player;

            int secondsLeft = (int)(TimeSpan.FromMinutes(BuildTimeInMinutes).TotalSeconds - (DateTime.Now - buildTime).TotalSeconds);

            if (InBuildingState)
            {
                player.SendCommand(BattleStationBuildingStateCommand.write(Id, Id, Name, secondsLeft, 0, Clan.Name, new FactionModule((short)FactionId)));
            }
            else
            {
                if (player.Clan.Id == 0)
                {
                    player.SendCommand(BattleStationNoClanUiInitializationCommand.write(Id));
                }
                else
                {
                    var stationModuleModule = new List <StationModuleModule>();

                    if (EquippedStationModule.ContainsKey(player.Clan.Id))
                    {
                        foreach (var mm in EquippedStationModule[player.Clan.Id])
                        {
                            if (mm.Type == StationModuleModule.HULL || mm.Type == StationModuleModule.DEFLECTOR)
                            {
                                mm.CurrentHitPoints    = CurrentHitPoints;
                                mm.MaxHitPoints        = MaxHitPoints;
                                mm.CurrentShieldPoints = CurrentShieldPoints;
                                mm.MaxShieldPoints     = MaxShieldPoints;
                            }

                            stationModuleModule.Add(new StationModuleModule(Id, mm.ItemId, mm.SlotId, mm.Type, mm.CurrentHitPoints,
                                                                            mm.MaxHitPoints, mm.CurrentShieldPoints, mm.MaxShieldPoints, 16, QueryManager.GetUserPilotName(mm.OwnerId), 0, mm.InstallationSecondsLeft, 0, 0, 500));
                        }
                    }

                    var playerModules = new List <StationModuleModule>();

                    for (var i = 0; i < player.Storage.BattleStationModules.Count; i++)
                    {
                        if (!player.Storage.BattleStationModules[i].InUse)
                        {
                            playerModules.Add(new StationModuleModule(Id, player.Storage.BattleStationModules[i].Id, i, player.Storage.BattleStationModules[i].Type, 1, 1, 1, 1, 16, QueryManager.GetUserPilotName(player.Id), 0, 0, 0, 0, 500));
                        }
                    }

                    if (Clan.Id != 0 && player.Clan.Id == Clan.Id)
                    {
                        player.SendCommand(BattleStationManagementUiInitializationCommand.write(
                                               Id,
                                               Id,
                                               Name,
                                               Clan.Name,
                                               new FactionModule((short)FactionId),
                                               new BattleStationStatusCommand(Id, Id, Name, DeflectorActive, 0, DeflectorSecondsMax, 0, 0, 0, 0, 0, 0, 0, 0, new EquippedModulesModule(stationModuleModule)),
                                               new AvailableModulesCommand(playerModules),
                                               0,
                                               0,
                                               0,
                                               false));
                    }
                    else
                    {
                        var bestClan = EquippedStationModule.Values.Where(x => x.Where(y => y.Installed).ToList().Count() > 0).ToList().Count > 0 ? EquippedStationModule.OrderByDescending(x => x.Value.Count) : null;
                        player.SendCommand(BattleStationBuildingUiInitializationCommand.write(Id, Id, Name,
                                                                                              new AsteroidProgressCommand(
                                                                                                  Id,
                                                                                                  (float)(EquippedStationModule.ContainsKey(player.Clan.Id) ? EquippedStationModule[player.Clan.Id].Where(x => x.Installed).ToList().Count : 0) / 10,
                                                                                                  (float)(bestClan != null ? bestClan.FirstOrDefault().Value.Where(x => x.Installed).ToList().Count : 0) / 10,
                                                                                                  player.Clan.Name,
                                                                                                  bestClan != null ? GameManager.GetClan(bestClan.FirstOrDefault().Key)?.Name : "Leading clan's progress",
                                                                                                  new EquippedModulesModule(EquippedStationModule.ContainsKey(player.Clan.Id) ? stationModuleModule : new List <StationModuleModule>()),
                                                                                                  (EquippedStationModule.ContainsKey(player.Clan.Id) ? EquippedStationModule[player.Clan.Id].Where(x => x.Installed).ToList().Count : 0) == 10),
                                                                                              new AvailableModulesCommand(playerModules),
                                                                                              1,
                                                                                              60,
                                                                                              0));
                    }
                }
            }
        }