Exemplo n.º 1
0
        public frmTribeLog(ArkPlayer player)
        {
            InitializeComponent();

            lblPlayerName.Text          = player.CharacterName;
            lblPlayerLevel.Text         = player.CharacterLevel.ToString();
            lblPlayerLevelLabel.Visible = true;

            lblTribeName.Text     = player.Tribe != null ? player.Tribe.Name : "";
            picPlayerGender.Image = player.Gender == ArkPlayerGender.Male ? ARKViewer.Properties.Resources.marker_28 : ARKViewer.Properties.Resources.marker_29;

            lvwLog.Items.Clear();
            if (player.Tribe != null && player.Tribe.Logs.Count() > 0)
            {
                LoadLog(player.Tribe.Logs);
            }
        }
Exemplo n.º 2
0
        public frmPlayerInventoryViewer(ArkGameData gameData, List <ItemClassMap> availableItemList, ArkPlayer selectedPlayer)
        {
            InitializeComponent();

            currentPlayer         = selectedPlayer;
            lblPlayerName.Text    = selectedPlayer.CharacterName;
            lblPlayerLevel.Text   = selectedPlayer.CharacterLevel.ToString();
            lblTribeName.Text     = selectedPlayer.Tribe != null ? selectedPlayer.Tribe.Name : "";
            picPlayerGender.Image = selectedPlayer.Gender == ArkPlayerGender.Male ? ARKViewer.Properties.Resources.marker_28 : ARKViewer.Properties.Resources.marker_29;

            lblPlayerId.Text = $"Player Id: {selectedPlayer.Id.ToString()}";

            //inventory images
            itemMapList = availableItemList;
            imageList1.Images.Clear();
            int x = 1;

            while (true)
            {
                Image itemImage = (Image)ARKViewer.Properties.Resources.ResourceManager.GetObject($"item_{x}");
                if (itemImage == null)
                {
                    break;
                }

                imageList1.Images.Add(itemImage);
                x++;
            }

            PopulateMissionScores();

            PopulatePersonalInventory();


            List <ArkTamedCreature> tribeTameList = new List <ArkTamedCreature>();

            if (selectedPlayer.Tribe != null)
            {
                foreach (var player in selectedPlayer.Tribe.Members)
                {
                    var playerTames = gameData.TamedCreatures.Where(s => s.OwningPlayerId == player.Id || s.ImprinterPlayerDataId == player.Id || s.TargetingTeam == player.TribeId).Distinct();
                    if (playerTames != null && playerTames.Count() > 0)
                    {
                        tribeTameList.AddRange(playerTames);
                    }
                }
            }
            else
            {
                //going solo
                var playerTames = gameData.TamedCreatures.Where(s => s.OwningPlayerId == selectedPlayer.Id || s.ImprinterPlayerDataId == selectedPlayer.Id).Distinct();
                if (playerTames != null && playerTames.Count() > 0)
                {
                    tribeTameList.AddRange(playerTames);
                }
            }

            tamedCreatureList = tribeTameList.Distinct().ToList();

            //get a list of tamed dinos

            //get list of tamed dino types
            cboCreatureType.Items.Clear();
            cboCreatureType.Items.Add(new ComboValuePair("", "[All]"));
            if (tamedCreatureList != null && tamedCreatureList.Count > 0)
            {
                var tamedCreatureTypes = tamedCreatureList.GroupBy(t => t.ClassName)
                                         .Select(g => new ComboValuePair()
                {
                    Key = g.Key, Value = (ARKViewer.Program.ProgramConfig.DinoMap.FirstOrDefault(d => d.ClassName == g.Key) == null?g.Key: ARKViewer.Program.ProgramConfig.DinoMap.First(d => d.ClassName == g.Key).FriendlyName)
                })
                                         .OrderBy(o => o.Value);

                cboCreatureType.Items.AddRange(tamedCreatureTypes.ToArray());
            }
            cboCreatureType.SelectedIndex = 0;


            //get list of inventory containers
            tribeStructureList = new List <ArkStructure>();
            List <ArkItem> tribeStructures = new List <ArkItem>();

            if (selectedPlayer.Tribe != null)
            {
                foreach (var player in selectedPlayer.Tribe.Members)
                {
                    var playerStructures = gameData.Structures.Where(s => s.Inventory != null && s.Inventory.Count() > 0 && (s.OwningPlayerId == player.Id || s.TargetingTeam == player.TribeId));
                    if (playerStructures != null && playerStructures.Count() > 0)
                    {
                        tribeStructureList.AddRange(playerStructures);
                    }
                }
            }
            else
            {
                //going solo
                if (selectedPlayer.Inventory != null && selectedPlayer.Inventory.Count() > 0)
                {
                    var playerStructures = gameData.Structures.Where(s => s.Inventory != null && s.Inventory.Count() > 0 && (s.OwningPlayerId == selectedPlayer.Id));
                    if (playerStructures != null && playerStructures.Count() > 0)
                    {
                        foreach (var structureInv in playerStructures)
                        {
                            tribeStructureList.AddRange(playerStructures);
                        }
                    }
                }
            }


            var containerTypes = tribeStructureList.GroupBy(s => s.ClassName)
                                 .Select(g => new ComboValuePair()
            {
                Key = g.Key, Value = (ARKViewer.Program.ProgramConfig.StructureMap.FirstOrDefault(d => d.ClassName == g.Key) == null ? g.Key: ARKViewer.Program.ProgramConfig.StructureMap.First(d => d.ClassName == g.Key).FriendlyName)
            })
                                 .OrderBy(o => o.Value);

            cboStorageType.Items.Clear();
            cboStorageType.Items.Add(new ComboValuePair("", "[All]"));
            cboStorageType.Items.AddRange(containerTypes.ToArray());
            cboStorageType.SelectedIndex = 0;
        }
