private void GetByPlatformAccountId(HydraRequest request) { IHydraItem item = HydraItemDeserializer.Deserialize(request.PostData); HydraHashMap map = item as HydraHashMap; HydraUtf8String platformAccountIdString = map.Items["value"] as HydraUtf8String; ulong platformAccountId = ulong.Parse(platformAccountIdString.Value); HydraHashMap result = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "getUsersByProperty", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "result", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "items", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "item", new HydraUtf8String("1") } }) } }) } }) } }); HydraResponse response = new HydraResponse(Connection, result); response.Send(); }
/* * Parameters: * 0: channel id * 1: page number * 2: page size * 3: include non-published? 1 or 0 */ private void GetItemsByChannel(HydraRequest request) { int channelId = int.Parse(request.Parameters[0]); Channel channel = Channel.ChannelGetById(channelId); List <ChannelMessage> messages = ChannelMessage.GetMessagesForChannel(channel); HydraArray array = new HydraArray(); foreach (ChannelMessage message in messages) { HydraHashMap map = new HydraHashMap(); foreach (var str in message.Strings) { map.Items.Add(str.Key, new HydraUtf8String(str.Value)); } array.Items.Add(new HydraHashMap(new Dictionary <string, IHydraItem>() { { "input", map } })); } HydraResponse response = new HydraResponse(Connection, array); response.Send(); }
public Screenshot(Game game, HydraInt64 profileId, HydraHashMap metadata, HydraBinary imageData) { byte[] random = new byte[8]; using (var rng = System.Security.Cryptography.RandomNumberGenerator.Create()) { rng.GetBytes(random); } long newGuid = BitConverter.ToInt64(random, 0); Data = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "emu", new HydraBool(true) }, { "rating", new HydraInt32(0) }, { "tags", new HydraArray() }, { "url", new HydraUtf8String("") }, { "created_at", new HydraDateTime(DateTime.Now) }, { "rating_history", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "monthly", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "count", new HydraInt32(0) }, { "sum", new HydraInt32(0) }, { "average", new HydraInt32(0) }, }) }, { "daily", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "count", new HydraInt32(0) }, { "sum", new HydraInt32(0) }, { "average", new HydraInt32(0) }, }) }, { "weekly", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "count", new HydraInt32(0) }, { "sum", new HydraInt32(0) }, { "average", new HydraInt32(0) }, }) } }) }, { "meta_data", metadata }, { "guid", new HydraInt64(newGuid) }, { "owner_guid", new HydraInt64(1) }, { "size", new HydraInt32(imageData.Value.Length) } }); ImageData = imageData.Value; }
private static Character LoadCharacterFile(string characterFile) { using (Stream s = File.OpenRead(characterFile)) { HydraHashMap map = new HydraHashMap(); map.Deserialize(s); Character character = new Character(map); return(character); } }
private void Update(HydraRequest request) { List <IHydraItem> items = HydraItemDeserializer.DeserializeAll(request.PostData); HydraInt64 profileId = items[0] as HydraInt64; HydraHashMap map = items[1] as HydraHashMap; HydraResponse response = new HydraResponse(Connection, new HydraNone()); response.Send(); }
public Character(Game game, HydraInt64 profileId, HydraHashMap metadata, HydraBinary imageData) { metadata.Items["Avatar Version"] = new HydraUtf8String(((HydraInt32)metadata.Items["Avatar Version"]).Value.ToString()); Data = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "emu", new HydraBool(true) }, { "rating", new HydraInt32(0) }, { "tags", new HydraArray() }, { "url", new HydraUtf8String("") }, { "created_at", new HydraDateTime(DateTime.Now) }, { "rating_history", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "monthly", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "count", new HydraInt32(0) }, { "sum", new HydraInt32(0) }, { "average", new HydraInt32(0) }, }) }, { "daily", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "count", new HydraInt32(0) }, { "sum", new HydraInt32(0) }, { "average", new HydraInt32(0) }, }) }, { "weekly", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "count", new HydraInt32(0) }, { "sum", new HydraInt32(0) }, { "average", new HydraInt32(0) }, }) } }) }, { "queue_count", new HydraInt32(0) }, { "meta_data", metadata }, { "guid", GenerateGuid() }, { "owner_guid", new HydraInt64(1) }, { "size", new HydraInt32(imageData.Value.Length) } }); ImageData = imageData.Value; }
private void CloseFile() { if (CurrentStream != null) { CurrentStream.Close(); } CurrentFile = null; SaveMap = null; MetadataMap = null; SaveButton.Enabled = false; CurrentCharacterLabel.Text = String.Format("Current character:"); CharacterNameField.Enabled = false; CharacterNameField.Text = ""; }
private void DisplayUser(HydraRequest request) { IHydraItem item = HydraItemDeserializer.Deserialize(request.PostData); HydraHashMap map = item as HydraHashMap; HydraInt32 userId = map.Items["user_id"] as HydraInt32; HydraHashMap result = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "username", new HydraUtf8StringAsBinary("user") } }); HydraResponse response = new HydraResponse(Connection, result); response.Send(); }
private void GetByName(HydraRequest request) { IHydraItem item = HydraItemDeserializer.Deserialize(request.PostData); HydraHashMap map = item as HydraHashMap; HydraUtf8String username = map.Items["username"] as HydraUtf8String; int userId = 1; HydraInt32 result = new HydraInt32(userId); HydraResponse response = new HydraResponse(Connection, result); response.Send(); }
private void LoginWithAuthUserSession(HydraRequest request) { IHydraItem item = HydraItemDeserializer.Deserialize(request.PostData); HydraHashMap map = item as HydraHashMap; string username = (map.Items["username"] as HydraUtf8String).Value; string password = (map.Items["password"] as HydraUtf8String).Value; HydraHashMap result = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "auth_user_return", new HydraUtf8StringAsBinary("success") }, { "user_id", new HydraInt32(1) } }); HydraResponse response = new HydraResponse(Connection, result); response.Send(); }
/* * Parameters: * 0: Steam ID (this is a SteamID3 - it is the same as a Steamworks AccountID) */ private void GetByPlatformAccountId(HydraRequest request) { ulong steamId = ulong.Parse(request.Parameters[0]); HydraHashMap map = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "guid", new HydraInt64(1) }, { "vip_code", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "code", new HydraUtf8String("1234567890") }, { "accepted", new HydraBool(true) }, { "accepted_at", new HydraDateTime(DateTime.Now) } }) } }); HydraResponse response = new HydraResponse(Connection, map); response.Send(); }
private void OpenFile(string path) { if (CurrentStream != null) { CurrentStream.Close(); } CurrentFile = path; CurrentStream = File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None); SaveMap = new HydraHashMap(); SaveMap.Deserialize(CurrentStream); MetadataMap = (HydraHashMap)SaveMap.Items["meta_data"]; SaveButton.Enabled = true; CurrentCharacterLabel.Text = String.Format("Current character: {0}", Path.GetFileName(CurrentFile)); CharacterNameField.Enabled = true; CharacterNameField.Text = ((HydraUtf8String)MetadataMap.Items["Name"]).Value; }
private void Create(HydraRequest request) { IHydraItem item = HydraItemDeserializer.Deserialize(request.PostData); HydraHashMap map = item as HydraHashMap; string username = (map.Items["username"] as HydraUtf8String).Value; string password = (map.Items["password"] as HydraUtf8String).Value; string email = (map.Items["email"] as HydraUtf8String).Value; string firstname = (map.Items["firstname"] as HydraUtf8String).Value; // always contains "firstname" string lastname = (map.Items["lastname"] as HydraUtf8String).Value; // always contains "lastname" int birthDay = int.Parse((map.Items["birth_day"] as HydraUtf8String).Value); // always 0 int birthMonth = int.Parse((map.Items["birth_month"] as HydraUtf8String).Value); // always 0 int birthYear = int.Parse((map.Items["birth_year"] as HydraUtf8String).Value); // always 2000 int userId = 1; HydraInt32 result = new HydraInt32(userId); HydraResponse response = new HydraResponse(Connection, result); response.Send(); }
private void SetPlatformAccountId(HydraRequest request) { IHydraItem item = HydraItemDeserializer.Deserialize(request.PostData); HydraHashMap map = item as HydraHashMap; int userId = int.Parse((map.Items["userID"] as HydraUtf8String).Value); ulong accountId = ulong.Parse((map.Items["value"] as HydraUtf8String).Value); HydraHashMap result = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "setProperty", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "status", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "code", new HydraUtf8String("1") } } ) } }) } }); HydraResponse response = new HydraResponse(Connection, result); response.Send(); }
private void Create(HydraRequest request) { List <IHydraItem> items = HydraItemDeserializer.DeserializeAll(request.PostData); HydraInt64 profileId = items[0] as HydraInt64; HydraHashMap map = items[1] as HydraHashMap; HydraBinary imageBinary = items[2] as HydraBinary; Game game = Game.GetFromApiKey(request.ApiKey); string category = ((HydraUtf8String)map.Items["category"]).Value; if (category == "characters") { Character character = new Character(game, profileId, map, imageBinary); character.Save(); Console.WriteLine("Saved new character. ID {0}", character.ID); HydraResponse response = new HydraResponse(Connection, new HydraInt64(character.ID)); response.Send(); } else if (category == "screenshots") { Screenshot screenshot = new Screenshot(game, profileId, map, imageBinary); screenshot.Save(); Console.WriteLine("Saved new screenshot. ID {0}", screenshot.ID); HydraResponse response = new HydraResponse(Connection, new HydraInt64(screenshot.ID)); response.Send(); } else { throw new Exception("Unknown category? " + category); } }
private void ListSelectedForOwner(HydraRequest request) { int userId = int.Parse(request.Parameters[0]); int pageNo = int.Parse(request.Parameters[1]); int maxItems = int.Parse(request.Parameters[2]); string itemType = request.Parameters[3]; var characters = Character.GetCharacters(pageNo, maxItems); Console.WriteLine("Sending characters to game (max {0}):", maxItems); HydraArray array = new HydraArray(); foreach (Character character in characters) { Console.WriteLine("{0} - {1}", character.ID, character.Name); HydraHashMap map = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "meta_data", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "Name", new HydraUtf8String(character.Name) }, { "Avatar", new HydraBinary(character.AvatarData) }, { "Avatar Version", new HydraInt32(character.AvatarVersion) } } ) } }); array.Items.Add(map); } Console.WriteLine(); HydraResponse response = new HydraResponse(Connection, array); response.Send(); }
public Screenshot(HydraHashMap map) { Data = map; }
public Character(HydraHashMap map) { Data = map; }