示例#1
0
        public BodyStatus(AccountModel account, Boolean typeStation)
        {
            #region controls Declaration

            #endregion
            //Adding something to the collection otherwise the listview doesn't like to display
            var b = new BodyStatusModel();
            b.Name = "loading bodies";
            bodyList.Add(b);

            bodies.ItemsSource     = bodyList;
            bodies.ItemTemplate    = new DataTemplate(typeof(ViewCells.PlanetStatusViewCell));
            bodies.BackgroundColor = Color.FromRgb(0, 0, 128);


            var mainLayout = new StackLayout
            {
                BackgroundColor = Color.FromRgb(0, 0, 128),
                Children        =
                {
                    bodies,
                    notifyAllianceOfStations
                }
            };

            Content = mainLayout;
            if (Device.OS == TargetPlatform.iOS)
            {
                mainLayout.Padding = new Thickness(0, 20, 0, 0);
            }

            this.Appearing += async(sender, e) =>
            {
                await LoadPage(typeStation);
            };

            notifyAllianceOfStations.IsVisible = false;
            notifyAllianceOfStations.Clicked  += async(sender, e) => {
                var bodyString = "The following stations have warning indicators: ";
                foreach (var station in warningStations)
                {
                    bodyString += station + ", \n";
                }
                var json     = Inbox.SendMessage(1, account.SessionID, "@ally", "Stations in trouble", bodyString);
                var server   = new Data.Server();
                var response = await server.GetHttpResultStringAsyncAsString(account.Server, Inbox.url, json);

                var s = response;
            };
            bodies.ItemTapped += async(sender, e) =>
            {
                await Navigation.PushModalAsync(new BodyStatusDetail((bodies.SelectedItem as BodyStatusModel).response,
                                                                     (bodies.SelectedItem as BodyStatusModel).Name));

                bodies.SelectedItem = null;
            };
        }
		public BodyStatus(AccountModel account, Boolean typeStation)
		{
            #region controls Declaration

            #endregion
            //Adding something to the collection otherwise the listview doesn't like to display
            var b = new BodyStatusModel();
			b.Name = "loading bodies";
			bodyList.Add(b);

			bodies.ItemsSource = bodyList;
			bodies.ItemTemplate = new DataTemplate(typeof(ViewCells.PlanetStatusViewCell));
			bodies.BackgroundColor = Color.FromRgb (0, 0, 128);


			var mainLayout = new StackLayout
            {
				BackgroundColor = Color.FromRgb (0, 0, 128),
				Children = {
					bodies, 
                    notifyAllianceOfStations
				}
			};

			Content = mainLayout;
			if (Device.OS == TargetPlatform.iOS)
			{
				mainLayout.Padding = new Thickness (0, 20, 0, 0);
			}

			this.Appearing += async (sender, e) =>
			{
				await LoadPage(typeStation);
				
			};

            notifyAllianceOfStations.IsVisible = false;
            notifyAllianceOfStations.Clicked += async (sender, e) =>{
                var bodyString = "The following stations have warning indicators: ";
                foreach (var station in warningStations)
                    bodyString += station + ", \n";
                var json = Inbox.SendMessage(1, account.SessionID, "@ally", "Stations in trouble", bodyString);
                var server = new Data.Server();
                var response = await server.GetHttpResultStringAsyncAsString(account.Server, Inbox.url, json);
                var s = response;
            };
			bodies.ItemTapped += async (sender, e) =>
			{
				await Navigation.PushModalAsync(new BodyStatusDetail((bodies.SelectedItem as BodyStatusModel).response,
					(bodies.SelectedItem as BodyStatusModel).Name));
				bodies.SelectedItem = null;
			};
		}
