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; }; }
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) { } } } }; }
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; }; }