public void Update()
        {
            // Entity Dead
            for (int i = mMstDeadAgents.Count - 1; i >= 0; i--)
            {
                SceneEntityAgent  agent = mMstDeadAgents[i];
                MonsterSpawnPoint msp   = agent.mstPoint;
                if (msp.UpdateRespawnTime(Time.deltaTime))
                {
                    if (agent.spawnArea != null)
                    {
                        if (agent.spawnArea.MaxRespawnCount != 0)
                        {
                            agent.spawnArea.MaxRespawnCount--;
                        }
                        else
                        {
                            mMstDeadAgents.RemoveAt(i);
                            continue;
                        }
                    }
                    else
                    {
                        if (msp.MaxRespawnCount != 0)
                        {
                            msp.MaxRespawnCount--;
                        }
                        else
                        {
                            mMstDeadAgents.RemoveAt(i);
                            continue;
                        }
                    }

                    msp.isDead = false;
                    agent.Respawn();
                    Debug.Log("The Agent [" + agent.Id.ToString() + "] is respawned");
                    mMstDeadAgents.RemoveAt(i);
                }
            }
        }