public void InitialAchievementBuilding(List <AchievementBuildingData> buildings, int startNo)
    {
        this.m_StartNo   = startNo;
        this.m_Buildings = new Dictionary <int, AchievementBuildingLogicObject>();

        foreach (AchievementBuildingData building in buildings)
        {
            AchievementBuildingLogicObject achievementBuilding = new AchievementBuildingLogicObject(building);
            this.m_Buildings.Add(building.BuildingNo, achievementBuilding);
        }
    }
    public AchievementBuildingLogicData BuildAchievementBuilding(AchievementBuildingType type, TilePosition position)
    {
        AchievementBuildingData data = new AchievementBuildingData();

        data.AchievementBuildingType = type;
        data.BuildingNo       = ++this.m_StartNo;
        data.BuildingPosition = position;
        data.ConfigData       = ConfigInterface.Instance.AchievementBuildingConfigHelper.GetAchievementBuildingData(type);
        data.Life             = data.ConfigData.NeedPropsNumber;

        AchievementBuildingLogicObject newObject = new AchievementBuildingLogicObject(data);

        this.m_Buildings.Add(data.BuildingNo, newObject);
        return(newObject.Data);
    }