// Update is called once per frame
    void Update()
    {
        ///////////////////  Load Player
        if (recvMsg.Count <= peopleNum && flag == false)
        {
            recvMsg = LoadController.LoadCharacter();
            for (int i = 0; i < recvMsg.Count; i++)
            {
                //Debug.Log(recvMsg[i].Username);
                if (GameObject.Find(recvMsg[i].Username) == null)
                {
                    //Debug.Log(recvMsg[i].Username);
                    ModelLayer.CreateCharacter(recvMsg[i]);
                    ViewLayer.CreateCharacter(recvMsg[i], playerObject);
                }
            }
        }
        //Debug.Log(recvMsg.Count + "   " + flag);
        if (recvMsg.Count == peopleNum && flag == false)
        {
            for (int i = 0; i < peopleNum; i++)
            {
                Debug.Log("index = " + i + ", name = " + ModelLayer.PlayerName[i] + ", id = " + ModelLayer.PlayerMap[ModelLayer.PlayerName[i]]);
            }
            startTime = Time.time + 3f;
            flag      = true;
        }

        ///////////////////  Player Operation
        if (flag == true && Time.time >= startTime)
        {
            ModelLayer.RefreshMessage(username);
            ModelLayer.MovePosition(username);
            //Debug.Log("1    " + ModelLayer.msg.Optype);
            Skill0Button.onClick.AddListener(
                delegate {
                ModelLayer.ReleaseSkill0(username);
            }
                );
            Skill1Button.onClick.AddListener(
                delegate {
                ModelLayer.ReleaseSkill1(username);
            }
                );

            //Debug.Log("2    " +  ModelLayer.msg.Optype + "   " + ModelLayer.skillQueue.Count);
            ModelLayer.SendMessage();
            //Debug.Log("3    " + ModelLayer.msg.Optype);
            ModelLayer.ReceiveMessage();
            int userId = ModelLayer.PlayerMap[username];

            int diff = ModelLayer.SkillNextFrame[userId][0] - ModelLayer.clientFrame;
            if (diff >= 0)
            {
                Skill0CD.text = (diff / 20).ToString();
            }
            else
            {
                Skill0CD.text = "";
            }
            diff = ModelLayer.SkillNextFrame[userId][1] - ModelLayer.clientFrame;
            if (diff >= 0)
            {
                Skill1CD.text = (diff / 20).ToString();
            }
            else
            {
                Skill1CD.text = "";
            }


            ViewLayer.MovePosition();
            ViewLayer.PlayerAnimation();
        }
    }