示例#3
0
        public SpiesMain(AccountModel account, string selectedPlanet)
        {
            buttonScroll.Content = buttonHolder;
            buttonHolder.Children.Add(trainSpiesBtn);
            buttonHolder.Children.Add(runSweepsBtn);
            buttonHolder.Children.Add(viewSpiesBtn);
            buttonHolder.Children.Add(executePrisonersBtn);
            buttonHolder.Children.Add(removeSpiesFromPolicalPropaganda);
            buttonHolder.Children.Add(sendSpies);
            this.account = account;
            var mainLayout = new StackLayout
            {
                //BackgroundColor = Color.FromRgb (0, 0, 128),
                Style    = (Style)Styles.Styles.StyleDictionary[Styles.Styles.StyleName.MainLayout.ToString()],
                Children =
                {
                    planetNameLabel,
                    totalSpies,
                    spiesOnCounter,
                    spiesOnIntelTraining,
                    spiesOnPoliticsTraining,
                    spiesOnMayhemTraining,
                    spiesOnTheftTraining,
                    spiesOnPropaganda,
                    spiesIdle,
                    foreignSpies,
                    prisoners,
                    buttonScroll
                }
            };

            Content = mainLayout;
            if (Device.OS == TargetPlatform.iOS)
            {
                mainLayout.Padding = new Thickness(0, 20, 0, 0);
            }

            this.Appearing += async(sender, e) =>
            {
                if (!AccountManager.CaptchaStillValid(account))
                {
                    await Navigation.PushModalAsync(new CaptchaPage.CaptchaPage(account));
                }
                planetName = selectedPlanet;
                planetID   = (from b in account.Colonies
                              where b.Value.Equals(selectedPlanet)
                              select b.Key).First();
                planetNameLabel.Text      = selectedPlanet + " " + planetID;
                planetNameLabel.TextColor = Color.White;
                LoadSpyInfo(planetID);
            };
            sendSpies.Clicked += async(sender, e) =>
            {
                await Navigation.PushAsync(new SendSpies(account, intelMinID, planetID));
            };
            removeSpiesFromPolicalPropaganda.Clicked += async(sender, e) =>
            {
                List <LacunaExpanseAPIWrapper.ResponseModels.Spies> spiesOnPoliticalProp = await SpyScripts.FilterSpiesByAssignment(planetSpies, "Political Propaganda");

                SpyScripts.BatchAssignSpies(account, spiesOnPoliticalProp, "Idle", intelMinID);
                if (spiesOnPoliticalProp.Count > 30)
                {
                    await DisplayAlert("Notice", "This may take a couple of minutes to complete", "OK");
                }
            };
            executePrisonersBtn.Clicked += async(sender, e) =>
            {
                var prisoners = await SpyScripts.GetPrisoners(account, secMinID);

                SpyScripts.ExecutePrisonersOnPlanet(account, secMinID, prisoners);
            };
            trainSpiesBtn.Clicked += (sender, e) =>
            {
                if (intelMinID != null)
                {
                    SpyScripts.TrainSpies(planetSpies, account, intelMinID, intelMinistry, intelTrain, mayhemTrain, theftTrain, politicalTrain, selectedPlanet, 6);
                }
            };
            runSweepsBtn.Clicked += async(sender, e) =>
            {
                await DisplayAlert("Performance", "This script will run a series of up to 6 sweeps using idle spies", "Ok");

                if (intelMinID != null)
                {
                    var idleSpies        = SpyScripts.GetIdleSpiesFromList(planetSpies);
                    var orderedIdleSpies = idleSpies.OrderByDescending(x => x.level);
                    var spiesToUse       = new List <LacunaExpanseAPIWrapper.ResponseModels.Spies>();
                    int i = 0;
                    foreach (var spy in orderedIdleSpies)
                    {
                        spiesToUse.Add(spy);
                        i++;
                        if (i == 6)
                        {
                            break;
                        }
                    }
                    foreach (var spy in spiesToUse)
                    {
                        var server   = new Data.Server();
                        var json     = Intelligence.AssignSpy(account.SessionID, intelMinID, spy.id, "Security Sweep");
                        var response = await server.GetHttpResultStringAsyncAsString(account.Server, Intelligence.URL, json);

                        if (response != null)
                        {
                        }
                    }
                }
            };
        }
        public PlanetMap(AccountModel account, string planetName)
        {
            OuterBuilding.Children.Add(tempBuildingImage);
            OuterBuilding.Children.Add(InnerBuilding);
            InnerBuilding.Children.Add(tempPlanetBuildingName);
            InnerBuilding.Children.Add(tempPlanetBuildingLevel);
            OuterBuilding.Children.Add(submitArrangement);

            planetlbl.Text = planetName;
            ScrollView scrollMap = new ScrollView
            {
                HorizontalOptions = LayoutOptions.Fill,
                Orientation = ScrollOrientation.Horizontal,

                Content = new StackLayout
                {
                    Orientation = StackOrientation.Horizontal,
                    Children = {
                                     grid
                                },                    
                }
            };
            int left = 0;
            int top = 1;
            int xcounter = -5;
            int ycounter = 5;
            for (int i = 0; i <= 120; i++)
            {
                var b = new BuildingImage { PLOTNUMBER = i, x = Convert.ToString(xcounter), y = Convert.ToString(ycounter), Source = ImageSource.FromResource("LacunaExpress.Images.Demolish.png") };
                xcounter++;
                if(xcounter > 5)
                {
                    xcounter = -5;
                    ycounter--;
                }
                //b.buildingImage.Source = ImageSource.FromResource("LacunaExpress.Images.Demolish.png");
                b.GestureRecognizers.Add((new TapGestureRecognizer
                {
                    Command = new Command(o =>
                    {
                        
                        var index = b.PLOTNUMBER;
                        if(index != 60) //that's the center building of the map and it's not allowed to move
                        {
                            if (selectedBuilding.name.Length > 0)
                            {
                                tempHolding.id = selectedBuilding.id;
                                tempHolding.imageString = selectedBuilding.imageString;
                                tempHolding.level = selectedBuilding.level;
                                tempHolding.name = selectedBuilding.name;

                                selectedBuilding.id = "";
                                selectedBuilding.imageString = "";
                                selectedBuilding.level = "";
                                selectedBuilding.name = "";

                                tempPlanetBuildingName.Text = "No Building Selected";
                                tempPlanetBuildingLevel.Text = "0";
                                tempBuildingImage.Source = null;
                                tempBuildingImage.Source = ImageSource.FromResource("LacunaExpress.Images.Demolish.png");
                            }
                            if (buildingImages[index].name.Length > 0)
                            {
                                selectedBuilding.id = buildingImages[index].id;
                                selectedBuilding.imageString = buildingImages[index].imageString;
                                selectedBuilding.level = buildingImages[index].level;
                                selectedBuilding.name = buildingImages[index].name;

                                buildingImages[index].Source = null;
                                buildingImages[index].Source = ImageSource.FromResource("LacunaExpress.Images.Demolish.png");
                                buildingImages[index].name = "";
                                buildingImages[index].level = "";
                                buildingImages[index].imageString = "";
                                buildingImages[index].id = "";

                                tempPlanetBuildingName.Text = selectedBuilding.name;
                                tempPlanetBuildingLevel.Text = selectedBuilding.level;
                                tempBuildingImage.Source = ImageSource.FromResource(selectedBuilding.imageString);
                            }

                            if (tempHolding.name.Length > 0)
                            {
                                buildingImages[index].level = tempHolding.level;
                                buildingImages[index].name = tempHolding.name;
                                buildingImages[index].id = tempHolding.id;
                                buildingImages[index].imageString = tempHolding.imageString;
                                buildingImages[index].Source = ImageSource.FromResource(tempHolding.imageString);

                                tempHolding.id = "";
                                tempHolding.imageString = "";
                                tempHolding.level = "";
                                tempHolding.x = "";
                                tempHolding.y = "";
                                tempHolding.name = "";
                            }
                        }
                        //SwapBuildings(b.PLOTNUMBER);
                        

                    })
                }));
                buildingImages.Add(b);
                grid.Children.Add(b, left, top);
                left++;
                
                if (left == 11)
                {
                    left = 0;
                    top++;
                }
            }

			var mainLayout = new StackLayout
            {
                Children = {
                    planetlbl,
                    scrollMap,
                    OuterBuilding
                }

            };

			Content = mainLayout;
			if (Device.OS == TargetPlatform.iOS)
			{
				mainLayout.Padding = new Thickness (0, 20, 0, 0);
			}

            this.Appearing += (sender, e) =>
            {

                planetID = (from b in account.Colonies
                            where b.Value.Equals(planetName)
                            select b.Key).First();
                LoadBuildingsAsync(account, planetID);
            };
            submitArrangement.Clicked += async (sender, e) =>
            {
                List<BuildingArrangement> movedBuildings = new List<BuildingArrangement>();
                foreach(var b in buildingImages)
                {
                    if(b.name.Length > 0)
                    {
                        movedBuildings.Add(new BuildingArrangement(b.x, b.y, b.id));
                        
                    }
                }
                string json = Body.RearrangeBuildings(1, account.SessionID, planetID, movedBuildings);
                var server = new Data.Server();
                string response = await server.GetHttpResultStringAsyncAsString(account.Server, Body.url, json);
                string s = response;
            };

        }
		public SpiesMain(AccountModel account, string selectedPlanet)
		{
            buttonScroll.Content = buttonHolder;
            buttonHolder.Children.Add(trainSpiesBtn);
            buttonHolder.Children.Add(runSweepsBtn);
            buttonHolder.Children.Add(viewSpiesBtn);
            buttonHolder.Children.Add(executePrisonersBtn);
            buttonHolder.Children.Add(removeSpiesFromPolicalPropaganda);
            buttonHolder.Children.Add(sendSpies);
            this.account = account;
			var mainLayout = new StackLayout
			{
				//BackgroundColor = Color.FromRgb (0, 0, 128),
				Style = (Style)Styles.Styles.StyleDictionary[Styles.Styles.StyleName.MainLayout.ToString()],
                Children = {
					planetNameLabel,
					totalSpies,
					spiesOnCounter,
					spiesOnIntelTraining,
					spiesOnPoliticsTraining,
					spiesOnMayhemTraining,
					spiesOnTheftTraining,
					spiesOnPropaganda,
					spiesIdle,
					foreignSpies,
					prisoners,
                    buttonScroll

				}

			};

			Content = mainLayout;
			if (Device.OS == TargetPlatform.iOS)
			{
				mainLayout.Padding = new Thickness (0, 20, 0, 0);
			}

			this.Appearing += async (sender, e) =>
			{
                if (!AccountManager.CaptchaStillValid(account))
                {
                    await Navigation.PushModalAsync(new CaptchaPage.CaptchaPage(account));
                }
				planetName = selectedPlanet;			
				planetID = (from b in account.Colonies
								where b.Value.Equals(selectedPlanet)
								select b.Key).First();
				planetNameLabel.Text = selectedPlanet + " " + planetID;
				planetNameLabel.TextColor = Color.White;
				LoadSpyInfo(planetID);
			};
			sendSpies.Clicked += async (sender, e) =>
			{
				await Navigation.PushAsync(new SendSpies(account, intelMinID, planetID));
			};
            removeSpiesFromPolicalPropaganda.Clicked += async (sender, e) =>
            {
                List<LacunaExpanseAPIWrapper.ResponseModels.Spies> spiesOnPoliticalProp = await SpyScripts.FilterSpiesByAssignment(planetSpies, "Political Propaganda");
                SpyScripts.BatchAssignSpies(account, spiesOnPoliticalProp, "Idle", intelMinID);
                if (spiesOnPoliticalProp.Count > 30)
                    await DisplayAlert("Notice", "This may take a couple of minutes to complete", "OK");
            };
			executePrisonersBtn.Clicked += async (sender, e) =>
			{
				var prisoners = await SpyScripts.GetPrisoners(account, secMinID);
				SpyScripts.ExecutePrisonersOnPlanet(account, secMinID, prisoners);
			};
			trainSpiesBtn.Clicked += (sender, e) =>
			{
				if (intelMinID != null)
				{
					SpyScripts.TrainSpies(planetSpies, account, intelMinID, intelMinistry, intelTrain, mayhemTrain, theftTrain, politicalTrain, selectedPlanet, 6);
				}
			};
			runSweepsBtn.Clicked += async (sender, e) =>
			{
                await DisplayAlert("Performance", "This script will run a series of up to 6 sweeps using idle spies", "Ok");
				
				if (intelMinID != null)
				{
					var idleSpies = SpyScripts.GetIdleSpiesFromList(planetSpies);
					var orderedIdleSpies = idleSpies.OrderByDescending(x => x.level);
					var spiesToUse = new List<LacunaExpanseAPIWrapper.ResponseModels.Spies>();
					int i = 0;
					foreach (var spy in orderedIdleSpies)
					{
						spiesToUse.Add(spy);
						i++;
						if (i == 6)
							break;
					}
					foreach (var spy in spiesToUse)
					{
						var server = new Data.Server();
						var json = Intelligence.AssignSpy(account.SessionID, intelMinID, spy.id, "Security Sweep");
						var response = await server.GetHttpResultStringAsyncAsString(account.Server, Intelligence.URL, json);
						if (response != null)
						{

						}
					}
					
				}
			};

		}
