コード例 #1
0
ファイル: Game1.cs プロジェクト: MrMatKubic/LD39-Run-n-Score
 protected override void LoadContent()
 {
     spriteBatch = new SpriteBatch(GraphicsDevice);
     Resources.LoadResources(this.Content);
     this.manager  = new MenuManager(MenuState.HOME);
     this.smanager = new SongsManager();
 }
コード例 #2
0
 public SingersController(KtvSystemDBContext context, SingersManager singersManager, SingareasManager singareasManager, SongsManager songsManager)
 {
     _context          = context;
     _singersManager   = singersManager;
     _singareasManager = singareasManager;
     _songsManager     = songsManager;
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:VodManageSystem.Controllers.SongController"/> class.
 /// </summary>
 /// <param name="context">Context.</param>
 /// <param name="songsManager">Song manager.</param>
 /// <param name="languagesManager">Language manager.</param>
 /// <param name="singersManager">Singer manager.</param>
 public SongsController(KtvSystemDBContext context, SongsManager songsManager, LanguagesManager languagesManager, SingersManager singersManager)
 {
     _context          = context;
     _songsManager     = songsManager;
     _languagesManager = languagesManager;
     _singersManager   = singersManager;
 }
コード例 #4
0
    private void _Save()
    {
        string title = System.IO.Path.GetFileNameWithoutExtension(SongPath);

        _NoseMoves   = new PathManager(_NoseMoves).Simplify().Nodes;
        _RWristMoves = new PathManager(_RWristMoves).Simplify().Nodes;
        _LWristMoves = new PathManager(_LWristMoves).Simplify().Nodes;

        List <PathManager.TimedPathNode>[] moves = new List <PathManager.TimedPathNode>[] { _NoseMoves, _RWristMoves, _LWristMoves };
        SongsManager.Serialize(title, SongPath, moves);
    }
コード例 #5
0
    private void _CreateButtons()
    {
        _Buttons = new List <TextureButton>();
        List <string> files = SongsManager.List();

        GetNode <CenterContainer>("ColorRect/NoSongs").Hide();
        if (files.Count <= 0)
        {
            GetNode <CenterContainer>("ColorRect/NoSongs").Show();
        }
        else
        {
            foreach (string file in files)
            {
                _CreateButton(file, System.IO.Path.GetFileNameWithoutExtension(file));
            }
        }
    }
コード例 #6
0
    void Update()
    {
        if (m_labelStatus != null)
        {
            m_labelStatus.text =
                System.DateTime.Now.ToLongTimeString()
                + Environment.NewLine
                + SongsManager.SetSongScanStatus()
                + Environment.NewLine
                + SongsManager.GetSongs().Count
                + Environment.NewLine;
        }

        if (Input.GetKeyDown(KeyCode.Return))
        {
            SceneManager.LoadScene("src/view/base/SMainView");
            m_labelStatus.text = "ooooo";
        }
    }
コード例 #7
0
    public void OnPressed()
    {
        string title;

        List <PathManager.TimedPathNode>[] Moves;
        Godot.AudioStream Song;

        SongsManager.Deserialize(ShybPath, out title, out Song, out Moves);

        PackedScene target = GD.Load("res://Scenes/Play/Play.tscn") as PackedScene;
        Play        scene  = (Play)target.Instance();

        scene.Song  = Song;
        scene.Moves = Moves;

        EmitSignal(nameof(Leaving));
        QueueFree();
        GetTree().Root.AddChild(scene);
    }
コード例 #8
0
ファイル: SongParser.cs プロジェクト: gitter-badger/Play
    public static bool ParseSongFile(string path, Encoding enc = null)
    {
        Note lastNote = null;  //Holds last parsed note. Get's reset on player change
        bool endFound = false; // True if end tag was found

        int player = 1;

        char[] trimChars  = { ' ', ':' };
        char[] splitChars = { ' ' };

        Dictionary <ESongHeader, System.Object> headers = new Dictionary <ESongHeader, System.Object>();
        List <List <Sentence> > voicesSentences         = new List <List <Sentence> >
        {
            new List <Sentence>(),
            new List <Sentence>(),
            new List <Sentence>()
        };

        try
        {
            using (StreamReader reader = TxtReader.GetFileStreamReader(path, enc))
            {
                bool   finishedHeaders = false;
                string directory       = new FileInfo(path).Directory.FullName;

                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();
                    if (line == "" || line[0].Equals(" ") ||
                        (finishedHeaders && line[0].Equals('#')))
                    {
                        Debug.Log(String.Format("Invalid linestart found in {0} :: \"{1}\". Aborting.", path, line.ToString()));
                        return(false);
                    }
                    if (!finishedHeaders && line[0].Equals('#'))
                    {
                        int    pos        = line.IndexOf(":", StringComparison.Ordinal);
                        string identifier = line.Substring(1, pos - 1).Trim().ToUpper();
                        if (identifier.Contains(" ") || identifier.Length < 2)
                        {
                            HandleParsingError("invalid file...", EParsingErrorSeverity.Critical);
                            continue;
                        }
                        string value = line.Substring(pos + 1).Trim();

                        if (value == "")
                        {
                            // invalid tag.
                            HandleParsingError("Invalid empty tag found", EParsingErrorSeverity.Minor);
                            continue;
                        }

                        if (identifier.Equals("ENCODING"))
                        {
                            if (value.Equals("UTF8"))
                            {
                                value = "UTF-8";
                            }
                            Encoding newEncoding = Encoding.GetEncoding(value);
                            if (!newEncoding.Equals(reader.CurrentEncoding))
                            {
                                reader.Dispose();
                                return(ParseSongFile(path, newEncoding));
                            }
                        }

                        identifier = ParseHeaderField(headers, directory, identifier, value);
                    }
                    else
                    {
                        if (!finishedHeaders)
                        {
                            finishedHeaders = true;
                        }
                        ParseLyricsTxtLine(ref lastNote, ref endFound, ref player, trimChars, splitChars, ref line);
                    }
                }

                if (reader.EndOfStream && !finishedHeaders)
                {
                    HandleParsingError("Lyrics/Notes missing", EParsingErrorSeverity.Critical);
                }

                CheckMinimalRequiredHeaders(headers);
            }
        }
        catch (Exception e)
        {
            Debug.Log("Error reading song file" + e.Message);
            return(false);
        }
        Song song = new Song(headers, voicesSentences, path);

        SongsManager.AddSongs(song);
        return(true);
    }
コード例 #9
0
 private void _SetupAudioPlayer()
 {
     // Load selected path as audio stream
     _Audioplayer        = GetNode <AudioStreamPlayer>("AudioPlayer");
     _Audioplayer.Stream = SongsManager.AudioBufferFromFile(SongPath) as Godot.AudioStream;
 }