mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-26 05:02:50 +08:00

Previous changes introduced some bugs to the code generation scripts and templates, which now have been fixed.
1873 lines
68 KiB
C#
1873 lines
68 KiB
C#
//------------------------------------------------------------------------------
|
||
// <auto-generated>
|
||
// This code was generated by a tool.
|
||
//
|
||
// Partly generated from
|
||
// https://github.com/sindresorhus/cli-spinners/blob/master/spinners.json
|
||
//
|
||
// Changes to this file may cause incorrect behavior and will be lost if
|
||
// the code is regenerated.
|
||
// </auto-generated>
|
||
//------------------------------------------------------------------------------
|
||
|
||
using System;
|
||
using System.Collections.Generic;
|
||
|
||
namespace Spectre.Console
|
||
{
|
||
public abstract partial class Spinner
|
||
{
|
||
private sealed class DefaultSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⣷",
|
||
"⣯",
|
||
"⣟",
|
||
"⡿",
|
||
"⢿",
|
||
"⣻",
|
||
"⣽",
|
||
"⣾",
|
||
};
|
||
}
|
||
private sealed class AsciiSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"-",
|
||
"\\",
|
||
"|",
|
||
"/",
|
||
"-",
|
||
"\\",
|
||
"|",
|
||
"/",
|
||
};
|
||
}
|
||
private sealed class DotsSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠋",
|
||
"⠙",
|
||
"⠹",
|
||
"⠸",
|
||
"⠼",
|
||
"⠴",
|
||
"⠦",
|
||
"⠧",
|
||
"⠇",
|
||
"⠏",
|
||
};
|
||
}
|
||
private sealed class Dots2Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⣾",
|
||
"⣽",
|
||
"⣻",
|
||
"⢿",
|
||
"⡿",
|
||
"⣟",
|
||
"⣯",
|
||
"⣷",
|
||
};
|
||
}
|
||
private sealed class Dots3Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠋",
|
||
"⠙",
|
||
"⠚",
|
||
"⠞",
|
||
"⠖",
|
||
"⠦",
|
||
"⠴",
|
||
"⠲",
|
||
"⠳",
|
||
"⠓",
|
||
};
|
||
}
|
||
private sealed class Dots4Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠄",
|
||
"⠆",
|
||
"⠇",
|
||
"⠋",
|
||
"⠙",
|
||
"⠸",
|
||
"⠰",
|
||
"⠠",
|
||
"⠰",
|
||
"⠸",
|
||
"⠙",
|
||
"⠋",
|
||
"⠇",
|
||
"⠆",
|
||
};
|
||
}
|
||
private sealed class Dots5Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠋",
|
||
"⠙",
|
||
"⠚",
|
||
"⠒",
|
||
"⠂",
|
||
"⠂",
|
||
"⠒",
|
||
"⠲",
|
||
"⠴",
|
||
"⠦",
|
||
"⠖",
|
||
"⠒",
|
||
"⠐",
|
||
"⠐",
|
||
"⠒",
|
||
"⠓",
|
||
"⠋",
|
||
};
|
||
}
|
||
private sealed class Dots6Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠁",
|
||
"⠉",
|
||
"⠙",
|
||
"⠚",
|
||
"⠒",
|
||
"⠂",
|
||
"⠂",
|
||
"⠒",
|
||
"⠲",
|
||
"⠴",
|
||
"⠤",
|
||
"⠄",
|
||
"⠄",
|
||
"⠤",
|
||
"⠴",
|
||
"⠲",
|
||
"⠒",
|
||
"⠂",
|
||
"⠂",
|
||
"⠒",
|
||
"⠚",
|
||
"⠙",
|
||
"⠉",
|
||
"⠁",
|
||
};
|
||
}
|
||
private sealed class Dots7Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠈",
|
||
"⠉",
|
||
"⠋",
|
||
"⠓",
|
||
"⠒",
|
||
"⠐",
|
||
"⠐",
|
||
"⠒",
|
||
"⠖",
|
||
"⠦",
|
||
"⠤",
|
||
"⠠",
|
||
"⠠",
|
||
"⠤",
|
||
"⠦",
|
||
"⠖",
|
||
"⠒",
|
||
"⠐",
|
||
"⠐",
|
||
"⠒",
|
||
"⠓",
|
||
"⠋",
|
||
"⠉",
|
||
"⠈",
|
||
};
|
||
}
|
||
private sealed class Dots8Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠁",
|
||
"⠁",
|
||
"⠉",
|
||
"⠙",
|
||
"⠚",
|
||
"⠒",
|
||
"⠂",
|
||
"⠂",
|
||
"⠒",
|
||
"⠲",
|
||
"⠴",
|
||
"⠤",
|
||
"⠄",
|
||
"⠄",
|
||
"⠤",
|
||
"⠠",
|
||
"⠠",
|
||
"⠤",
|
||
"⠦",
|
||
"⠖",
|
||
"⠒",
|
||
"⠐",
|
||
"⠐",
|
||
"⠒",
|
||
"⠓",
|
||
"⠋",
|
||
"⠉",
|
||
"⠈",
|
||
"⠈",
|
||
};
|
||
}
|
||
private sealed class Dots9Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⢹",
|
||
"⢺",
|
||
"⢼",
|
||
"⣸",
|
||
"⣇",
|
||
"⡧",
|
||
"⡗",
|
||
"⡏",
|
||
};
|
||
}
|
||
private sealed class Dots10Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⢄",
|
||
"⢂",
|
||
"⢁",
|
||
"⡁",
|
||
"⡈",
|
||
"⡐",
|
||
"⡠",
|
||
};
|
||
}
|
||
private sealed class Dots11Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠁",
|
||
"⠂",
|
||
"⠄",
|
||
"⡀",
|
||
"⢀",
|
||
"⠠",
|
||
"⠐",
|
||
"⠈",
|
||
};
|
||
}
|
||
private sealed class Dots12Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⢀⠀",
|
||
"⡀⠀",
|
||
"⠄⠀",
|
||
"⢂⠀",
|
||
"⡂⠀",
|
||
"⠅⠀",
|
||
"⢃⠀",
|
||
"⡃⠀",
|
||
"⠍⠀",
|
||
"⢋⠀",
|
||
"⡋⠀",
|
||
"⠍⠁",
|
||
"⢋⠁",
|
||
"⡋⠁",
|
||
"⠍⠉",
|
||
"⠋⠉",
|
||
"⠋⠉",
|
||
"⠉⠙",
|
||
"⠉⠙",
|
||
"⠉⠩",
|
||
"⠈⢙",
|
||
"⠈⡙",
|
||
"⢈⠩",
|
||
"⡀⢙",
|
||
"⠄⡙",
|
||
"⢂⠩",
|
||
"⡂⢘",
|
||
"⠅⡘",
|
||
"⢃⠨",
|
||
"⡃⢐",
|
||
"⠍⡐",
|
||
"⢋⠠",
|
||
"⡋⢀",
|
||
"⠍⡁",
|
||
"⢋⠁",
|
||
"⡋⠁",
|
||
"⠍⠉",
|
||
"⠋⠉",
|
||
"⠋⠉",
|
||
"⠉⠙",
|
||
"⠉⠙",
|
||
"⠉⠩",
|
||
"⠈⢙",
|
||
"⠈⡙",
|
||
"⠈⠩",
|
||
"⠀⢙",
|
||
"⠀⡙",
|
||
"⠀⠩",
|
||
"⠀⢘",
|
||
"⠀⡘",
|
||
"⠀⠨",
|
||
"⠀⢐",
|
||
"⠀⡐",
|
||
"⠀⠠",
|
||
"⠀⢀",
|
||
"⠀⡀",
|
||
};
|
||
}
|
||
private sealed class Dots8BitSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠀",
|
||
"⠁",
|
||
"⠂",
|
||
"⠃",
|
||
"⠄",
|
||
"⠅",
|
||
"⠆",
|
||
"⠇",
|
||
"⡀",
|
||
"⡁",
|
||
"⡂",
|
||
"⡃",
|
||
"⡄",
|
||
"⡅",
|
||
"⡆",
|
||
"⡇",
|
||
"⠈",
|
||
"⠉",
|
||
"⠊",
|
||
"⠋",
|
||
"⠌",
|
||
"⠍",
|
||
"⠎",
|
||
"⠏",
|
||
"⡈",
|
||
"⡉",
|
||
"⡊",
|
||
"⡋",
|
||
"⡌",
|
||
"⡍",
|
||
"⡎",
|
||
"⡏",
|
||
"⠐",
|
||
"⠑",
|
||
"⠒",
|
||
"⠓",
|
||
"⠔",
|
||
"⠕",
|
||
"⠖",
|
||
"⠗",
|
||
"⡐",
|
||
"⡑",
|
||
"⡒",
|
||
"⡓",
|
||
"⡔",
|
||
"⡕",
|
||
"⡖",
|
||
"⡗",
|
||
"⠘",
|
||
"⠙",
|
||
"⠚",
|
||
"⠛",
|
||
"⠜",
|
||
"⠝",
|
||
"⠞",
|
||
"⠟",
|
||
"⡘",
|
||
"⡙",
|
||
"⡚",
|
||
"⡛",
|
||
"⡜",
|
||
"⡝",
|
||
"⡞",
|
||
"⡟",
|
||
"⠠",
|
||
"⠡",
|
||
"⠢",
|
||
"⠣",
|
||
"⠤",
|
||
"⠥",
|
||
"⠦",
|
||
"⠧",
|
||
"⡠",
|
||
"⡡",
|
||
"⡢",
|
||
"⡣",
|
||
"⡤",
|
||
"⡥",
|
||
"⡦",
|
||
"⡧",
|
||
"⠨",
|
||
"⠩",
|
||
"⠪",
|
||
"⠫",
|
||
"⠬",
|
||
"⠭",
|
||
"⠮",
|
||
"⠯",
|
||
"⡨",
|
||
"⡩",
|
||
"⡪",
|
||
"⡫",
|
||
"⡬",
|
||
"⡭",
|
||
"⡮",
|
||
"⡯",
|
||
"⠰",
|
||
"⠱",
|
||
"⠲",
|
||
"⠳",
|
||
"⠴",
|
||
"⠵",
|
||
"⠶",
|
||
"⠷",
|
||
"⡰",
|
||
"⡱",
|
||
"⡲",
|
||
"⡳",
|
||
"⡴",
|
||
"⡵",
|
||
"⡶",
|
||
"⡷",
|
||
"⠸",
|
||
"⠹",
|
||
"⠺",
|
||
"⠻",
|
||
"⠼",
|
||
"⠽",
|
||
"⠾",
|
||
"⠿",
|
||
"⡸",
|
||
"⡹",
|
||
"⡺",
|
||
"⡻",
|
||
"⡼",
|
||
"⡽",
|
||
"⡾",
|
||
"⡿",
|
||
"⢀",
|
||
"⢁",
|
||
"⢂",
|
||
"⢃",
|
||
"⢄",
|
||
"⢅",
|
||
"⢆",
|
||
"⢇",
|
||
"⣀",
|
||
"⣁",
|
||
"⣂",
|
||
"⣃",
|
||
"⣄",
|
||
"⣅",
|
||
"⣆",
|
||
"⣇",
|
||
"⢈",
|
||
"⢉",
|
||
"⢊",
|
||
"⢋",
|
||
"⢌",
|
||
"⢍",
|
||
"⢎",
|
||
"⢏",
|
||
"⣈",
|
||
"⣉",
|
||
"⣊",
|
||
"⣋",
|
||
"⣌",
|
||
"⣍",
|
||
"⣎",
|
||
"⣏",
|
||
"⢐",
|
||
"⢑",
|
||
"⢒",
|
||
"⢓",
|
||
"⢔",
|
||
"⢕",
|
||
"⢖",
|
||
"⢗",
|
||
"⣐",
|
||
"⣑",
|
||
"⣒",
|
||
"⣓",
|
||
"⣔",
|
||
"⣕",
|
||
"⣖",
|
||
"⣗",
|
||
"⢘",
|
||
"⢙",
|
||
"⢚",
|
||
"⢛",
|
||
"⢜",
|
||
"⢝",
|
||
"⢞",
|
||
"⢟",
|
||
"⣘",
|
||
"⣙",
|
||
"⣚",
|
||
"⣛",
|
||
"⣜",
|
||
"⣝",
|
||
"⣞",
|
||
"⣟",
|
||
"⢠",
|
||
"⢡",
|
||
"⢢",
|
||
"⢣",
|
||
"⢤",
|
||
"⢥",
|
||
"⢦",
|
||
"⢧",
|
||
"⣠",
|
||
"⣡",
|
||
"⣢",
|
||
"⣣",
|
||
"⣤",
|
||
"⣥",
|
||
"⣦",
|
||
"⣧",
|
||
"⢨",
|
||
"⢩",
|
||
"⢪",
|
||
"⢫",
|
||
"⢬",
|
||
"⢭",
|
||
"⢮",
|
||
"⢯",
|
||
"⣨",
|
||
"⣩",
|
||
"⣪",
|
||
"⣫",
|
||
"⣬",
|
||
"⣭",
|
||
"⣮",
|
||
"⣯",
|
||
"⢰",
|
||
"⢱",
|
||
"⢲",
|
||
"⢳",
|
||
"⢴",
|
||
"⢵",
|
||
"⢶",
|
||
"⢷",
|
||
"⣰",
|
||
"⣱",
|
||
"⣲",
|
||
"⣳",
|
||
"⣴",
|
||
"⣵",
|
||
"⣶",
|
||
"⣷",
|
||
"⢸",
|
||
"⢹",
|
||
"⢺",
|
||
"⢻",
|
||
"⢼",
|
||
"⢽",
|
||
"⢾",
|
||
"⢿",
|
||
"⣸",
|
||
"⣹",
|
||
"⣺",
|
||
"⣻",
|
||
"⣼",
|
||
"⣽",
|
||
"⣾",
|
||
"⣿",
|
||
};
|
||
}
|
||
private sealed class LineSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(130);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"-",
|
||
"\\",
|
||
"|",
|
||
"/",
|
||
};
|
||
}
|
||
private sealed class Line2Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠂",
|
||
"-",
|
||
"–",
|
||
"—",
|
||
"–",
|
||
"-",
|
||
};
|
||
}
|
||
private sealed class PipeSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"┤",
|
||
"┘",
|
||
"┴",
|
||
"└",
|
||
"├",
|
||
"┌",
|
||
"┬",
|
||
"┐",
|
||
};
|
||
}
|
||
private sealed class SimpleDotsSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(400);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
". ",
|
||
".. ",
|
||
"...",
|
||
" ",
|
||
};
|
||
}
|
||
private sealed class SimpleDotsScrollingSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(200);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
". ",
|
||
".. ",
|
||
"...",
|
||
" ..",
|
||
" .",
|
||
" ",
|
||
};
|
||
}
|
||
private sealed class StarSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(70);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"✶",
|
||
"✸",
|
||
"✹",
|
||
"✺",
|
||
"✹",
|
||
"✷",
|
||
};
|
||
}
|
||
private sealed class Star2Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"+",
|
||
"x",
|
||
"*",
|
||
};
|
||
}
|
||
private sealed class FlipSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(70);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"_",
|
||
"_",
|
||
"_",
|
||
"-",
|
||
"`",
|
||
"`",
|
||
"'",
|
||
"´",
|
||
"-",
|
||
"_",
|
||
"_",
|
||
"_",
|
||
};
|
||
}
|
||
private sealed class HamburgerSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"☱",
|
||
"☲",
|
||
"☴",
|
||
};
|
||
}
|
||
private sealed class GrowVerticalSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▁",
|
||
"▃",
|
||
"▄",
|
||
"▅",
|
||
"▆",
|
||
"▇",
|
||
"▆",
|
||
"▅",
|
||
"▄",
|
||
"▃",
|
||
};
|
||
}
|
||
private sealed class GrowHorizontalSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▏",
|
||
"▎",
|
||
"▍",
|
||
"▌",
|
||
"▋",
|
||
"▊",
|
||
"▉",
|
||
"▊",
|
||
"▋",
|
||
"▌",
|
||
"▍",
|
||
"▎",
|
||
};
|
||
}
|
||
private sealed class BalloonSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(140);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
" ",
|
||
".",
|
||
"o",
|
||
"O",
|
||
"@",
|
||
"*",
|
||
" ",
|
||
};
|
||
}
|
||
private sealed class Balloon2Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
".",
|
||
"o",
|
||
"O",
|
||
"°",
|
||
"O",
|
||
"o",
|
||
".",
|
||
};
|
||
}
|
||
private sealed class NoiseSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▓",
|
||
"▒",
|
||
"░",
|
||
};
|
||
}
|
||
private sealed class BounceSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⠁",
|
||
"⠂",
|
||
"⠄",
|
||
"⠂",
|
||
};
|
||
}
|
||
private sealed class BoxBounceSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▖",
|
||
"▘",
|
||
"▝",
|
||
"▗",
|
||
};
|
||
}
|
||
private sealed class BoxBounce2Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▌",
|
||
"▀",
|
||
"▐",
|
||
"▄",
|
||
};
|
||
}
|
||
private sealed class TriangleSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(50);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"◢",
|
||
"◣",
|
||
"◤",
|
||
"◥",
|
||
};
|
||
}
|
||
private sealed class ArcSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"◜",
|
||
"◠",
|
||
"◝",
|
||
"◞",
|
||
"◡",
|
||
"◟",
|
||
};
|
||
}
|
||
private sealed class CircleSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"◡",
|
||
"⊙",
|
||
"◠",
|
||
};
|
||
}
|
||
private sealed class SquareCornersSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(180);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"◰",
|
||
"◳",
|
||
"◲",
|
||
"◱",
|
||
};
|
||
}
|
||
private sealed class CircleQuartersSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"◴",
|
||
"◷",
|
||
"◶",
|
||
"◵",
|
||
};
|
||
}
|
||
private sealed class CircleHalvesSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(50);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"◐",
|
||
"◓",
|
||
"◑",
|
||
"◒",
|
||
};
|
||
}
|
||
private sealed class SquishSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"╫",
|
||
"╪",
|
||
};
|
||
}
|
||
private sealed class ToggleSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(250);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⊶",
|
||
"⊷",
|
||
};
|
||
}
|
||
private sealed class Toggle2Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▫",
|
||
"▪",
|
||
};
|
||
}
|
||
private sealed class Toggle3Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"□",
|
||
"■",
|
||
};
|
||
}
|
||
private sealed class Toggle4Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"■",
|
||
"□",
|
||
"▪",
|
||
"▫",
|
||
};
|
||
}
|
||
private sealed class Toggle5Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▮",
|
||
"▯",
|
||
};
|
||
}
|
||
private sealed class Toggle6Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(300);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"ဝ",
|
||
"၀",
|
||
};
|
||
}
|
||
private sealed class Toggle7Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⦾",
|
||
"⦿",
|
||
};
|
||
}
|
||
private sealed class Toggle8Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"◍",
|
||
"◌",
|
||
};
|
||
}
|
||
private sealed class Toggle9Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"◉",
|
||
"◎",
|
||
};
|
||
}
|
||
private sealed class Toggle10Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"㊂",
|
||
"㊀",
|
||
"㊁",
|
||
};
|
||
}
|
||
private sealed class Toggle11Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(50);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⧇",
|
||
"⧆",
|
||
};
|
||
}
|
||
private sealed class Toggle12Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"☗",
|
||
"☖",
|
||
};
|
||
}
|
||
private sealed class Toggle13Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"=",
|
||
"*",
|
||
"-",
|
||
};
|
||
}
|
||
private sealed class ArrowSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"←",
|
||
"↖",
|
||
"↑",
|
||
"↗",
|
||
"→",
|
||
"↘",
|
||
"↓",
|
||
"↙",
|
||
};
|
||
}
|
||
private sealed class Arrow2Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"⬆️ ",
|
||
"↗️ ",
|
||
"➡️ ",
|
||
"↘️ ",
|
||
"⬇️ ",
|
||
"↙️ ",
|
||
"⬅️ ",
|
||
"↖️ ",
|
||
};
|
||
}
|
||
private sealed class Arrow3Spinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▹▹▹▹▹",
|
||
"▸▹▹▹▹",
|
||
"▹▸▹▹▹",
|
||
"▹▹▸▹▹",
|
||
"▹▹▹▸▹",
|
||
"▹▹▹▹▸",
|
||
};
|
||
}
|
||
private sealed class BouncingBarSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"[ ]",
|
||
"[= ]",
|
||
"[== ]",
|
||
"[=== ]",
|
||
"[ ===]",
|
||
"[ ==]",
|
||
"[ =]",
|
||
"[ ]",
|
||
"[ =]",
|
||
"[ ==]",
|
||
"[ ===]",
|
||
"[====]",
|
||
"[=== ]",
|
||
"[== ]",
|
||
"[= ]",
|
||
};
|
||
}
|
||
private sealed class BouncingBallSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"( ● )",
|
||
"( ● )",
|
||
"( ● )",
|
||
"( ● )",
|
||
"( ●)",
|
||
"( ● )",
|
||
"( ● )",
|
||
"( ● )",
|
||
"( ● )",
|
||
"(● )",
|
||
};
|
||
}
|
||
private sealed class SmileySpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(200);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"😄 ",
|
||
"😝 ",
|
||
};
|
||
}
|
||
private sealed class MonkeySpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(300);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"🙈 ",
|
||
"🙈 ",
|
||
"🙉 ",
|
||
"🙊 ",
|
||
};
|
||
}
|
||
private sealed class HeartsSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"💛 ",
|
||
"💙 ",
|
||
"💜 ",
|
||
"💚 ",
|
||
"❤️ ",
|
||
};
|
||
}
|
||
private sealed class ClockSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"🕛 ",
|
||
"🕐 ",
|
||
"🕑 ",
|
||
"🕒 ",
|
||
"🕓 ",
|
||
"🕔 ",
|
||
"🕕 ",
|
||
"🕖 ",
|
||
"🕗 ",
|
||
"🕘 ",
|
||
"🕙 ",
|
||
"🕚 ",
|
||
};
|
||
}
|
||
private sealed class EarthSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(180);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"🌍 ",
|
||
"🌎 ",
|
||
"🌏 ",
|
||
};
|
||
}
|
||
private sealed class MaterialSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(17);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"███████▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"████████▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
||
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
||
"██████████▁▁▁▁▁▁▁▁▁▁",
|
||
"███████████▁▁▁▁▁▁▁▁▁",
|
||
"█████████████▁▁▁▁▁▁▁",
|
||
"██████████████▁▁▁▁▁▁",
|
||
"██████████████▁▁▁▁▁▁",
|
||
"▁██████████████▁▁▁▁▁",
|
||
"▁██████████████▁▁▁▁▁",
|
||
"▁██████████████▁▁▁▁▁",
|
||
"▁▁██████████████▁▁▁▁",
|
||
"▁▁▁██████████████▁▁▁",
|
||
"▁▁▁▁█████████████▁▁▁",
|
||
"▁▁▁▁██████████████▁▁",
|
||
"▁▁▁▁██████████████▁▁",
|
||
"▁▁▁▁▁██████████████▁",
|
||
"▁▁▁▁▁██████████████▁",
|
||
"▁▁▁▁▁██████████████▁",
|
||
"▁▁▁▁▁▁██████████████",
|
||
"▁▁▁▁▁▁██████████████",
|
||
"▁▁▁▁▁▁▁█████████████",
|
||
"▁▁▁▁▁▁▁█████████████",
|
||
"▁▁▁▁▁▁▁▁████████████",
|
||
"▁▁▁▁▁▁▁▁████████████",
|
||
"▁▁▁▁▁▁▁▁▁███████████",
|
||
"▁▁▁▁▁▁▁▁▁███████████",
|
||
"▁▁▁▁▁▁▁▁▁▁██████████",
|
||
"▁▁▁▁▁▁▁▁▁▁██████████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁████████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
|
||
"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
|
||
"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
||
"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
||
"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
||
"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
|
||
"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
||
"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
||
"██████▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
||
"████████▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
||
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
||
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
||
"█████████▁▁▁▁▁▁▁▁▁▁▁",
|
||
"███████████▁▁▁▁▁▁▁▁▁",
|
||
"████████████▁▁▁▁▁▁▁▁",
|
||
"████████████▁▁▁▁▁▁▁▁",
|
||
"██████████████▁▁▁▁▁▁",
|
||
"██████████████▁▁▁▁▁▁",
|
||
"▁██████████████▁▁▁▁▁",
|
||
"▁██████████████▁▁▁▁▁",
|
||
"▁▁▁█████████████▁▁▁▁",
|
||
"▁▁▁▁▁████████████▁▁▁",
|
||
"▁▁▁▁▁████████████▁▁▁",
|
||
"▁▁▁▁▁▁███████████▁▁▁",
|
||
"▁▁▁▁▁▁▁▁█████████▁▁▁",
|
||
"▁▁▁▁▁▁▁▁█████████▁▁▁",
|
||
"▁▁▁▁▁▁▁▁▁█████████▁▁",
|
||
"▁▁▁▁▁▁▁▁▁█████████▁▁",
|
||
"▁▁▁▁▁▁▁▁▁▁█████████▁",
|
||
"▁▁▁▁▁▁▁▁▁▁▁████████▁",
|
||
"▁▁▁▁▁▁▁▁▁▁▁████████▁",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
|
||
};
|
||
}
|
||
private sealed class MoonSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"🌑 ",
|
||
"🌒 ",
|
||
"🌓 ",
|
||
"🌔 ",
|
||
"🌕 ",
|
||
"🌖 ",
|
||
"🌗 ",
|
||
"🌘 ",
|
||
};
|
||
}
|
||
private sealed class RunnerSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(140);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"🚶 ",
|
||
"🏃 ",
|
||
};
|
||
}
|
||
private sealed class PongSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▐⠂ ▌",
|
||
"▐⠈ ▌",
|
||
"▐ ⠂ ▌",
|
||
"▐ ⠠ ▌",
|
||
"▐ ⡀ ▌",
|
||
"▐ ⠠ ▌",
|
||
"▐ ⠂ ▌",
|
||
"▐ ⠈ ▌",
|
||
"▐ ⠂ ▌",
|
||
"▐ ⠠ ▌",
|
||
"▐ ⡀ ▌",
|
||
"▐ ⠠ ▌",
|
||
"▐ ⠂ ▌",
|
||
"▐ ⠈ ▌",
|
||
"▐ ⠂▌",
|
||
"▐ ⠠▌",
|
||
"▐ ⡀▌",
|
||
"▐ ⠠ ▌",
|
||
"▐ ⠂ ▌",
|
||
"▐ ⠈ ▌",
|
||
"▐ ⠂ ▌",
|
||
"▐ ⠠ ▌",
|
||
"▐ ⡀ ▌",
|
||
"▐ ⠠ ▌",
|
||
"▐ ⠂ ▌",
|
||
"▐ ⠈ ▌",
|
||
"▐ ⠂ ▌",
|
||
"▐ ⠠ ▌",
|
||
"▐ ⡀ ▌",
|
||
"▐⠠ ▌",
|
||
};
|
||
}
|
||
private sealed class SharkSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(120);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▐|\\____________▌",
|
||
"▐_|\\___________▌",
|
||
"▐__|\\__________▌",
|
||
"▐___|\\_________▌",
|
||
"▐____|\\________▌",
|
||
"▐_____|\\_______▌",
|
||
"▐______|\\______▌",
|
||
"▐_______|\\_____▌",
|
||
"▐________|\\____▌",
|
||
"▐_________|\\___▌",
|
||
"▐__________|\\__▌",
|
||
"▐___________|\\_▌",
|
||
"▐____________|\\▌",
|
||
"▐____________/|▌",
|
||
"▐___________/|_▌",
|
||
"▐__________/|__▌",
|
||
"▐_________/|___▌",
|
||
"▐________/|____▌",
|
||
"▐_______/|_____▌",
|
||
"▐______/|______▌",
|
||
"▐_____/|_______▌",
|
||
"▐____/|________▌",
|
||
"▐___/|_________▌",
|
||
"▐__/|__________▌",
|
||
"▐_/|___________▌",
|
||
"▐/|____________▌",
|
||
};
|
||
}
|
||
private sealed class DqpbSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => false;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"d",
|
||
"q",
|
||
"p",
|
||
"b",
|
||
};
|
||
}
|
||
private sealed class WeatherSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"☀️ ",
|
||
"☀️ ",
|
||
"☀️ ",
|
||
"🌤 ",
|
||
"⛅️ ",
|
||
"🌥 ",
|
||
"☁️ ",
|
||
"🌧 ",
|
||
"🌨 ",
|
||
"🌧 ",
|
||
"🌨 ",
|
||
"🌧 ",
|
||
"🌨 ",
|
||
"⛈ ",
|
||
"🌨 ",
|
||
"🌧 ",
|
||
"🌨 ",
|
||
"☁️ ",
|
||
"🌥 ",
|
||
"⛅️ ",
|
||
"🌤 ",
|
||
"☀️ ",
|
||
"☀️ ",
|
||
};
|
||
}
|
||
private sealed class ChristmasSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(400);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"🌲",
|
||
"🎄",
|
||
};
|
||
}
|
||
private sealed class GrenadeSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"، ",
|
||
"′ ",
|
||
" ´ ",
|
||
" ‾ ",
|
||
" ⸌",
|
||
" ⸊",
|
||
" |",
|
||
" ⁎",
|
||
" ⁕",
|
||
" ෴ ",
|
||
" ⁓",
|
||
" ",
|
||
" ",
|
||
" ",
|
||
};
|
||
}
|
||
private sealed class PointSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(125);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"∙∙∙",
|
||
"●∙∙",
|
||
"∙●∙",
|
||
"∙∙●",
|
||
"∙∙∙",
|
||
};
|
||
}
|
||
private sealed class LayerSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(150);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"-",
|
||
"=",
|
||
"≡",
|
||
};
|
||
}
|
||
private sealed class BetaWaveSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"ρββββββ",
|
||
"βρβββββ",
|
||
"ββρββββ",
|
||
"βββρβββ",
|
||
"ββββρββ",
|
||
"βββββρβ",
|
||
"ββββββρ",
|
||
};
|
||
}
|
||
private sealed class AestheticSpinner : Spinner
|
||
{
|
||
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
|
||
public override bool IsUnicode => true;
|
||
public override IReadOnlyList<string> Frames => new List<string>
|
||
{
|
||
"▰▱▱▱▱▱▱",
|
||
"▰▰▱▱▱▱▱",
|
||
"▰▰▰▱▱▱▱",
|
||
"▰▰▰▰▱▱▱",
|
||
"▰▰▰▰▰▱▱",
|
||
"▰▰▰▰▰▰▱",
|
||
"▰▰▰▰▰▰▰",
|
||
"▰▱▱▱▱▱▱",
|
||
};
|
||
}
|
||
|
||
/// <summary>
|
||
/// Contains all predefined spinners.
|
||
/// </summary>
|
||
public static class Known
|
||
{
|
||
/// <summary>
|
||
/// Gets the "Default" spinner.
|
||
/// </summary>
|
||
public static Spinner Default { get; } = new DefaultSpinner();
|
||
/// <summary>
|
||
/// Gets the "Ascii" spinner.
|
||
/// </summary>
|
||
public static Spinner Ascii { get; } = new AsciiSpinner();
|
||
/// <summary>
|
||
/// Gets the "dots" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots { get; } = new DotsSpinner();
|
||
/// <summary>
|
||
/// Gets the "dots2" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots2 { get; } = new Dots2Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots3" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots3 { get; } = new Dots3Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots4" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots4 { get; } = new Dots4Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots5" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots5 { get; } = new Dots5Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots6" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots6 { get; } = new Dots6Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots7" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots7 { get; } = new Dots7Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots8" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots8 { get; } = new Dots8Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots9" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots9 { get; } = new Dots9Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots10" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots10 { get; } = new Dots10Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots11" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots11 { get; } = new Dots11Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots12" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots12 { get; } = new Dots12Spinner();
|
||
/// <summary>
|
||
/// Gets the "dots8Bit" spinner.
|
||
/// </summary>
|
||
public static Spinner Dots8Bit { get; } = new Dots8BitSpinner();
|
||
/// <summary>
|
||
/// Gets the "line" spinner.
|
||
/// </summary>
|
||
public static Spinner Line { get; } = new LineSpinner();
|
||
/// <summary>
|
||
/// Gets the "line2" spinner.
|
||
/// </summary>
|
||
public static Spinner Line2 { get; } = new Line2Spinner();
|
||
/// <summary>
|
||
/// Gets the "pipe" spinner.
|
||
/// </summary>
|
||
public static Spinner Pipe { get; } = new PipeSpinner();
|
||
/// <summary>
|
||
/// Gets the "simpleDots" spinner.
|
||
/// </summary>
|
||
public static Spinner SimpleDots { get; } = new SimpleDotsSpinner();
|
||
/// <summary>
|
||
/// Gets the "simpleDotsScrolling" spinner.
|
||
/// </summary>
|
||
public static Spinner SimpleDotsScrolling { get; } = new SimpleDotsScrollingSpinner();
|
||
/// <summary>
|
||
/// Gets the "star" spinner.
|
||
/// </summary>
|
||
public static Spinner Star { get; } = new StarSpinner();
|
||
/// <summary>
|
||
/// Gets the "star2" spinner.
|
||
/// </summary>
|
||
public static Spinner Star2 { get; } = new Star2Spinner();
|
||
/// <summary>
|
||
/// Gets the "flip" spinner.
|
||
/// </summary>
|
||
public static Spinner Flip { get; } = new FlipSpinner();
|
||
/// <summary>
|
||
/// Gets the "hamburger" spinner.
|
||
/// </summary>
|
||
public static Spinner Hamburger { get; } = new HamburgerSpinner();
|
||
/// <summary>
|
||
/// Gets the "growVertical" spinner.
|
||
/// </summary>
|
||
public static Spinner GrowVertical { get; } = new GrowVerticalSpinner();
|
||
/// <summary>
|
||
/// Gets the "growHorizontal" spinner.
|
||
/// </summary>
|
||
public static Spinner GrowHorizontal { get; } = new GrowHorizontalSpinner();
|
||
/// <summary>
|
||
/// Gets the "balloon" spinner.
|
||
/// </summary>
|
||
public static Spinner Balloon { get; } = new BalloonSpinner();
|
||
/// <summary>
|
||
/// Gets the "balloon2" spinner.
|
||
/// </summary>
|
||
public static Spinner Balloon2 { get; } = new Balloon2Spinner();
|
||
/// <summary>
|
||
/// Gets the "noise" spinner.
|
||
/// </summary>
|
||
public static Spinner Noise { get; } = new NoiseSpinner();
|
||
/// <summary>
|
||
/// Gets the "bounce" spinner.
|
||
/// </summary>
|
||
public static Spinner Bounce { get; } = new BounceSpinner();
|
||
/// <summary>
|
||
/// Gets the "boxBounce" spinner.
|
||
/// </summary>
|
||
public static Spinner BoxBounce { get; } = new BoxBounceSpinner();
|
||
/// <summary>
|
||
/// Gets the "boxBounce2" spinner.
|
||
/// </summary>
|
||
public static Spinner BoxBounce2 { get; } = new BoxBounce2Spinner();
|
||
/// <summary>
|
||
/// Gets the "triangle" spinner.
|
||
/// </summary>
|
||
public static Spinner Triangle { get; } = new TriangleSpinner();
|
||
/// <summary>
|
||
/// Gets the "arc" spinner.
|
||
/// </summary>
|
||
public static Spinner Arc { get; } = new ArcSpinner();
|
||
/// <summary>
|
||
/// Gets the "circle" spinner.
|
||
/// </summary>
|
||
public static Spinner Circle { get; } = new CircleSpinner();
|
||
/// <summary>
|
||
/// Gets the "squareCorners" spinner.
|
||
/// </summary>
|
||
public static Spinner SquareCorners { get; } = new SquareCornersSpinner();
|
||
/// <summary>
|
||
/// Gets the "circleQuarters" spinner.
|
||
/// </summary>
|
||
public static Spinner CircleQuarters { get; } = new CircleQuartersSpinner();
|
||
/// <summary>
|
||
/// Gets the "circleHalves" spinner.
|
||
/// </summary>
|
||
public static Spinner CircleHalves { get; } = new CircleHalvesSpinner();
|
||
/// <summary>
|
||
/// Gets the "squish" spinner.
|
||
/// </summary>
|
||
public static Spinner Squish { get; } = new SquishSpinner();
|
||
/// <summary>
|
||
/// Gets the "toggle" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle { get; } = new ToggleSpinner();
|
||
/// <summary>
|
||
/// Gets the "toggle2" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle2 { get; } = new Toggle2Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle3" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle3 { get; } = new Toggle3Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle4" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle4 { get; } = new Toggle4Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle5" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle5 { get; } = new Toggle5Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle6" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle6 { get; } = new Toggle6Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle7" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle7 { get; } = new Toggle7Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle8" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle8 { get; } = new Toggle8Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle9" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle9 { get; } = new Toggle9Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle10" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle10 { get; } = new Toggle10Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle11" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle11 { get; } = new Toggle11Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle12" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle12 { get; } = new Toggle12Spinner();
|
||
/// <summary>
|
||
/// Gets the "toggle13" spinner.
|
||
/// </summary>
|
||
public static Spinner Toggle13 { get; } = new Toggle13Spinner();
|
||
/// <summary>
|
||
/// Gets the "arrow" spinner.
|
||
/// </summary>
|
||
public static Spinner Arrow { get; } = new ArrowSpinner();
|
||
/// <summary>
|
||
/// Gets the "arrow2" spinner.
|
||
/// </summary>
|
||
public static Spinner Arrow2 { get; } = new Arrow2Spinner();
|
||
/// <summary>
|
||
/// Gets the "arrow3" spinner.
|
||
/// </summary>
|
||
public static Spinner Arrow3 { get; } = new Arrow3Spinner();
|
||
/// <summary>
|
||
/// Gets the "bouncingBar" spinner.
|
||
/// </summary>
|
||
public static Spinner BouncingBar { get; } = new BouncingBarSpinner();
|
||
/// <summary>
|
||
/// Gets the "bouncingBall" spinner.
|
||
/// </summary>
|
||
public static Spinner BouncingBall { get; } = new BouncingBallSpinner();
|
||
/// <summary>
|
||
/// Gets the "smiley" spinner.
|
||
/// </summary>
|
||
public static Spinner Smiley { get; } = new SmileySpinner();
|
||
/// <summary>
|
||
/// Gets the "monkey" spinner.
|
||
/// </summary>
|
||
public static Spinner Monkey { get; } = new MonkeySpinner();
|
||
/// <summary>
|
||
/// Gets the "hearts" spinner.
|
||
/// </summary>
|
||
public static Spinner Hearts { get; } = new HeartsSpinner();
|
||
/// <summary>
|
||
/// Gets the "clock" spinner.
|
||
/// </summary>
|
||
public static Spinner Clock { get; } = new ClockSpinner();
|
||
/// <summary>
|
||
/// Gets the "earth" spinner.
|
||
/// </summary>
|
||
public static Spinner Earth { get; } = new EarthSpinner();
|
||
/// <summary>
|
||
/// Gets the "material" spinner.
|
||
/// </summary>
|
||
public static Spinner Material { get; } = new MaterialSpinner();
|
||
/// <summary>
|
||
/// Gets the "moon" spinner.
|
||
/// </summary>
|
||
public static Spinner Moon { get; } = new MoonSpinner();
|
||
/// <summary>
|
||
/// Gets the "runner" spinner.
|
||
/// </summary>
|
||
public static Spinner Runner { get; } = new RunnerSpinner();
|
||
/// <summary>
|
||
/// Gets the "pong" spinner.
|
||
/// </summary>
|
||
public static Spinner Pong { get; } = new PongSpinner();
|
||
/// <summary>
|
||
/// Gets the "shark" spinner.
|
||
/// </summary>
|
||
public static Spinner Shark { get; } = new SharkSpinner();
|
||
/// <summary>
|
||
/// Gets the "dqpb" spinner.
|
||
/// </summary>
|
||
public static Spinner Dqpb { get; } = new DqpbSpinner();
|
||
/// <summary>
|
||
/// Gets the "weather" spinner.
|
||
/// </summary>
|
||
public static Spinner Weather { get; } = new WeatherSpinner();
|
||
/// <summary>
|
||
/// Gets the "christmas" spinner.
|
||
/// </summary>
|
||
public static Spinner Christmas { get; } = new ChristmasSpinner();
|
||
/// <summary>
|
||
/// Gets the "grenade" spinner.
|
||
/// </summary>
|
||
public static Spinner Grenade { get; } = new GrenadeSpinner();
|
||
/// <summary>
|
||
/// Gets the "point" spinner.
|
||
/// </summary>
|
||
public static Spinner Point { get; } = new PointSpinner();
|
||
/// <summary>
|
||
/// Gets the "layer" spinner.
|
||
/// </summary>
|
||
public static Spinner Layer { get; } = new LayerSpinner();
|
||
/// <summary>
|
||
/// Gets the "betaWave" spinner.
|
||
/// </summary>
|
||
public static Spinner BetaWave { get; } = new BetaWaveSpinner();
|
||
/// <summary>
|
||
/// Gets the "aesthetic" spinner.
|
||
/// </summary>
|
||
public static Spinner Aesthetic { get; } = new AestheticSpinner();
|
||
}
|
||
}
|
||
}
|