Пример #1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            var button   = FindViewById <Button>(Resource.Id.MyButton);
            var textView = FindViewById <TextView>(Resource.Id.textView1);

            button.Click += delegate
            {
                const string gameId          = "GAMEID";
                const string privateKey      = "PRIVATEKEY";
                var          servicesManager = new ServicesManager(gameId, privateKey);

                const string username  = "******";
                const string userToken = "USERTOKEN";
                button.Enabled = false;

                textView.Text = string.Empty;
                var user = servicesManager.LogInUser(username, userToken);
                if (user == null)
                {
                    textView.Text += ("Failed to authenticate " + username) + "\n";
                }
                else
                {
                    var newsService = new NewsService(servicesManager);
                    var newsItems   = newsService.GetNews();
                    if (newsItems.Length == 0)
                    {
                        textView.Text += ("No news items.") + "\n";
                    }
                    else
                    {
                        textView.Text += ("News: ") + "\n";
                        foreach (var newsItem in newsItems)
                        {
                            textView.Text += (string.Format("{0} - {1}\n{2}\n", newsItem.DateTimePosted.ToShortDateString(), newsItem.Title, newsItem.Content)) + "\n";
                        }
                    }

                    var gameSaveService = new GameSaveService(Helper.GetDefaultCacheFolder("GJS Test Bed"), servicesManager);
                    var saves           = gameSaveService.GetSaves(user);
                    if (saves.Length == 0)
                    {
                        textView.Text += ("No game saves.") + "\n";
                    }
                    else
                    {
                        foreach (var save in saves)
                        {
                            if (!save.IsCached)
                            {
                                gameSaveService.DownloadSave(save);
                            }

                            textView.Text += string.Format("{0} - {1} - {2}", save.Location, save.Name, save.DateSaved) + "\n";
                            using (var stream = save.GetDataStream())
                            {
                                using (var reader = new BinaryReader(stream))
                                {
                                    textView.Text += (reader.ReadString()) + "\n";
                                    textView.Text += (reader.ReadString()) + "\n";
                                    textView.Text += (reader.ReadString()) + "\n";
                                    textView.Text += (reader.ReadString()) + "\n";
                                }
                            }
                        }
                    }
                }
            };
        }
Пример #2
0
        private static void Main(string[] args)
        {
            const string gameId     = "YOURGAMEID";
            const string privateKey = "YOURGAMEKEY";

            if (string.Compare(gameId, "YOURGAMEID", StringComparison.OrdinalIgnoreCase) == 0)
            {
                throw new InvalidOperationException("You have to set your game id first.");
            }
            if (string.Compare(privateKey, "YOURGAMEKEY", StringComparison.OrdinalIgnoreCase) == 0)
            {
                throw new InvalidOperationException("You have to set your private key first.");
            }

            var servicesManager = new ServicesManager(gameId, privateKey);
            var gameSaveService = new GameSaveService(ServicesManager.GetDefaultCacheFolder("GJS Test Bed"), servicesManager);

            Console.Write("Username: "******"Token: ");
            var userToken = Console.ReadLine();

            var user = servicesManager.LogInUser(username, userToken);

            if (user == null)
            {
                Console.WriteLine("Failed to authenticate " + username);
            }
            else
            {
                WriteUser(user);

                var newSave = new GameSave
                {
                    Location  = "YMMGSave1",
                    Name      = "Donny 2",
                    DateSaved = DateTime.Now,
                    Username  = user.Username,
                    UserToken = user.UserToken
                };

                using (var stream = new MemoryStream())
                {
                    using (var writer = new BinaryWriter(stream))
                    {
                        writer.Write("Tungala City Square");
                        writer.Write("Donny");
                        writer.Write(new TimeSpan(6, 11, 15).Ticks);

                        newSave.DescriptionData = Convert.ToBase64String(stream.ToArray());
                    }
                }

                using (var stream = new MemoryStream())
                {
                    using (var writer = new BinaryWriter(stream))
                    {
                        writer.Write("tungala_02");
                        writer.Write("Donny");
                        writer.Write("Warrior");
                        writer.Write("97");

                        // other data here

                        newSave.SaveData = Convert.ToBase64String(stream.ToArray());
                    }
                }

                var uploadResult = gameSaveService.UploadSave(newSave);

                var newsService = new NewsService(servicesManager);
                var newsItems   = newsService.GetNews();
                if (newsItems.Length == 0)
                {
                    Console.WriteLine("No news items.");
                }
                else
                {
                    Console.WriteLine("News: ");
                    foreach (var newsItem in newsItems)
                    {
                        Console.WriteLine($"{newsItem.DateTimePosted.ToShortDateString()} - {newsItem.Title}\n{newsItem.Content}\n");
                    }
                }

                var saves = gameSaveService.GetSaves(user);
                if (saves.Length == 0)
                {
                    Console.WriteLine("No game saves.");
                }
                else
                {
                    foreach (var save in saves)
                    {
                        if (!save.IsCached)
                        {
                            gameSaveService.DownloadSave(save);
                        }

                        Console.WriteLine("{0} - {1} - {2}", save.Location, save.Name, save.DateSaved);
                        using (var stream = save.GetDataStream())
                        {
                            using (var reader = new BinaryReader(stream))
                            {
                                Console.WriteLine(reader.ReadString());
                                Console.WriteLine(reader.ReadString());
                                Console.WriteLine(reader.ReadString());
                                Console.WriteLine(reader.ReadString());
                            }
                        }
                    }
                }
            }

            Console.ReadKey(true);
        }