ArkData.Parser.ParsePlayer C# (CSharp) Метод

ParsePlayer() публичный статический Метод

public static ParsePlayer ( string fileName ) : ArkData.Player
fileName string
Результат ArkData.Player
        public static Player ParsePlayer(string fileName)
        {
            FileInfo fileInfo = new FileInfo(fileName);
            if (!fileInfo.Exists)
                return null;
            byte[] data = File.ReadAllBytes(fileName);

            return new Player()
            {
                Id = Convert.ToInt64(GetId(data)),
                SteamId = GetSteamId(data),
                SteamName = Helpers.GetString(data, "PlayerName"),
                CharacterName = Helpers.GetString(data, "PlayerCharacterName"),
                TribeId = Helpers.GetInt(data, "TribeID"),
                Level = (short)(1 + Convert.ToInt32(Helpers.GetUInt16(data, "CharacterStatusComponent_ExtraCharacterLevel"))),

                FileCreated = fileInfo.CreationTime,
                FileUpdated = fileInfo.LastWriteTime
            };
        }

Usage Example

Пример #1
0
        /// <summary>
        /// Instantiates the ArkDataContainer and parses all the user data files
        /// </summary>
        /// <param name="directory">The directory containing the profile and tribe files.</param>
        public static ArkDataContainer Create(string directory)
        {
            if (!Directory.Exists(directory))
            {
                throw new DirectoryNotFoundException("The ARK data directory couldn't be found.");
            }

            var playerFiles = Directory.GetFiles(directory).Where(p => Path.GetExtension(p).Equals(".arkprofile")).ToArray();
            var tribeFiles  = Directory.GetFiles(directory).Where(p => Path.GetExtension(p).Equals(".arktribe")).ToArray();

            if (playerFiles.Length == 0 && tribeFiles.Length == 0)
            {
                throw new FileLoadException("The directory did not contain any of the parseable files.");
            }

            var container = new ArkDataContainer();

            for (var i = 0; i < playerFiles.Length; i++)
            {
                container.Players.Add(Parser.ParsePlayer(playerFiles[i]));
            }

            for (var i = 0; i < tribeFiles.Length; i++)
            {
                container.Tribes.Add(Parser.ParseTribe(tribeFiles[i]));
            }

            container.LinkPlayerTribe();

            return(container);
        }
All Usage Examples Of ArkData.Parser::ParsePlayer