コード例 #1
0
        public virtual void RecalculatePoints()
        {
            if (Skin == null)
            {
                return;
            }

            SkinCoordinates.Clear();

            int local_x = X;
            int local_y = Y;

            if (Skin.Length == 1)
            {
                SkinCoordinates.Add(new Point(local_x, local_y), Skin[0]);
                return;
            }

            for (int i = 0; i < Skin.Length - 1; i++)
            {
                if (Skin[i] == '\n')
                {
                    local_y++;
                    local_x = X;
                }
                else
                {
                    local_x++;
                    SkinCoordinates.Add(new Point(local_x, local_y), Skin[i]);
                }
            }
        }
コード例 #2
0
        public override void RecalculatePoints()
        {
            SkinCoordinates.Clear();

            int local_x = X;
            int local_y = Y;

            for (int i = 0; i < Skin.Length; i++)
            {
                if (Skin[i] == '\n')
                {
                    local_y++;
                    local_x = X;
                }
                else if (Skin[i] == GunChar)
                {
                    GunCoordinates = new Point(local_x, local_y);
                }
                else
                {
                    local_x++;
                    SkinCoordinates.Add(new Point(local_x, local_y), Skin[i]);
                }
            }
        }
コード例 #3
0
ファイル: Menu.cs プロジェクト: NikolayZagday/ConsoleGame
        public override void RecalculatePoints()
        {
            SkinCoordinates.Clear();

            int local_x = X;
            int local_y = Y;

            foreach (var mItem in Items)
            {
                if (mItem == SelectedItem)
                {
                    string menuLine = "";

                    if (mItem is IMenuMultiItem)
                    {
                        menuLine = ItemPointer + " " + ((IMenuMultiItem)mItem).GetFullString();
                    }
                    else
                    {
                        menuLine = ItemPointer + " " + mItem.Title;
                    }

                    for (int i = 0; i < menuLine.Length; i++)
                    {
                        SkinCoordinates.Add(new Point(local_x, local_y), menuLine[i]);
                        local_x++;
                    }

                    local_y++;
                    local_x = X;
                }
                else
                {
                    string menuLine = "";

                    if (mItem is IMenuMultiItem)
                    {
                        menuLine = "  " + ((IMenuMultiItem)mItem).GetFullString();
                    }
                    else
                    {
                        menuLine = "  " + mItem.Title;
                    }

                    for (int i = 0; i < menuLine.Length; i++)
                    {
                        SkinCoordinates.Add(new Point(local_x, local_y), menuLine[i]);
                        local_x++;
                    }

                    local_y++;
                    local_x = X;
                }
            }
        }
コード例 #4
0
        public override void RecalculatePoints()
        {
            SkinCoordinates.Clear();

            foreach (var letter in Letters)
            {
                var en = letter.SkinCoordinates.GetEnumerator();

                while (en.MoveNext())
                {
                    var keyPoint  = en.Entry.Key;
                    var charValue = en.Entry.Value;

                    if (!SkinCoordinates.ContainsKey(keyPoint))
                    {
                        SkinCoordinates.Add(keyPoint, charValue);
                    }
                }
            }
        }
コード例 #5
0
 public bool IsEntityInBounds(int x, int y)
 {
     return(SkinCoordinates.Contains(new Point(x, y)));
 }