Exemplo n.º 1
0
        public void DeleteActiveOutdoor()
        {
            OutdoorLabel temp = activeOutdoor;

            ResetActiveOutdoor();
            outdoors.Remove(temp);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public OutdoorLabel CreateLabel()
        {
            OutdoorLabel label = new OutdoorLabel();

            label.id = this.prefix + counter.ToString();

            return(label);
        }
Exemplo n.º 4
0
        public void AddLabel(OutdoorLabel label)
        {
            if (false == IsLabelInList(label.id))
            {
                outdoors.Add(label);
            }

            counter++;
        }
Exemplo n.º 5
0
 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);
 }
Exemplo n.º 6
0
 public void ResetActiveOutdoor()
 {
     activeOutdoor = null;
 }
Exemplo n.º 7
0
        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();
                        }

                        xtr.Read();
                    }
                }
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }