示例#1
0
    void OnLoadDataClicked(string fileName)
    {
        ClearData();
        MapSaveData saveData = MapDataBase.LoadData(fileName);

        if (saveData == null)
        {
            return;
        }
        MapManager.Instant.ClearData();
        for (int i = 0; i < saveData.blockList.Count; ++i)
        {
            MapSaveCoord saveCo = saveData.blockList [i];
            MapManager.Instant.SetBlock(new Coord(saveCo.xPos, saveCo.yPos), false);
        }
        if (saveData.startCo != null)
        {
            OnClickGird(new Coord(saveData.startCo.xPos, saveData.startCo.yPos), MapView.GridType.StartPoint);
        }
        if (saveData.endCo != null)
        {
            OnClickGird(new Coord(saveData.endCo.xPos, saveData.endCo.yPos), MapView.GridType.EndPoint);
        }
        view.RefreshBlock();
    }
示例#2
0
    void OnSaveDataClicked(string fileName)
    {
        MapSaveData saveData = new MapSaveData();

        if (mHasStartCo)
        {
            saveData.startCo      = new MapSaveCoord();
            saveData.startCo.xPos = mStartCo.xPos;
            saveData.startCo.yPos = mStartCo.yPos;
        }
        if (mHasEndCo)
        {
            saveData.endCo      = new MapSaveCoord();
            saveData.endCo.xPos = mEndCo.xPos;
            saveData.endCo.yPos = mEndCo.yPos;
        }
        List <Coord> blockList = MapManager.Instant.GetBlockList();

        for (int i = 0; i < blockList.Count; ++i)
        {
            MapSaveCoord saveCo = new MapSaveCoord();
            saveCo.xPos = blockList [i].xPos;
            saveCo.yPos = blockList [i].yPos;
            saveData.blockList.Add(saveCo);
        }
        MapDataBase.SaveData(saveData, fileName);
    }
示例#3
0
    private MapSaveCoord GetEmptyCoord()
    {
        MapSaveCoord co = new MapSaveCoord();

        co.xPos = uint.MaxValue;
        co.yPos = uint.MaxValue;
        return(co);
    }
示例#4
0
 public void LoadDataCheck()
 {
     if (IsEmptyCoord(startCo))
     {
         startCo = null;
     }
     if (IsEmptyCoord(endCo))
     {
         endCo = null;
     }
 }
示例#5
0
 public void SaveDataCheck()
 {
     if (startCo == null)
     {
         startCo = GetEmptyCoord();
     }
     if (endCo == null)
     {
         endCo = GetEmptyCoord();
     }
 }
示例#6
0
 private bool IsEmptyCoord(MapSaveCoord co)
 {
     return(co.xPos == uint.MaxValue && co.yPos == uint.MaxValue);
 }