示例#6
0
        public PlanetMap(AccountModel account, string planetName)
        {
            OuterBuilding.Children.Add(tempBuildingImage);
            OuterBuilding.Children.Add(InnerBuilding);
            InnerBuilding.Children.Add(tempPlanetBuildingName);
            InnerBuilding.Children.Add(tempPlanetBuildingLevel);
            OuterBuilding.Children.Add(submitArrangement);

            planetlbl.Text = planetName;
            ScrollView scrollMap = new ScrollView
            {
                HorizontalOptions = LayoutOptions.Fill,
                Orientation       = ScrollOrientation.Horizontal,

                Content = new StackLayout
                {
                    Orientation = StackOrientation.Horizontal,
                    Children    =
                    {
                        grid
                    },
                }
            };
            int left     = 0;
            int top      = 1;
            int xcounter = -5;
            int ycounter = 5;

            for (int i = 0; i <= 120; i++)
            {
                var b = new BuildingImage {
                    PLOTNUMBER = i, x = Convert.ToString(xcounter), y = Convert.ToString(ycounter), Source = ImageSource.FromResource("LacunaExpress.Images.Demolish.png")
                };
                xcounter++;
                if (xcounter > 5)
                {
                    xcounter = -5;
                    ycounter--;
                }
                //b.buildingImage.Source = ImageSource.FromResource("LacunaExpress.Images.Demolish.png");
                b.GestureRecognizers.Add((new TapGestureRecognizer
                {
                    Command = new Command(o =>
                    {
                        var index = b.PLOTNUMBER;
                        if (index != 60) //that's the center building of the map and it's not allowed to move
                        {
                            if (selectedBuilding.name.Length > 0)
                            {
                                tempHolding.id = selectedBuilding.id;
                                tempHolding.imageString = selectedBuilding.imageString;
                                tempHolding.level = selectedBuilding.level;
                                tempHolding.name = selectedBuilding.name;

                                selectedBuilding.id = "";
                                selectedBuilding.imageString = "";
                                selectedBuilding.level = "";
                                selectedBuilding.name = "";

                                tempPlanetBuildingName.Text = "No Building Selected";
                                tempPlanetBuildingLevel.Text = "0";
                                tempBuildingImage.Source = null;
                                tempBuildingImage.Source = ImageSource.FromResource("LacunaExpress.Images.Demolish.png");
                            }
                            if (buildingImages[index].name.Length > 0)
                            {
                                selectedBuilding.id = buildingImages[index].id;
                                selectedBuilding.imageString = buildingImages[index].imageString;
                                selectedBuilding.level = buildingImages[index].level;
                                selectedBuilding.name = buildingImages[index].name;

                                buildingImages[index].Source = null;
                                buildingImages[index].Source = ImageSource.FromResource("LacunaExpress.Images.Demolish.png");
                                buildingImages[index].name = "";
                                buildingImages[index].level = "";
                                buildingImages[index].imageString = "";
                                buildingImages[index].id = "";

                                tempPlanetBuildingName.Text = selectedBuilding.name;
                                tempPlanetBuildingLevel.Text = selectedBuilding.level;
                                tempBuildingImage.Source = ImageSource.FromResource(selectedBuilding.imageString);
                            }

                            if (tempHolding.name.Length > 0)
                            {
                                buildingImages[index].level = tempHolding.level;
                                buildingImages[index].name = tempHolding.name;
                                buildingImages[index].id = tempHolding.id;
                                buildingImages[index].imageString = tempHolding.imageString;
                                buildingImages[index].Source = ImageSource.FromResource(tempHolding.imageString);

                                tempHolding.id = "";
                                tempHolding.imageString = "";
                                tempHolding.level = "";
                                tempHolding.x = "";
                                tempHolding.y = "";
                                tempHolding.name = "";
                            }
                        }
                        //SwapBuildings(b.PLOTNUMBER);
                    })
                }));
                buildingImages.Add(b);
                grid.Children.Add(b, left, top);
                left++;

                if (left == 11)
                {
                    left = 0;
                    top++;
                }
            }

            var mainLayout = new StackLayout
            {
                Children =
                {
                    planetlbl,
                    scrollMap,
                    OuterBuilding
                }
            };

            Content = mainLayout;
            if (Device.OS == TargetPlatform.iOS)
            {
                mainLayout.Padding = new Thickness(0, 20, 0, 0);
            }

            this.Appearing += (sender, e) =>
            {
                planetID = (from b in account.Colonies
                            where b.Value.Equals(planetName)
                            select b.Key).First();
                LoadBuildingsAsync(account, planetID);
            };
            submitArrangement.Clicked += async(sender, e) =>
            {
                List <BuildingArrangement> movedBuildings = new List <BuildingArrangement>();
                foreach (var b in buildingImages)
                {
                    if (b.name.Length > 0)
                    {
                        movedBuildings.Add(new BuildingArrangement(b.x, b.y, b.id));
                    }
                }
                string json     = Body.RearrangeBuildings(1, account.SessionID, planetID, movedBuildings);
                var    server   = new Data.Server();
                string response = await server.GetHttpResultStringAsyncAsString(account.Server, Body.url, json);

                string s = response;
            };
        }