Example #1
0
        public void PointerCleanup()
        {
            List <Pointer> pointers = new List <Pointer>();

            foreach (Pointer p in Pointers)
            {
                if (!pointers.Contains(p))
                {
                    pointers.Add(p);
                }
            }

            Pointers.Clear();
            Pointers.AddRange(pointers);
        }
Example #2
0
        /// <summary>
        /// Update the gauge range.
        /// </summary>
        private void UpdateGauge()
        {
            Pointers.Clear();
            var    ranges     = new ObservableCollection <Pointer>();
            double rangeStart = 0;

            // var items = selectedCalorieItems;
            var proteinRange = new RangePointer();

            for (int i = 0; i < SelectedCalorieItems.Count; i++)
            {
                RangePointer range = new RangePointer()
                {
                    RangeStart      = rangeStart,
                    Value           = rangeStart + SelectedCalorieItems[i].Quantity,
                    Offset          = 0.9,
                    Thickness       = 12,
                    EnableAnimation = false,
                    Color           = Color.FromHex(SelectedCalorieItems[i].Indicator)
                };

                if (SelectedCalorieItems[i].Nutrient == "Protein")
                {
                    range.Offset      = 0.93;
                    range.Thickness   = 18;
                    range.RangeStart -= 3;
                    range.Value      += 3;
                    range.RangeCap    = RangeCap.Both;
                    proteinRange      = range;
                }
                else
                {
                    ranges.Add(range);
                }

                rangeStart += SelectedCalorieItems[i].Quantity;
            }

            ScaleEndValue = rangeStart;
            Pointers      = ranges;
            Pointers.Add(proteinRange);
        }
Example #3
0
 public void Clear()
 {
     Pointers.Clear();
     BuildCollection();
 }
Example #4
0
        public bool Load(string filename)
        {
            string[] compressData = null;
            string[] levelData    = null;

            XDocument xDoc;

            try
            {
                xDoc = XDocument.Load(filename);
            }
            catch
            {
                return(false);
            }

            XElement world = xDoc.Element("world");

            foreach (var a in world.Attributes())
            {
                switch (a.Name.LocalName)
                {
                case "guid":
                    Guid = a.Value.ToGuid();
                    break;

                case "graphicsbank":
                    GraphicsBank = a.Value.ToInt();
                    break;

                case "music":
                    Music = a.Value.ToInt();
                    break;

                case "length":
                    Length = a.Value.ToInt();
                    break;

                case "palette":
                    Palette = a.Value.ToInt();
                    break;

                case "compresseddata":
                    compressData = a.Value.Split(',');
                    break;

                case "worlddata":
                    levelData = a.Value.Split(',');
                    break;
                }
            }

            int xPointer = 0, yPointer = 0;

            foreach (var c in levelData)
            {
                LevelData[xPointer, yPointer] = (byte)c.ToInt();
                xPointer++;

                if (xPointer >= Width)
                {
                    xPointer = 0;
                    yPointer++;
                    if (yPointer > Height)
                    {
                        break;
                    }
                }
            }

            SpriteData.Clear();
            Pointers.Clear();
            foreach (var x in world.Elements())
            {
                switch (x.Name.LocalName)
                {
                case "spritedata":
                    foreach (var spr in x.Elements("sprite"))
                    {
                        Sprite s = new Sprite();
                        s.LoadFromElement(spr);
                        SpriteData.Add(s);
                    }
                    break;

                case "pointers":

                    foreach (var ptr in x.Elements("pointer"))
                    {
                        WorldPointer p = new WorldPointer();
                        p.LoadFromElement(ptr);
                        Pointers.Add(p);
                    }
                    break;

                case "settings":
                    Settings.LoadFromElement(x);
                    break;
                }
            }

            return(true);
        }
