Example #1
0
    void LoadPlayerPrefs(int Type)
    {
        List <Sprite> SpriteList = new List <Sprite>(Resources.LoadAll <Sprite>(ListName[Type]));

        string PlayerPrefString = PlayerPrefs.GetString(ListName[Type], "");

        string[] PlayerPrefArray = PlayerPrefString.Split(',');

        string NewPlayerPrefString = "";

        SpriteStatusLists[Type] = new List <SpriteStatus>();

        foreach (Sprite Sprite in SpriteList)
        {
            string Avalability = "Unavailable";
            if (Sprite.name.Split('-')[0] == "None" || Sprite.name.Split('-')[0] == "Default")
            {
                Avalability = "Available";
            }

            if (PlayerPrefString.Contains(Sprite.name))
            {
                foreach (string SpriteStatus in PlayerPrefArray)
                {
                    if (SpriteStatus.Split('=')[0] == Sprite.name)
                    {
                        Avalability = SpriteStatus.Split('=')[1];
                    }
                }
            }

            SpriteStatus newSpriteStatus = new SpriteStatus()
            {
                Sprite = Sprite, Name = Sprite.name.Split('-')[0], Cost = int.Parse(Sprite.name.Split('-')[1]), Status = Avalability
            };
            SpriteStatusLists[Type].Add(newSpriteStatus);

            if (Avalability == "Equipped")
            {
                CurrentEquipment[Type] = newSpriteStatus;
            }

            NewPlayerPrefString += Sprite.name + "=" + Avalability + ",";
        }

        SpriteStatusLists[Type].Sort(SortByCost);

        PlayerPrefs.SetString(ListName[Type], NewPlayerPrefString);

        //print("Load " + Type + ": " + "Current: " + CurrentEquipment[Type].Name + "\n" + NewPlayerPrefString);
    }
