コード例 #1
0
ファイル: TextMgr.cs プロジェクト: mashi6/ANCT-FES-2019
    public static void Show(Json json)
    {
        (float x, float y)point = NotesMgr.GetPoint(json.id);
        Judge judge = Judge.Add(point.x, point.y);

        judge.setText(json.judge);
        combo.setText(json.combo.ToString());
        score.setText(json.score.ToString());
    }
コード例 #2
0
ファイル: QueueBundle.cs プロジェクト: mashi6/ANCT-FES-2019
    IEnumerator Start()
    {
        for (int i = 0; i < bundleWidth; i++)
        {
            bundle.Add(new List <NotesPlan>());
        }
        while (isRun)
        {
            yield return(new WaitForSeconds(updateCycle));

            long nowTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

            long elapsedTime = nowTime - PlayMgr.startTime;

            List <NotesPlan> ready = new List <NotesPlan>();
            for (int i = 0; i < bundleWidth; i++)
            {
                if (bundle[i].Count > 0)
                {
                    if (Math.Abs(bundle[i][0].time - elapsedTime) < updateCycle * 1000 * 3)
                    {
                        ready.Add(bundle[i][0]);
                        bundle[i].RemoveAt(0);
                    }
                }
            }

            foreach (NotesPlan plan in ready)
            {
                Debug.Log(plan.notesType);
                if (plan.notesType == "Circle")
                {
                    NotesMgr.AddCircle(plan);
                }
                else if (plan.notesType == "Rectangle")
                {
                    NotesMgr.AddFoot(plan);
                }
            }
        }
    }
コード例 #3
0
    void Start()
    {
        ws_notes = new WebSocket("ws://127.0.0.1:3000/notes"); //初期化

        ws_notes.OnOpen += (sender, e) => {                    //接続確立した時に呼び出される
            Debug.Log("ws_notes open");
        };
        ws_notes.OnMessage += (sender, e) => {//データ受け取った時に呼び出される
            Debug.Log("ws_notes receive message: " + e.Data);

            PlayMgr.context.Post(__ => {
                Json json = JsonUtility.FromJson <Json>(e.Data);
                switch (json.command)
                {
                case "newFoot":
                    NotesMgr.Schedule("Rectangle", json);
                    break;

                case "new":
                    NotesMgr.Schedule("Circle", json);
                    break;

                case "judge":
                    TextMgr.Show(json);
                    if (json.delete)
                    {
                        NotesMgr.Remove(json);
                    }
                    break;

                case "start":
                    PlayMgr.setStart(json.time);
                    break;

                case "end":
                    PlayMgr.clear();
                    break;

                default:
                    break;
                }
            }, null);
        };
        ws_notes.OnError += (sender, e) => {//エラー発生で呼び出される
            Debug.Log("ws_notes error message: " + e.Message);
        };
        ws_notes.OnClose += (sender, e) => {//コネクション切断で呼び出される
            Debug.Log("ws_notes close");
            // reset();
            reConnect_notes();
        };
        ws_notes.Connect(); //WS開始



        ws_foot         = new WebSocket("ws://127.0.0.1:3000/foot");
        ws_foot.OnOpen += (sender, e) => {//接続確立した時に呼び出される
            Debug.Log("ws_foot open");
        };
        ws_notes.OnMessage += (sender, e) => {//データ受け取った時に呼び出される
            Debug.Log("ws_foot receive message: " + e.Data);
            PlayMgr.context.Post(__ => {
                Json json = JsonUtility.FromJson <Json>(e.Data);
                switch (json.command)
                {
                case "foot":
                    FootMgr.Move(json);
                    break;

                case "end":
                    break;

                default:
                    break;
                }
            }, null);
        };
        ws_foot.OnError += (sender, e) => {//エラー発生で呼び出される
            Debug.Log("ws_foot error message: " + e.Message);
        };
        ws_foot.OnClose += (sender, e) => {//コネクション切断で呼び出される
            Debug.Log("ws_foot close");
            reConnect_foot();
        };
        ws_foot.Connect();
    }
コード例 #4
0
 public static void clear()
 {
     NotesMgr.clear();
     TextMgr.clear();
     QueueBundle.clear();
 }