public void DeleteActiveOutdoor() { OutdoorLabel temp = activeOutdoor; ResetActiveOutdoor(); outdoors.Remove(temp); }
public double GetDiffusionValue(int x, int y) { double value = 0.0; if (x < 0 && x >= this.mapWidth) { return(value); } if (y < 0 && y >= this.mapHeight) { return(value); } for (int i = 0; i < this.outdoorMgr.outdoors.Count; i++) { OutdoorLabel label = this.outdoorMgr.outdoors[i]; if (label.type == OutdoorLabel.OUTDOOR_TYPE.MARKET) { double xDist = (double)(x - label.center.X); double yDist = (double)(y - label.center.Y); double dist = Math.Pow(xDist, 2) + Math.Pow(yDist, 2); double newVal = Math.Exp(-dist); if (newVal > value) { value = newVal; } } } return(value); }
public OutdoorLabel CreateLabel() { OutdoorLabel label = new OutdoorLabel(); label.id = this.prefix + counter.ToString(); return(label); }
public void AddLabel(OutdoorLabel label) { if (false == IsLabelInList(label.id)) { outdoors.Add(label); } counter++; }
public bool FindActiveOutdoor(int x, int y) { for (int i = 0; i < outdoors.Count; i++) { if (true == outdoors[i].Contains(x, y)) { activeOutdoor = outdoors[i]; return(true); } } return(false); }
public void ResetActiveOutdoor() { activeOutdoor = null; }
public void LoadFromString(string input) { try { using (StringReader sr = new StringReader(input)) { XmlTextReader xtr = new XmlTextReader(sr); this.outdoors.Clear(); do { xtr.Read(); if (xtr.NodeType == XmlNodeType.None) { return; } }while (!(xtr.NodeType == XmlNodeType.Element && xtr.Name == "Outdoor")); while ((xtr.NodeType == XmlNodeType.Element && xtr.Name == "Outdoor")) { OutdoorLabel label = new OutdoorLabel(); label.id = xtr.GetAttribute("ID"); label.name = xtr.GetAttribute("Name"); label.type = label.ReadType(xtr.GetAttribute("Type")); do { xtr.Read(); } while (!(xtr.NodeType == XmlNodeType.Element && xtr.Name == "Vertices")); { while (xtr.Read() && !(xtr.Name == "Vertices" && xtr.NodeType == XmlNodeType.EndElement)) { if (xtr.Name == "Vertex") { label.vertices.Add(label.ReadPoint(xtr.GetAttribute("Pos"))); } } } label.Complete(); this.outdoors.Add(label); while (!(xtr.NodeType == XmlNodeType.EndElement && xtr.Name == "Outdoor")) { xtr.Read(); if (xtr.ReadState == ReadState.EndOfFile) { return; } } xtr.Read(); } } } catch (System.Exception ex) { throw ex; } }