예제 #1
0
        internal SkinMania Clone()
        {
            SkinMania ret = (SkinMania)MemberwiseClone();

            ret.imageMap        = new Dictionary <string, string>(imageMap);
            ret.colours         = new Dictionary <string, Color>(colours);
            ret.flip            = new Dictionary <string, bool?>(flip);
            ret.noteBodyStyle   = new Dictionary <string, ManiaNoteBodyStyle?>(noteBodyStyle);
            ret.ColumnLineWidth = new List <float>(ColumnLineWidth);
            ret.ColumnWidth     = new List <float>(ColumnWidth);
            ret.ColumnSpacing   = new List <float>(ColumnSpacing);
            ret.LightingNWidth  = new List <float>(LightingNWidth);
            ret.LightingLWidth  = new List <float>(LightingLWidth);
            return(ret);
        }
예제 #2
0
        internal static SkinMania LoadManiaSkin(int column, Mods mods = Mods.None)
        {
            SkinMania ret = Current.ManiaSkins.Find(s => s.Columns == column);

            if (ret == null)
            {
                ret = new SkinMania(column);
                Current.ManiaSkins.Add(ret);
            }

            if (column <= 1)
            {
                // disallow split stages for 1K
                ret.SplitStages         = false;
                ret.SplitStagesFromSkin = null;
            }
            else
            {
                ret.SplitStages = column >= 10 || (mods & Mods.KeyCoop) > 0;
            }

            return(ret);
        }
예제 #3
0
 public SkinMania(SkinMania fromSkin) : this(fromSkin.Columns)
 {
 }