private Bird AddBird(Habitat habitat, Sex sex, Age age) { // Bird bird = new Bird(this, habitat, sex, age, birdIDCounter); Bird bird = new Bird(this, sex, age, birdIDCounter); birdIDCounter++; habitat.InsertInhabitant(bird); bird.CurrentHabitat = habitat; Inhabitants.Add(bird); return(bird); }
// TODO: Plan is to allow basic editing in the gridview // And more detailed editing using a different dashboard control public void BindProperties(Inhabitants inhabitants) { dwellers.DataSource = inhabitants.dwellers; gridDwellers.AutoGenerateColumns = false; gridDwellers.DataSource = dwellers; FirstName.DataPropertyName = "name"; LastName.DataPropertyName = "lastName"; Gender.DataPropertyName = "gender"; Level.DataPropertyName = "experience.currentLevel"; Strength.DataPropertyName = "stats.stats[1].value"; vscrRow.Maximum = gridDwellers.RowCount - gridDwellers.Rows.GetRowCount(DataGridViewElementStates.Displayed); }
//public Region(NameValueCollection data, World world) // : base (world) //{ // Name = data["Name"].ToString(); // Type = data["Type"].ToString(); //} public override void Select(MainForm frm) { frm.grpRegion.Text = this.ToString(); frm.grpRegion.Show(); frm.lblRegionName.Text = ToString(); frm.lblRegionType.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Region.Types[Type]); frm.lstRegionFieldBattles.BeginUpdate(); frm.lstRegionFieldBattles.Items.Clear(); if (FieldBattleEvents != null) { frm.lstRegionFieldBattles.Items.AddRange(FieldBattleEvents.ToArray()); } frm.lstRegionFieldBattles.EndUpdate(); frm.grpRegionFieldBattles.Visible = frm.lstRegionFieldBattles.Items.Count > 0; frm.grpRegionFieldBattles.Text = "Field Battles (" + frm.lstRegionFieldBattles.Items.Count + ")"; if (frm.lstRegionFieldBattles.Items.Count > 0) { frm.lstRegionFieldBattles.SelectedIndex = 0; } frm.lstRegionBattles.BeginUpdate(); frm.lstRegionBattles.Items.Clear(); if (BattleEventCollections != null) { frm.lstRegionBattles.Items.AddRange(BattleEventCollections.ToArray()); } frm.lstRegionBattles.EndUpdate(); frm.grpRegionBattles.Visible = frm.lstRegionBattles.Items.Count > 0; frm.grpRegionBattles.Text = " Battles (" + frm.lstRegionBattles.Items.Count + ")"; frm.lstRegionInhabitants.BeginUpdate(); frm.lstRegionInhabitants.Items.Clear(); if (Inhabitants != null) { frm.lstRegionInhabitants.Items.AddRange(Inhabitants.ToArray()); } frm.lstRegionInhabitants.EndUpdate(); frm.grpRegionInhabitants.Visible = frm.lstRegionInhabitants.Items.Count > 0; Program.MakeSelected(frm.tabRegion, frm.lstRegion, this); }
protected GameObject CreatePerson() { GameObject newPerson = Instantiate(personPrefab) as GameObject; var personScript = newPerson.GetComponent <Citizen> (); var paramedicScript = newPerson.AddComponent <Citizen_PublicServant_Paramedic>(); personScript.CreateSpecial(Special.SpecialType.Doctor); paramedicScript.HomeBuilding = gameObject.GetComponent <Building>(); newPerson.transform.position = gameObject.transform.position; WorldObjects.People.Add(paramedicScript); WorldObjects.Targets.Add(newPerson); Inhabitants.Add(newPerson); return(newPerson); }
protected GameObject CreatePerson() { GameObject newPerson = Instantiate(personPrefab) as GameObject; var personScript = newPerson.GetComponent <Citizen> (); var personPolice = newPerson.AddComponent <Citizen_PublicServant_PoliceOfficer>(); personScript.CreateSpecial(Special.SpecialType.Police); newPerson.GetComponent <Citizen_PublicServant_PoliceOfficer> (); personPolice.HomeBuilding = gameObject.GetComponent <Building_PublicService_PoliceStation>(); newPerson.transform.position = gameObject.transform.position; WorldObjects.People.Add(personPolice); WorldObjects.Targets.Add(newPerson); Inhabitants.Add(newPerson); InactiveOfficers.Add(newPerson); return(newPerson); }
protected void CreateRobber() { GameObject newPerson = Instantiate(personPrefab) as GameObject; var personScript = newPerson.GetComponent <Citizen> (); var RobberScript = newPerson.AddComponent <Citizen_Criminal_Robber> (); personScript.CreateSpecial(Special.SpecialType.Robber); RobberScript.HomeBuilding = gameObject.GetComponent <Building> (); newPerson.transform.position = gameObject.transform.position; PeopleInside.Add(newPerson); WorldObjects.People.Add(RobberScript); Inhabitants.Add(newPerson); RobberScript.RobbingSpeed = 3f; }
protected GameObject CreateMafia() { GameObject newPerson = Instantiate(personPrefab) as GameObject; var personScript = newPerson.GetComponent <Citizen> (); var newMafia = newPerson.AddComponent <Citizen_Criminal_Mafia>(); newMafia.HomeBuilding = gameObject.GetComponent <Building> (); personScript.CreateSpecial(Special.SpecialType.Mafia); newPerson.transform.position = gameObject.transform.position; WorldObjects.People.Add(newMafia); WorldObjects.Targets.Add(newPerson); Inhabitants.Add(newPerson); newMafia.GunDamage = 40f; return(newPerson); }
protected GameObject CreatePerson() { GameObject newPerson = Instantiate(personPrefab) as GameObject; var personScript = newPerson.GetComponent <Citizen> (); var firefighterScript = newPerson.AddComponent <Citizen_PublicServant_FireFighter>(); InitializeCitizenStats(firefighterScript); personScript.CreateSpecial(Special.SpecialType.Firefighter); firefighterScript.waterParticle = newPerson.GetComponentInChildren <ParticleSystem> (); newPerson.transform.position = gameObject.transform.position; WorldObjects.People.Add(firefighterScript); WorldObjects.Targets.Add(newPerson); InactiveFireFighters.Add(newPerson); Inhabitants.Add(newPerson); return(newPerson); }
protected virtual GameObject CreatePerson() { //print ("Creating person from: " + gameObject.name); int rand = Random.Range(0, 100); GameObject newPerson = Instantiate(personPrefab) as GameObject; var citizenScript = newPerson.GetComponent <Citizen> (); var personScript = newPerson.AddComponent <Citizen_Civilian>(); var civilian = newPerson.GetComponent <Citizen_Civilian> (); //newPerson.AddComponent<HostileCitizenTarget> (); //This must be as an event instead if (rand == 42) { citizenScript.CreateSpecial(Special.SpecialType.BonusCitizen); } else { citizenScript.CreateCitizen(); } PeopleInside.Add(newPerson); newPerson.transform.position = gameObject.transform.position; personScript.HomeBuilding = this; WorldObjects.People.Add(civilian); WorldObjects.Targets.Add(newPerson); Inhabitants.Add(newPerson); return(newPerson); }
/// <summary> /// Sort population by Fitness. Ascendent order. /// </summary> public void Sort() { Inhabitants = Inhabitants.OrderBy(i => i.Fitness).ToArray(); }
//public Site(NameValueCollection data, World world) // : base (world) //{ // Name = data["Name"].ToString(); // Type = data["Type"].ToString(); // Coords = new Point( // Convert.ToInt32(data["Coords"].ToString().Split(',')[0]), // Convert.ToInt32(data["Coords"].ToString().Split(',')[1])); //} public override void Select(MainForm frm) { frm.grpSite.Text = ToString(); if (isPlayerControlled) { frm.grpSite.Text += @" (PLAYER CONTROLLED)"; } frm.grpSite.Show(); frm.lblSiteName.Text = ToString(); frm.lblSiteAltName.Text = AltName; frm.lblSiteType.Text = Types[Type]; frm.lblSiteCoord.Data = new Coordinate(Coords); frm.lblSiteOwner.Data = Owner; frm.lblSiteParentCiv.Data = Parent; frm.grpSiteCreated.Visible = CreatedEvent != null; if (CreatedEvent != null) { frm.lblSiteCreatedBy.Data = CreatedEvent.SiteCiv; frm.lblSiteCreatedByCiv.Data = CreatedEvent.Civ; frm.lblSiteCreatedTime.Data = CreatedEvent; frm.lblSiteCreatedTime.Text = CreatedEvent.Time.ToString(); } frm.lstSitePopulation.Items.Clear(); if (Population != null) { frm.lstSitePopulation.Items.AddRange(Population.Keys.ToArray()); } frm.grpSitePopulation.Visible = frm.lstSitePopulation.Items.Count > 0; frm.lstSiteArtifacts.Items.Clear(); if (CreatedArtifacts != null) { frm.lstSiteArtifacts.Items.AddRange(CreatedArtifacts.ToArray()); } frm.grpSiteArtifacts.Visible = frm.lstSiteArtifacts.Items.Count > 0; frm.lstSiteStructures.Items.Clear(); if (Structures != null) { frm.lstSiteStructures.Items.AddRange(Structures.ToArray()); } frm.grpSiteStructures.Visible = frm.lstSiteStructures.Items.Count > 0; frm.lstSitePrisoners.Items.Clear(); if (Outcasts != null) { frm.lstSitePrisoners.Items.AddRange(Prisoners.Keys.ToArray()); } frm.grpSitePrisoners.Visible = frm.lstSitePrisoners.Items.Count > 0; frm.lstSiteOutcasts.Items.Clear(); if (Outcasts != null) { frm.lstSiteOutcasts.Items.AddRange(Outcasts.Keys.ToArray()); } frm.grpSiteOutcasts.Visible = frm.lstSiteOutcasts.Items.Count > 0; frm.lstSiteInhabitants.BeginUpdate(); frm.lstSiteInhabitants.Items.Clear(); if (Inhabitants != null) { frm.lstSiteInhabitants.Items.AddRange(Inhabitants.ToArray()); } frm.lstSiteInhabitants.EndUpdate(); frm.grpSiteInhabitants.Visible = frm.lstSiteInhabitants.Items.Count > 0; frm.grpSiteInhabitants.Text = string.Format("Historical Figures ({0})", frm.lstSiteInhabitants.Items.Count); frm.trvSiteEvent.Nodes.Clear(); if (AttackedEvents != null) { var thisNode = new TreeNode("Attacked"); foreach (var newNode in AttackedEvents.Select(evt => new TreeNode(evt.ToString()) { Tag = evt })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEvent.Nodes.Add(thisNode); } if (DestroyedEvents != null) { var thisNode = new TreeNode("Destroyed"); foreach (var newNode in DestroyedEvents.Select(evt => new TreeNode(evt.ToString()) { Tag = evt })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEvent.Nodes.Add(thisNode); } if (NewLeaderEvents != null) { var thisNode = new TreeNode("NewLeader"); foreach (var newNode in NewLeaderEvents.Select(evt => new TreeNode(evt.ToString()) { Tag = evt })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEvent.Nodes.Add(thisNode); } if (PlunderedEvents != null) { var thisNode = new TreeNode("Plundered"); foreach (var newNode in PlunderedEvents.Select(evt => new TreeNode(evt.ToString()) { Tag = evt })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEvent.Nodes.Add(thisNode); } if (ReclaimedEvents != null) { var thisNode = new TreeNode("Reclaimed"); foreach (var newNode in ReclaimedEvents.Select(evt => new TreeNode(evt.ToString()) { Tag = evt })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEvent.Nodes.Add(thisNode); } frm.grpSiteEvent.Visible = frm.trvSiteEvent.Nodes.Count > 0; frm.trvSiteEventCollection.Nodes.Clear(); if (AbductionEventCollections != null) { var thisNode = new TreeNode("Abduction"); foreach (var newNode in AbductionEventCollections.Select(evtcol => new TreeNode(evtcol.ToString()) { Tag = evtcol })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (BattleEventCollections != null) { var thisNode = new TreeNode("Battle"); foreach (var newNode in BattleEventCollections.Select(evtcol => new TreeNode(evtcol.ToString()) { Tag = evtcol })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (BeastAttackEventCollections != null) { var thisNode = new TreeNode("Beast Attack"); foreach (var newNode in BeastAttackEventCollections.Select(evtcol => new TreeNode(evtcol.ToString()) { Tag = evtcol })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (DuelEventCollections != null) { var thisNode = new TreeNode("Duel"); foreach (var newNode in DuelEventCollections.Select(evtcol => new TreeNode(evtcol.ToString()) { Tag = evtcol })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (SiteConqueredEventCollections != null) { var thisNode = new TreeNode("Site Conquered"); foreach (var newNode in SiteConqueredEventCollections.Select(evtcol => new TreeNode(evtcol.ToString()) { Tag = evtcol })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (TheftEventCollections != null) { var thisNode = new TreeNode("Theft"); foreach (var newNode in TheftEventCollections.Select(evtcol => new TreeNode(evtcol.ToString()) { Tag = evtcol })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (InsurrectionEventCollections != null) { var thisNode = new TreeNode("Insurrection"); foreach (var newNode in InsurrectionEventCollections.Select(evtcol => new TreeNode(evtcol.ToString()) { Tag = evtcol })) { thisNode.Nodes.Add(newNode); } thisNode.Text += string.Format(" ({0})", thisNode.Nodes.Count); frm.trvSiteEventCollection.Nodes.Add(thisNode); } frm.grpSiteEventCollection.Visible = frm.trvSiteEventCollection.Nodes.Count > 0; Program.MakeSelected(frm.tabSite, frm.lstSite, this); }
//public Site(NameValueCollection data, World world) // : base (world) //{ // Name = data["Name"].ToString(); // Type = data["Type"].ToString(); // Coords = new Point( // Convert.ToInt32(data["Coords"].ToString().Split(',')[0]), // Convert.ToInt32(data["Coords"].ToString().Split(',')[1])); //} public override void Select(MainForm frm) { frm.grpSite.Text = this.ToString(); if (isPlayerControlled) { frm.grpSite.Text += " (PLAYER CONTROLLED)"; } frm.grpSite.Show(); frm.lblSiteName.Text = ToString(); frm.lblSiteAltName.Text = AltName; frm.lblSiteType.Text = WorldClasses.Site.Types[Type]; frm.lblSiteCoord.Data = new Coordinate(Coords); frm.lblSiteOwner.Data = Owner; frm.lblSiteParentCiv.Data = Parent; frm.grpSiteCreated.Visible = CreatedEvent != null; if (CreatedEvent != null) { frm.lblSiteCreatedBy.Data = CreatedEvent.SiteCiv; frm.lblSiteCreatedByCiv.Data = CreatedEvent.Civ; frm.lblSiteCreatedTime.Data = CreatedEvent; frm.lblSiteCreatedTime.Text = CreatedEvent.Time.ToString(); } frm.lstSitePopulation.Items.Clear(); if (Population != null) { frm.lstSitePopulation.Items.AddRange(Population.Keys.ToArray()); } frm.grpSitePopulation.Visible = frm.lstSitePopulation.Items.Count > 0; frm.lstSitePrisoners.Items.Clear(); if (Outcasts != null) { frm.lstSitePrisoners.Items.AddRange(Prisoners.Keys.ToArray()); } frm.grpSitePrisoners.Visible = frm.lstSitePrisoners.Items.Count > 0; frm.lstSiteOutcasts.Items.Clear(); if (Outcasts != null) { frm.lstSiteOutcasts.Items.AddRange(Outcasts.Keys.ToArray()); } frm.grpSiteOutcasts.Visible = frm.lstSiteOutcasts.Items.Count > 0; frm.lstSiteInhabitants.BeginUpdate(); frm.lstSiteInhabitants.Items.Clear(); if (Inhabitants != null) { frm.lstSiteInhabitants.Items.AddRange(Inhabitants.ToArray()); } frm.lstSiteInhabitants.EndUpdate(); frm.grpSiteInhabitants.Visible = frm.lstSiteInhabitants.Items.Count > 0; frm.grpSiteInhabitants.Text = "Historical Figures (" + frm.lstSiteInhabitants.Items.Count + ")"; frm.trvSiteEvent.Nodes.Clear(); if (AttackedEvents != null) { TreeNode thisNode = new TreeNode("Attacked"); foreach (HistoricalEvent evt in AttackedEvents) { TreeNode newNode = new TreeNode(evt.ToString()); newNode.Tag = evt; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEvent.Nodes.Add(thisNode); } if (DestroyedEvents != null) { TreeNode thisNode = new TreeNode("Destroyed"); foreach (HistoricalEvent evt in DestroyedEvents) { TreeNode newNode = new TreeNode(evt.ToString()); newNode.Tag = evt; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEvent.Nodes.Add(thisNode); } if (NewLeaderEvents != null) { TreeNode thisNode = new TreeNode("NewLeader"); foreach (HistoricalEvent evt in NewLeaderEvents) { TreeNode newNode = new TreeNode(evt.ToString()); newNode.Tag = evt; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEvent.Nodes.Add(thisNode); } if (PlunderedEvents != null) { TreeNode thisNode = new TreeNode("Plundered"); foreach (HistoricalEvent evt in PlunderedEvents) { TreeNode newNode = new TreeNode(evt.ToString()); newNode.Tag = evt; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEvent.Nodes.Add(thisNode); } if (ReclaimedEvents != null) { TreeNode thisNode = new TreeNode("Reclaimed"); foreach (HistoricalEvent evt in ReclaimedEvents) { TreeNode newNode = new TreeNode(evt.ToString()); newNode.Tag = evt; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEvent.Nodes.Add(thisNode); } frm.grpSiteEvent.Visible = frm.trvSiteEvent.Nodes.Count > 0; frm.trvSiteEventCollection.Nodes.Clear(); if (AbductionEventCollections != null) { TreeNode thisNode = new TreeNode("Abduction"); foreach (EC_Abduction evtcol in AbductionEventCollections) { TreeNode newNode = new TreeNode(evtcol.ToString()); newNode.Tag = evtcol; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (BattleEventCollections != null) { TreeNode thisNode = new TreeNode("Battle"); foreach (EC_Battle evtcol in BattleEventCollections) { TreeNode newNode = new TreeNode(evtcol.ToString()); newNode.Tag = evtcol; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (BeastAttackEventCollections != null) { TreeNode thisNode = new TreeNode("Beast Attack"); foreach (EC_BeastAttack evtcol in BeastAttackEventCollections) { TreeNode newNode = new TreeNode(evtcol.ToString()); newNode.Tag = evtcol; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (DuelEventCollections != null) { TreeNode thisNode = new TreeNode("Duel"); foreach (EC_Duel evtcol in DuelEventCollections) { TreeNode newNode = new TreeNode(evtcol.ToString()); newNode.Tag = evtcol; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (SiteConqueredEventCollections != null) { TreeNode thisNode = new TreeNode("Site Conquered"); foreach (EC_SiteConquered evtcol in SiteConqueredEventCollections) { TreeNode newNode = new TreeNode(evtcol.ToString()); newNode.Tag = evtcol; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEventCollection.Nodes.Add(thisNode); } if (TheftEventCollections != null) { TreeNode thisNode = new TreeNode("Theft"); foreach (EC_Theft evtcol in TheftEventCollections) { TreeNode newNode = new TreeNode(evtcol.ToString()); newNode.Tag = evtcol; thisNode.Nodes.Add(newNode); } thisNode.Text += " (" + thisNode.Nodes.Count + ")"; frm.trvSiteEventCollection.Nodes.Add(thisNode); } frm.grpSiteEventCollection.Visible = frm.trvSiteEventCollection.Nodes.Count > 0; Program.MakeSelected(frm.tabSite, frm.lstSite, this); }
private void BindDwellerProperties(Inhabitants inhabitants) { dwellerList.BindProperties(inhabitants); }