public List <int> RepairAchievementBuilding(AchievementBuildingLogicData achievementBuilding) { List <int> result = new List <int>(); int maxLife = achievementBuilding.MaxLife; int currentLife = achievementBuilding.Life; foreach (KeyValuePair <int, PropsLogicObject> props in this.m_Props) { if (props.Value.Data.PropsType == achievementBuilding.NeedProps && props.Value.Data.RemainingCD == 0) { result.Add(props.Key); if (++currentLife == maxLife) { break; } } } foreach (int propsNo in result) { this.m_Props.Remove(propsNo); } return(result); }
public AchievementBuildingLogicData BuildAchievementBuilding(AchievementBuildingType achievementBuildingType, TilePosition position) { AchievementBuildingLogicData result = this.m_AchievementBuildingModule.BuildAchievementBuilding(achievementBuildingType, position); List <int> useProps = this.m_PropsModule.BuildAchievementBuilding(achievementBuildingType); BuildAchievementBuildingRequestParameter request = new BuildAchievementBuildingRequestParameter(); request.AchievementBuildingType = achievementBuildingType; request.PositionRow = position.Row; request.PositionColumn = position.Column; request.UseProps = useProps; CommunicationUtility.Instance.BuildAchievementBuilding(request); return(result); }
public AchievementBuildingLogicObject(AchievementBuildingData data) { this.m_Data = data; this.m_LogicData = new AchievementBuildingLogicData(data); }