public void SetCurrentFieldMapID(uint map_id, float map_x, float map_z, float map_dir)
    {
        current = new CurrentFieldData();
        current.fieldTransitionInfo.portalID = 0u;
        current.fieldTransitionInfo.mapID    = map_id;
        current.fieldTransitionInfo.mapX     = map_x;
        current.fieldTransitionInfo.mapZ     = map_z;
        current.fieldTransitionInfo.mapDir   = map_dir;
        if (current.fieldTransitionInfo.mapID != 0)
        {
            current.mapData = Singleton <FieldMapTable> .I.GetFieldMapData(current.fieldTransitionInfo.mapID);
        }
        else
        {
            current.mapData = null;
        }
        current.isValidBoss = false;
        List <FieldMapTable.EnemyPopTableData> enemyPopList = Singleton <FieldMapTable> .I.GetEnemyPopList(currentMapID);

        if (enemyPopList != null)
        {
            int i = 0;
            for (int count = enemyPopList.Count; i < count; i++)
            {
                FieldMapTable.EnemyPopTableData enemyPopTableData = enemyPopList[i];
                if (enemyPopTableData != null && enemyPopTableData.bossFlag)
                {
                    current.isValidBoss = true;
                    break;
                }
            }
        }
        _SetFieldPortalInfoList(current.fieldTransitionInfo.mapID);
    }
 public void ClearCurrentFieldData()
 {
     current = new CurrentFieldData();
 }