Example #2
0
        private static void OnWndProc(WndEventArgs args)
        {
            if (HudSprite == null || !ShouldBeVisible)
            {
                return;
            }

            if (IsDragging)
            {
                Variables.Menu.Item("dz191.dza.hud.x")
                   .SetValue(new Slider((int)(Utils.GetCursorPos().X - XDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Width));
                Variables.Menu.Item("dz191.dza.hud.y")
                    .SetValue(new Slider((int)(Utils.GetCursorPos().Y - YDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Height));
            }

            if (IsInside(Utils.GetCursorPos()) && args.Msg == (uint)WindowsMessages.WM_LBUTTONDOWN)
            {
                if (!IsDragging)
                {
                    if (InitialDragPoint == new Vector2())
                    {
                        InitialDragPoint = CurrentPosition;
                        XDistanceFromEdge = Math.Abs(InitialDragPoint.X - Utils.GetCursorPos().X);
                        YDistanceFromEdge = Math.Abs(InitialDragPoint.Y - Utils.GetCursorPos().Y);
                    }

                    IsDragging = true;
                }
            }
            else if (IsDragging && args.Msg == (uint)WindowsMessages.WM_LBUTTONUP)
            {
                HudSprite.PositionUpdate = () => CurrentPosition;

                Variables.Menu.Item("dz191.dza.hud.x")
                    .SetValue(new Slider((int)(Utils.GetCursorPos().X - XDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Width));
                Variables.Menu.Item("dz191.dza.hud.y")
                    .SetValue(new Slider((int)(Utils.GetCursorPos().Y - YDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Height));

                InitialDragPoint = new Vector2();
                XDistanceFromEdge = 0;
                YDistanceFromEdge = 0;

                IsDragging = false;
            }

            if (args.Msg == (uint) WindowsMessages.WM_LBUTTONUP)
            {
                if (
                    Utils.GetCursorPos()
                        .Distance(new Vector2(CurrentPosition.X + SpriteWidth - 15,
                            CurrentPosition.Y + CroppedHeight - 15)) < 7)
                {
                    if (CurrentStatus == SpriteStatus.Shrinked)
                    {
                        CurrentStatus = SpriteStatus.Expanded;
                        HudSprite.Crop(0, 0, (int) SpriteWidth, (int)SpriteHeight);

                        ExpandShrinkButton.Remove();
                        ExpandShrinkButton = new Render.Sprite(Resources.Shrink, CurrentPosition)
                        {
                            PositionUpdate = () => new Vector2(CurrentPosition.X + SpriteWidth - 20, CurrentPosition.Y + CroppedHeight - 20),
                            Scale = new Vector2(0.7f, 0.7f),
                            VisibleCondition = delegate { return ShouldBeVisible; }
                        };

                        ExpandShrinkButton.Add(1);
                    }
                    else
                    {
                        CurrentStatus = SpriteStatus.Shrinked;
                        HudSprite.Crop(0, 0, (int)SpriteWidth, CroppedHeight);

                        ExpandShrinkButton.Remove();
                        ExpandShrinkButton = new Render.Sprite(Resources.Expand, CurrentPosition)
                        {
                            PositionUpdate = () => new Vector2(CurrentPosition.X + SpriteWidth - 20, CurrentPosition.Y + CroppedHeight - 20),
                            Scale = new Vector2(0.7f, 0.7f),
                            VisibleCondition = delegate { return ShouldBeVisible; }
                        };

                        ExpandShrinkButton.Add(1);
                    }

                }
            }
        }
Example #3
0
 static int SortByCost(SpriteStatus One, SpriteStatus Two)
 {
     return(One.Cost.CompareTo(Two.Cost));
 }
Example #4
0
        /// <summary>
        /// Raises the <see cref="E:WndProc" /> event.
        /// </summary>
        /// <param name="args">The <see cref="WndEventArgs"/> instance containing the event data.</param>
        private static void OnWndProc(WndEventArgs args)
        {
            if (HudSprite == null || !ShouldBeVisible)
            {
                return;
            }

            if (IsDragging)
            {
                DraggingPosition.X = (int)(Utils.GetCursorPos().X - XDistanceFromEdge);
                DraggingPosition.Y = (int)(Utils.GetCursorPos().Y - YDistanceFromEdge);

                // Variables.Menu.Item("dz191.dza.hud.x")
                //   .SetValue(new Slider((int)(Utils.GetCursorPos().X - XDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Width));
                // Variables.Menu.Item("dz191.dza.hud.y")
                //   .SetValue(new Slider((int)(Utils.GetCursorPos().Y - YDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Height));
            }

            if (IsInside(Utils.GetCursorPos()) && args.Msg == (uint)WindowsMessages.WM_LBUTTONDOWN)
            {
                if (!IsDragging)
                {
                    if (InitialDragPoint == new Vector2())
                    {
                        InitialDragPoint  = CurrentPosition;
                        XDistanceFromEdge = Math.Abs(InitialDragPoint.X - Utils.GetCursorPos().X);
                        YDistanceFromEdge = Math.Abs(InitialDragPoint.Y - Utils.GetCursorPos().Y);

                        DraggingPosition.X = (int)(Utils.GetCursorPos().X - XDistanceFromEdge);
                        DraggingPosition.Y = (int)(Utils.GetCursorPos().Y - YDistanceFromEdge);
                    }

                    IsDragging = true;
                }
            }
            else if (IsDragging && args.Msg == (uint)WindowsMessages.WM_LBUTTONUP)
            {
                HudSprite.PositionUpdate = () => CurrentPosition;

                Variables.Menu.Item("dz191.dza.hud.x")
                .SetValue(new Slider((int)(Utils.GetCursorPos().X - XDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Width));
                Variables.Menu.Item("dz191.dza.hud.y")
                .SetValue(new Slider((int)(Utils.GetCursorPos().Y - YDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Height));

                InitialDragPoint  = new Vector2();
                XDistanceFromEdge = 0;
                YDistanceFromEdge = 0;
                DraggingPosition  = new Vector2();

                IsDragging = false;
            }

            if (args.Msg == (uint)WindowsMessages.WM_LBUTTONUP)
            {
                if (
                    Utils.GetCursorPos()
                    .Distance(new Vector2(CurrentPosition.X + SpriteWidth - 15,
                                          CurrentPosition.Y + CroppedHeight - 15)) < 7)
                {
                    if (CurrentStatus == SpriteStatus.Shrinked)
                    {
                        CurrentStatus = SpriteStatus.Expanded;
                        HudSprite.Crop(0, 0, (int)SpriteWidth, (int)SpriteHeight);

                        ExpandShrinkButton.Remove();
                        ExpandShrinkButton = new Render.Sprite(Resources.Shrink, CurrentPosition)
                        {
                            PositionUpdate   = () => new Vector2(CurrentPosition.X + SpriteWidth - 20, CurrentPosition.Y + CroppedHeight - 20),
                            Scale            = new Vector2(0.7f, 0.7f),
                            VisibleCondition = delegate { return(ShouldBeVisible); }
                        };

                        ExpandShrinkButton.Add(1);
                    }
                    else
                    {
                        CurrentStatus = SpriteStatus.Shrinked;
                        HudSprite.Crop(0, 0, (int)SpriteWidth, CroppedHeight);

                        ExpandShrinkButton.Remove();
                        ExpandShrinkButton = new Render.Sprite(Resources.Expand, CurrentPosition)
                        {
                            PositionUpdate   = () => new Vector2(CurrentPosition.X + SpriteWidth - 20, CurrentPosition.Y + CroppedHeight - 20),
                            Scale            = new Vector2(0.7f, 0.7f),
                            VisibleCondition = delegate { return(ShouldBeVisible); }
                        };

                        ExpandShrinkButton.Add(1);
                    }
                }
            }
        }