Example #1
0
        internal PlayerData(NativePlayerData other)
            : this()
        {
            this.Id        = other.id;
            this.Name      = other.name;
            this.Team      = other.team;
            this.Health    = other.health;
            this.IpAddress = other.ip_address;
            this.SteamID   = other.steam_id;

            this.IsBot  = other.is_bot;
            this.IsDead = other.is_dead;
        }
Example #2
0
        public override async Task <PlayerData[]> GetPlayers()
        {
            try
            {
                IntPtr ptrData = IntPtr.Zero;
                int    nbr     = 0;
                await this.m_fact.StartNew(() =>
                {
                    this.m_cb_GetPlayers(out ptrData, out nbr);
                });

                NativePlayerData[] data = new NativePlayerData[nbr];

                MarshalArray(ptrData, data);

                Marshal.FreeCoTaskMem(ptrData);
                return(data.Select(p => new PlayerData(p)).ToArray());;
            }
            catch (Exception ex)
            {
                return(null);
            }
        }