Exemplo n.º 3
0
        internal static PlayerServerViewModel BuildViewModelForPlayer(
            ArkServerContext context,
            IConfig config,
            ArkPlayer player,
            DemoMode demoMode,
            bool incProfile,
            bool incProfileDetailed,
            bool incCreatures,
            bool incCreaturesBaseStats,
            bool incCreaturesCloud,
            bool incCrops,
            bool incGenerators,
            bool incKibblesEggs,
            bool incTribeLog)
        {
            var tribe = player.Tribe;
            var vm    = new PlayerServerViewModel
            {
                ClusterKey    = context.Config.Key,
                SteamId       = player.SteamId,
                FakeSteamId   = demoMode?.GetSteamId(player.SteamId),
                CharacterName = demoMode?.GetPlayerName(player.Id) ?? player.CharacterName,
                TribeId       = player.TribeId,
                TribeName     = tribe != null?demoMode?.GetTribeName(tribe.Id) ?? tribe?.Name : null,
                SavedAt       = player.SavedAt
            };

            if (incProfileDetailed)
            {
                vm.Latitude  = player.Location?.Latitude;
                vm.Longitude = player.Location?.Longitude;
                vm.TopoMapX  = player.Location?.TopoMapX;
                vm.TopoMapY  = player.Location?.TopoMapY;

                if (!player.IsExternalPlayer)
                {
                    vm.Gender       = player.Gender.ToString();
                    vm.Level        = player.CharacterLevel;
                    vm.EngramPoints = player.TotalEngramPoints;
                }
            }

            if (incCreatures)
            {
                vm.Creatures.AddRange(BuildCreatureViewModelsForPlayerId(context, config, player.Id, demoMode, incCreaturesBaseStats));
            }
            if (incKibblesEggs)
            {
                vm.KibblesAndEggs = BuildKibblesAndEggsViewModelsForPlayerId(context, player.Id);
            }
            if (incCrops)
            {
                vm.CropPlots = BuildCropPlotViewModelsForPlayerId(context, player.Id);
            }
            if (incGenerators)
            {
                vm.Generators = BuildGeneratorViewModelsForPlayerId(context, player.Id);
            }
            if (incTribeLog)
            {
                vm.TribeLog = BuildTribeLogViewModelsForPlayerId(context, player.Id, config.WebApp.TribeLogLimit, config.WebApp.TribeLogColors);
            }

            return(vm);
        }
Exemplo n.º 4
0
        internal static PlayerServerViewModel BuildViewModelForPlayer(ArkServerContext context, ArkPlayer player)
        {
            var vm = new PlayerServerViewModel
            {
                ClusterKey    = context.Config.Key,
                SteamId       = player.SteamId,
                CharacterName = player.CharacterName,
                Gender        = player.Gender.ToString(),
                Level         = player.CharacterLevel,
                Latitude      = player.Location?.Latitude,
                Longitude     = player.Location?.Longitude,
                TopoMapX      = player.Location?.TopoMapX,
                TopoMapY      = player.Location?.TopoMapY,
                EngramPoints  = player.TotalEngramPoints,
                TribeId       = player.TribeId,
                TribeName     = player.TribeId.HasValue ? context.Tribes.FirstOrDefault(x => x.Id == player.TribeId.Value)?.Name : null,
                SavedAt       = player.SavedAt
            };

            vm.Creatures.AddRange(BuildCreatureViewModelsForPlayerId(context, player.Id));

            return(vm);
        }