public EraseCellEventActions(CellEventGenerator eventGenerator, CellMapper cellMapper, GameCameraController gameCameraController) : base( null, null, new ClickToEraseCellEvent(eventGenerator, cellMapper), new DragToMoveCamera(gameCameraController), null ) { }
/// <summary> /// <paramref name="direction"/>方向に道路があるか返す /// </summary> private bool ExistsRoad(CellMapper mapper, CellEvent owner, Vector2Int direction) { var position = owner.Origin + direction; if (!mapper.CellEvent.Map.ContainsKey(position)) { return(false); } return(mapper.CellEvent.Map[position] is IRoad); }
public ClickToDevelopCell( CellGenerator cellGenerator, CellMapper cellMapper, int replaceCellRecordId, int blankCellRecordId, int generateBlankRange ) { this.cellGenerator = cellGenerator; this.cellMapper = cellMapper; this.replaceCellRecordId = replaceCellRecordId; this.blankCellRecordId = blankCellRecordId; this.generateBlankRange = generateBlankRange; }
public List <HoursLogTableTemp> ProcessFile(string fullPath) { using (var stream = File.Open(fullPath, FileMode.Open, FileAccess.Read)) { IExcelDataReader reader; using (reader = ExcelReaderFactory.CreateReader(stream)) { var config = new ExcelDataSetConfiguration { ConfigureDataTable = r => new ExcelDataTableConfiguration { UseHeaderRow = false } }; var dataSet = reader.AsDataSet(config); var dataTable = dataSet.Tables; var rows = dataTable[0].Rows; var columns = dataTable[0].Columns; var hoursLogged = new List <HoursLogTableTemp>(); for (var row = 0; row < rows.Count; row++) { var log = new HoursLogTableTemp { RowID = 0, RowData = new List <string>() }; var cell = new CellMapper(); for (var col = 0; col < columns.Count; col++) { log.RowID = row; log.RowData.Add((rows[row][col]).ToString()); } log.ColCount = columns.Count; hoursLogged.Add(log); } return(hoursLogged); } } }
private void Restore_QP() { var column_F = tables.BazaInfoHydro.Column("F"); var column_QP = tables.CalcsHydro.Column("QP"); var equationName = "QP = b * F"; var cellMapper = CellMapper.Combine(new ZeroOrGreaterCellMapper(), new RoundDoubleCellMapper(5)); CalcUtils.RestoreColumn(tables.CoeffsTable, column_F, column_QP, cellMapper, equationName, false); tables.Result.Column("QP").SetDataFrom( tables.CalcsHydro.Column("QP_Used")); }
public DevelopCellActions( CellGenerator cellGenerator, CellMapper cellMapper, int replaceCellRecordId, int blankCellRecordId, int generateBlankRange, GameCameraController gameCameraController ) : base( null, null, new ClickToDevelopCell( cellGenerator, cellMapper, replaceCellRecordId, blankCellRecordId, generateBlankRange ), new DragToMoveCamera(gameCameraController), null ) { }
public ClickToEraseCellEvent(CellEventGenerator eventGenerator, CellMapper cellMapper) { this.eventGenerator = eventGenerator; this.cellMapper = cellMapper; }
public Constants.CellEventGenerateEvalute CanGenerate(Cell origin, int cellEventRecordId, CellMapper cellMapper) { Assert.IsNotNull(this.condition); var cellPositions = Vector2IntUtility.GetRange(origin.Position, Vector2Int.one * this.size, p => cellMapper.Cell.Map.ContainsKey(p)); // 配置したいところにセルがない場合は生成できない if (cellPositions.Count != this.size * this.size) { return(Constants.CellEventGenerateEvalute.NotCell); } // 配置したいセルにイベントがあった場合は生成できない var cells = cellMapper.GetCells(cellPositions); if (Array.FindIndex(cells, c => cellMapper.HasEvent(c)) != -1) { return(Constants.CellEventGenerateEvalute.AlreadyExistsCellEvent); } // コストが満たしていない場合は生成できない var gameSystem = GameSystem.Instance; var masterData = gameSystem.MasterData.LevelUpCost.Records.Get(cellEventRecordId, 0); Assert.IsNotNull(masterData, $"CellEventRecordId = {cellEventRecordId}の{typeof(MasterDataLevelUpCost.Record)}がありませんでした"); if (!masterData.Cost.IsEnough(gameSystem.User, gameSystem.MasterData.Item)) { return(Constants.CellEventGenerateEvalute.NotEnoughCost); } // セルイベントごとの条件を満たしていない場合は生成できない if (!this.condition.Evalute(cells)) { return(Constants.CellEventGenerateEvalute.NotEnoughCondition); } return(Constants.CellEventGenerateEvalute.Possible); }