private void ClrButton_Click(object sender, EventArgs e) { Tree1.CreateGraphics().Clear(Color.White); Tree2.CreateGraphics().Clear(Color.White); Tree3.CreateGraphics().Clear(Color.White); Tree4.CreateGraphics().Clear(Color.White); points = new List <Point>(); ed[0] = new List <Point>(); ed[1] = new List <Point>(); }
private void UpdateSavedSpecs() { SavedPetTalentSpecList savedSpecs = SavedPetTalentSpec.SpecsFor(ArmoryPet.FamilyToTree[CalcOpts.PetFamily]); SavedPetTalentSpec current = null; updating = true; foreach (SavedPetTalentSpec sts in savedSpecs) { if (sts.Equals(CalcOpts.PetTalents)) { current = sts; break; } } if (current != null) { HasCustomSpec = false; SavedCombo.ItemsSource = savedSpecs; SavedCombo.SelectedItem = current; SaveDeleteButton.Content = "Delete"; } else { PETFAMILYTREE ftree = ArmoryPet.FamilyToTree[CalcOpts.PetFamily]; int treepts = (ftree == PETFAMILYTREE.Cunning ? Tree1.Points() : (ftree == PETFAMILYTREE.Ferocity ? Tree2.Points() : (ftree == PETFAMILYTREE.Tenacity ? Tree3.Points() : Tree1.Points() + Tree2.Points() + Tree3.Points()))); HasCustomSpec = true; current = new SavedPetTalentSpec("Custom", CalcOpts.PetTalents, ftree, treepts); SavedPetTalentSpecList currentList = new SavedPetTalentSpecList(); currentList.AddRange(savedSpecs); currentList.Add(current); SavedCombo.ItemsSource = null; SavedCombo.ItemsSource = currentList; SavedCombo.SelectedItem = current; SaveDeleteButton.Content = "Save"; } updating = false; }
private void SaveDelete_Click(object sender, System.Windows.RoutedEventArgs e) { SavedPetTalentSpec currentSpec = SavedCombo.SelectedItem as SavedPetTalentSpec; if (HasCustomSpec) { PETFAMILYTREE ftree = ArmoryPet.FamilyToTree[CalcOpts.PetFamily]; int treepts = (ftree == PETFAMILYTREE.Cunning ? Tree1.Points() : (ftree == PETFAMILYTREE.Ferocity ? Tree2.Points() : (ftree == PETFAMILYTREE.Tenacity ? Tree3.Points() : Tree1.Points() + Tree2.Points() + Tree3.Points()))); FormSavePetTalentSpec dialog = new FormSavePetTalentSpec(CalcOpts.PetTalents, ftree, treepts); dialog.Closed += new EventHandler(dialog_Closed); dialog.Show(); } else { SavedPetTalentSpec.AllSpecs.Remove(currentSpec); UpdateSavedSpecs(); } }
public TalentTree(string talentString) { Tree1 = new(); Tree2 = new(); Tree3 = new(); string[] talentSplits = talentString.Split('|'); for (int i = 0; i < talentSplits.Length; ++i) { string talent = talentSplits[i]; if (talent.Length < 4) { continue; } string[] items = talent.Split(';'); if (items.Length < 5) { continue; } Talent t = new(items[0], int.Parse(items[1]), int.Parse(items[2]), int.Parse(items[3]), int.Parse(items[4])); if (items[1].Equals("1", StringComparison.OrdinalIgnoreCase)) { Tree1.Add(int.Parse(items[2]), t); } else if (items[1].Equals("2", StringComparison.OrdinalIgnoreCase)) { Tree2.Add(int.Parse(items[2]), t); } else if (items[1].Equals("3", StringComparison.OrdinalIgnoreCase)) { Tree3.Add(int.Parse(items[2]), t); } } }
private void GenButton_Click(object sender, EventArgs e) { aT.GTree(aT.root, chance, MaxDEPTH, rnd); aT.GetPoints(aT.root, Tree1.Width, Tree1.Height, points, ed); Tree1.CreateGraphics().DrawImage(aT.Draw(Tree1.Width, Tree1.Height, points, ed), new Point(0, 0)); bT = aT; Tree2.CreateGraphics().DrawImage(bT.Draw(Tree2.Width, Tree2.Height, points, ed), new Point(0, 0)); points = new List <Point>(); ed[0] = new List <Point>(); ed[1] = new List <Point>(); cT.GTree(cT.root, chance, MaxDEPTH, rnd); cT.GetPoints(cT.root, Tree1.Width, Tree1.Height, points, ed); Tree3.CreateGraphics().DrawImage(cT.Draw(Tree3.Width, Tree3.Height, points, ed), new Point(0, 0)); points = new List <Point>(); ed[0] = new List <Point>(); ed[1] = new List <Point>(); dT.GTree(dT.root, chance, MaxDEPTH, rnd); dT.GetPoints(dT.root, Tree1.Width, Tree1.Height, points, ed); Tree4.CreateGraphics().DrawImage(dT.Draw(Tree4.Width, Tree4.Height, points, ed), new Point(0, 0)); points = new List <Point>(); ed[0] = new List <Point>(); ed[1] = new List <Point>(); }
private void Generate() { //Walls //for (var i = 0; i < 1; i++) //{ // var x = m_map.Random.Next(0, m_map.ZoneSize.X); // var y = m_map.Random.Next(0, m_map.ZoneSize.Y); // var width = m_map.Random.Next(10, 100); // var height = m_map.Random.Next(10, 100); // //var x = m_map.ZoneSize.X / 2 + 50; // //var y = m_map.ZoneSize.Y / 2 + 50; // //var width = 50; // //var height = 50; // var p1 = new Vector2(x, y); // var p2 = new Vector2(x + width, y); // var p3 = new Vector2(x + width, y + height); // var p4 = new Vector2(x, y + height); // Walls.Add( // new Wall( // new List<Segment>() // { // new Segment(p1, p2), // new Segment(p2, p3), // new Segment(p3, p4), // new Segment(p4, p1) // } // ) // ); //} //Trees for (var i = 0; i < 3; i++) { var x = m_map.Random.Next(0 + 50, m_map.ZoneSize.X - 50); var y = m_map.Random.Next(0 + 50, m_map.ZoneSize.Y - 50); var t1 = new Tree1(); t1.SetPosition(new Vector2(x, y)); AddTree(t1); y -= (int)(t1.Box.Y / 3f); var p1 = new Vector2(x - t1.Box.X / 6, y); var p2 = new Vector2(x + t1.Box.X / 6, y); var p3 = new Vector2(x, y - t1.Box.Y / 6); var p4 = new Vector2(x, y + t1.Box.Y / 6); Walls.Add( new Wall( new List <Segment>() { new Segment(p1, p2), new Segment(p3, p4) } ) ); x = m_map.Random.Next(0 + 50, m_map.ZoneSize.X - 50); y = m_map.Random.Next(0 + 50, m_map.ZoneSize.Y - 50); var t2 = new Tree2(); t2.SetPosition(new Vector2(x, y)); AddTree(t2); y -= (int)(t2.Box.Y / 3f); p1 = new Vector2(x - t2.Box.X / 6, y); p2 = new Vector2(x + t2.Box.X / 6, y); p3 = new Vector2(x, y - t2.Box.Y / 6); p4 = new Vector2(x, y + t2.Box.Y / 6); Walls.Add( new Wall( new List <Segment>() { new Segment(p1, p2), new Segment(p3, p4) } ) ); x = m_map.Random.Next(0 + 50, m_map.ZoneSize.X - 50); y = m_map.Random.Next(0 + 50, m_map.ZoneSize.Y - 50); var t3 = new Tree3(); t3.SetPosition(new Vector2(x, y)); AddTree(t3); y -= (int)(t3.Box.Y / 4f); p1 = new Vector2(x - t3.Box.X / 4, y); p2 = new Vector2(x + t3.Box.X / 4, y); p3 = new Vector2(x, y - t3.Box.Y / 4); p4 = new Vector2(x, y + t3.Box.Y / 4); Walls.Add( new Wall( new List <Segment>() { new Segment(p1, p2), new Segment(p3, p4) } ) ); } //Fire //var peX = m_map.Random.Next((int)(m_map.ZoneSize.X * 0.1f), (int)(m_map.ZoneSize.X * 0.9f)); //var peY = m_map.Random.Next((int)(m_map.ZoneSize.Y * 0.1f), (int)(m_map.ZoneSize.Y * 0.9f)); //ParticleEngine = new ParticleEngine(new List<Texture2D>(), // new Vector2(peX, peY), // new Vector2(0, 20), // 150, // 0.2f); var peX = m_map.Random.Next((int)(m_map.ZoneSize.X * 0.1f), (int)(m_map.ZoneSize.X * 0.9f)); var peY = m_map.Random.Next((int)(m_map.ZoneSize.Y * 0.1f), (int)(m_map.ZoneSize.Y * 0.9f)); var firePosition = new Vector2(peX, peY); FireCamp = new FireCamp(); FireCamp.SetPosition(firePosition); //Lights for (var i = 0; i < 1; i++) { //var x = m_map.Random.Next(0, m_map.ZoneSize.X); //var y = m_map.Random.Next(0, m_map.ZoneSize.Y); //var x = m_map.ZoneSize.X / 2; //var y = m_map.ZoneSize.Y / 2; var radius = 200 + m_map.Random.Next(0, 10); Lights.Add( new Light( new Vector2(firePosition.X, firePosition.Y - FireCamp.Box.Y / 4), radius, new Color4ub(255, 255, 255, 255), new Color4ub(0, 0, 0, 255)) ); } var segments = Walls.SelectMany(x => x.Walls).ToList(); Parallel.ForEach(segments, segment => { foreach (var light in Lights) { light.Cone.Add(segment.P1, segment.P2); } //m_wallRenderer.AddSegment(segment); }); foreach (var light in Lights) { var points = light.Cone.GetPath(); foreach (var point in points) { m_lightRenderer.AddVertex(point.Point, point.Color); } } }
private void UpdateSavedSpecs() { SavedTalentSpecList savedSpecs = SavedTalentSpec.SpecsFor(Character.Class); SavedTalentSpec current = null; updating = true; foreach (SavedTalentSpec sts in savedSpecs) { if (sts.Equals(Character.CurrentTalents)) { current = sts; break; } } if (current != null) { HasCustomSpec = false; SavedCombo.ItemsSource = savedSpecs; SavedCombo.SelectedItem = current; SaveDeleteButton.Content = "Delete"; } else { HasCustomSpec = true; current = new SavedTalentSpec("Custom", Character.CurrentTalents, Tree1.Points(), Tree2.Points(), Tree3.Points()); SavedTalentSpecList currentList = new SavedTalentSpecList(); currentList.AddRange(savedSpecs); currentList.Add(current); SavedCombo.ItemsSource = null; SavedCombo.ItemsSource = currentList; SavedCombo.SelectedItem = current; SaveDeleteButton.Content = "Save"; } updating = false; }