Example #5
0
        public bool Load(string filename)
        {
            XDocument xDoc;

            string[] levelData    = null;
            string[] compressData = null;
            SpriteData.Clear();
            Pointers.Clear();

            try
            {
                xDoc = XDocument.Load(filename);
            }
            catch
            {
                return(false);
            }

            XElement level = xDoc.Element("level");

            foreach (var a in level.Attributes())
            {
                switch (a.Name.LocalName)
                {
                case "layout":
                    LevelLayout = (LevelLayout)Enum.Parse(typeof(LevelLayout), a.Value, true);
                    break;

                case "guid":
                    Guid = a.Value.ToGuid();
                    break;

                case "type":
                    Type = a.Value.ToInt();
                    break;

                case "clearvalue":
                    ClearValue = a.Value.ToInt();
                    break;

                case "graphicsbank":
                    GraphicsBank = a.Value.ToInt();
                    break;

                case "music":
                    Music = a.Value.ToInt();
                    break;

                case "length":
                    Length = a.Value.ToInt();
                    break;

                case "time":
                    Time = a.Value.ToInt();
                    break;

                case "xstart":
                    XStart = a.Value.ToInt();
                    break;

                case "ystart":
                    YStart = a.Value.ToInt();
                    break;

                case "invincibleenemies":
                    InvincibleEnemies = a.Value.ToBoolean();
                    break;

                case "vineblocked":
                    VineBlocked = a.Value.ToBoolean();
                    break;

                case "paletteeffect":
                    PaletteEffect = a.Value.ToInt();
                    break;

                case "palette":
                    Palette = a.Value.ToInt();
                    break;

                case "scrolltype":
                    ScrollType = a.Value.ToInt();
                    break;

                case "animationtype":
                    AnimationType = a.Value.ToInt();
                    break;

                case "startaction":
                    StartAction = a.Value.ToInt();
                    break;

                case "leveldata":
                    levelData = a.Value.Split(',');
                    break;

                case "compresseddata":
                    compressData = a.Value.Split(',');
                    break;

                case "challengeleveltype":
                    ChallengeType = a.Value.ToInt();
                    break;

                case "specialleveltype":
                    SpecialLevelType = a.Value.ToInt();
                    break;

                case "misc1":
                    MiscByte1 = a.Value.ToInt();
                    break;

                case "misc2":
                    MiscByte2 = a.Value.ToInt();
                    break;

                case "misc3":
                    MiscByte3 = a.Value.ToInt();
                    break;

                case "tempprojeffects":
                    ProjectileBlocksTemporary = a.Value.ToBoolean();
                    break;

                case "rhythm":
                    RhythmPlatforms = a.Value.ToBoolean();
                    break;

                case "dpadtiles":
                    DpadTiles = a.Value.ToBoolean();
                    break;
                }
            }

            int xPointer = 0, yPointer = 0;

            int[] tileCount = new int[256];
            foreach (var c in levelData)
            {
                LevelData[xPointer, yPointer] = (byte)c.ToInt();
                tileCount[c.ToInt()]++;
                xPointer++;

                if (xPointer >= Width)
                {
                    xPointer = 0;
                    yPointer++;
                    if (yPointer > Height)
                    {
                        break;
                    }
                }
            }

            int highestTileCount = -1;

            for (int i = 0; i < 256; i++)
            {
                if (tileCount[i] > highestTileCount)
                {
                    highestTileCount = MostCommonTile = i;
                }
            }

            foreach (var x in level.Elements())
            {
                switch (x.Name.LocalName)
                {
                case "spritedata":
                    foreach (var spr in x.Elements("sprite"))
                    {
                        Sprite s = new Sprite();
                        s.LoadFromElement(spr);
                        SpriteData.Add(s);
                    }
                    break;

                case "pointers":
                    foreach (var ptr in x.Elements("pointer"))
                    {
                        LevelPointer p = new LevelPointer();
                        p.LoadFromElement(ptr);
                        Pointers.Add(p);
                    }
                    break;

                case "settings":
                    Settings.LoadFromElement(x);
                    break;
                }
            }

            return(true);
        }