public static bool AddBlockInChunk(Vector2Int chunk, CSBlock block) { List <CSBlock> chunkBlocks = GetChunkBlocks(chunk); //检查是否已存在 bool addSuccess = false; bool isExist = false; foreach (CSBlock b in chunkBlocks) { if (b.position.x == block.position.x && b.position.y == block.position.y && b.position.z == block.position.z) { isExist = true; break; } } //添加到list中 if (!isExist) { chunkBlocks.Add(block); Redis.SetChunkData(chunk, chunkBlocks); addSuccess = true; } return(addSuccess); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"{Quotes}{SqlInsertBuilder.CreateInsertSql(datatable)} SELECT SCOPE_IDENTITY() AS INT;{Quotes};"; string parameterName = string.Empty; string propertyName = string.Empty; string parameterValue = string.Empty; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString}"); foreach (DataColumn clm in datatable.Columns) { if (clm.AutoIncrement) { continue; } parameterName = $"{Quotes}@{clm.ColumnName.Replace(" ", "")}{Quotes}"; propertyName = ProperVarName.Get(clm.ColumnName); parameterValue = $"{ProperVarName.Get(datatable.TableName.ToLower())}.{propertyName}"; if (clm.AllowDBNull) { parameterValue += " ?? (object)DBNull.Value"; } usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({parameterName}, {parameterValue});"); } usingBlock.Statements.Add($"table.DbAccess.Commands.Add(sqlCommand);"); this.Statements.Add(usingBlock.ToString()); }
private void ConstructBody() { string className = datatable.TableName; string instanceName = ProperVarName.Get(datatable.TableName.ToLower()); this.Statements.Add("var dt = table.DbAccess.GetDataTable(sqlCommand);"); this.Statements.Add($"List<{className}> list = new List<{className}>();"); CSBlock forEachBlock = new CSBlock("foreach (DataRow dataRow in dt.Rows)"); forEachBlock.Statements.Add($"{className} {instanceName} = new {className}();"); foreach (DataColumn clm in datatable.Columns) { string clmName = ProperVarName.Get(clm.ColumnName, false); string propName = ProperVarName.Get(clm.ColumnName, true); if (clm.AllowDBNull) { forEachBlock.Statements.Add($"{instanceName}.{propName} = ({ProperCSTypeName.Get(clm)})(dataRow[{Quotes}{clmName}{Quotes}] == DBNull.Value ? null : dataRow[{Quotes}{clmName}{Quotes}]);"); } else { forEachBlock.Statements.Add($"{instanceName}.{propName} = ({ProperCSTypeName.Get(clm)})dataRow[{Quotes}{clmName}{Quotes}];"); } } forEachBlock.Statements.Add($"list.Add({instanceName});"); this.Statements.Add(forEachBlock.ToString()); this.Statements.Add("return list;"); }
public static void AddBlock(CSBlock block) { Chunk chunk = GetChunk(block.position.x, block.position.y, block.position.z); if (chunk != null) { int xInChunk = chunk.GetXInChunkByGlobalX(block.position.x); int zInChunk = chunk.GetZInChunkByGlobalZ(block.position.z); chunk.SetBlockType(xInChunk, block.position.y, zInChunk, block.type); Vector3Int pos = block.position.ToVector3Int(); AddBlockOrientation(pos, block.orient); if (block.depentPos != null) { AddBlockDependence(pos, block.depentPos.ToVector3Int()); } chunk.RebuildMesh(); // if this block is adjacent to other chunks, refresh nearby chunks //foreach (Chunk nearbyChunk in GetNearbyChunks(xInChunk, zInChunk, chunk)) //{ // nearbyChunk.RebuildMesh(); //} if (block.type == CSBlockType.Torch) { chunk.AddTorch(pos); } } }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); usingBlock.Statements.Add($"sqlCommand.CommandText = {Quotes}SELECT COUNT(*) FROM [{datatable.TableName}];{Quotes};"); usingBlock.Statements.Add($"return Convert.ToInt32(table.DbAccess.ExecuteScalar(sqlCommand));"); this.Statements.Add(usingBlock.ToString()); }
static void AddBlockNotify(Player player, CSBlock block) { CSAddBlockNotify notify = new CSAddBlockNotify { block = block }; NetworkManager.Enqueue(player.socket, ENUM_CMD.CS_ADD_BLOCK_NOTIFY, notify); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"{Quotes}{SqlSelectBuilder.CreateSelectAll(datatable)}{Quotes};"; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString}"); usingBlock.Statements.Add($"return ToList(sqlCommand);"); this.Statements.Add(usingBlock.ToString()); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"{Quotes}{SqlSelectBuilder.CreateSelectCountByKeyword(datatable)}{Quotes};"; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString}"); usingBlock.Statements.Add($"{NewLine}sqlCommand.Parameters.AddWithValue({$"{Quotes}@Keyword{Quotes}"}, keyword);"); usingBlock.Statements.Add($"return Convert.ToInt32(table.DbAccess.ExecuteScalar(sqlCommand));"); this.Statements.Add(usingBlock.ToString()); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"{Quotes}{SqlUpdateBuilder.UpdateByColumn(datatable, datacolumn)}{Quotes}"; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString};"); usingBlock.Statements.Add($"SetSqlCommandParameter(sqlCommand, {ProperVarName.Get(datatable.TableName.ToLower())});"); usingBlock.Statements.Add($"table.DbAccess.Commands.Add(sqlCommand);"); this.Statements.Add(usingBlock.ToString()); }
private void ConstructBody() { var usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"${Quotes}{SqlSelectBuilder.CreateSelectByKeyword(datatable)}{Quotes};"; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString} "); usingBlock.Statements.Add($"{NewLine}sqlCommand.Parameters.AddWithValue({$"{Quotes}@Keyword{Quotes}"}, keyword);"); usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({Quotes}@Start{Quotes}, start);"); usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({Quotes}@End{Quotes}, end);"); usingBlock.Statements.Add($"return ToList(sqlCommand);"); this.Statements.Add(usingBlock.ToString()); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string parameterName = $"{Quotes}@{datacolumn.ColumnName.Replace(" ","")}{Quotes}"; string parameterValue = ProperVarName.Get(datacolumn.ColumnName.ToLower()); string columnName = datacolumn.ColumnName.Contains(" ") ? $"[{datacolumn.ColumnName}]" : datacolumn.ColumnName; string sqlString = $"{Quotes}{SqlSelectBuilder.CreateSelectAllWhere(datatable, $"{columnName} = @{datacolumn.ColumnName.Replace(" ", "")}")}{Quotes};"; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString}"); usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({parameterName}, {parameterValue});"); usingBlock.Statements.Add($"return ToList(sqlCommand);"); this.Statements.Add(usingBlock.ToString()); }
public static List <CSBlock> GetChunkBlocks(Vector2Int chunk) { if (!chunkMap.ContainsKey(chunk)) { bool b = Redis.GetChunkData(chunk, out List <CSBlock> blockList); //Ultilities.Print($"chunk({chunk.x},{chunk.y}), generated = {b}"); if (b) { chunkMap[chunk] = blockList; } else { blockList = new List <CSBlock>(); for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { int x = i + chunk.x * 16; int z = j + chunk.y * 16; int maxHeight = GetHeight(i + chunk.x * 16, j + chunk.y * 16) + 20; for (int k = maxHeight; k >= 0; k--) { CSBlock item = new CSBlock { position = new CSVector3Int() }; item.position.x = x; item.position.y = k; item.position.z = z; //Ultilities.Print($"i={i},j={j},height{item.position.y}"); if (k == maxHeight) { item.type = CSBlockType.Grass; } else { item.type = CSBlockType.Dirt; } blockList.Add(item); } } } Redis.SetChunkData(chunk, blockList); chunkMap[chunk] = blockList; } } return(chunkMap[chunk]); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"{Quotes}{SqlDeleteBuilder.DeleteByColumn(datatable, datacolumn)}{Quotes};"; string parameterName = $"{Quotes}@{datacolumn.ColumnName.Replace(" ","")}{Quotes}"; string parameterValue = ProperVarName.Get(datacolumn.ColumnName.ToLower()); usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString}"); if (datacolumn.AllowDBNull) { parameterValue += " ?? (object)DBNull.Value"; } usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({parameterName}, {parameterValue});"); usingBlock.Statements.Add($"table.DbAccess.Commands.Add(sqlCommand);"); this.Statements.Add(usingBlock.ToString()); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"{Quotes}{SqlDeleteBuilder.DeleteByPrimaryKey(datatable)}{Quotes};"; string parameterName = string.Empty; string parameterValue = string.Empty; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString}"); foreach (DataColumn clm in this.datatable.PrimaryKey) { parameterName = $"{Quotes}@{clm.ColumnName}{Quotes}"; parameterValue = GetParameterValue(clm); usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({parameterName}, {parameterValue});"); } usingBlock.Statements.Add($"table.DbAccess.Commands.Add(sqlCommand);"); this.Statements.Add(usingBlock.ToString()); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"{Quotes}{SqlUpdateBuilder.UpdateColumnByPrimaryKey(datatable, datacolumn)}{Quotes}"; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString};"); #region Updated Column string parameterName = $"{Quotes}@{datacolumn.ColumnName.Replace(" ","")}{Quotes}"; string parameterValue = ProperVarName.Get(datacolumn.ColumnName.ToLower().Replace(" ", "")); if (datacolumn.AllowDBNull) { parameterValue += " ?? (object)DBNull.Value"; } usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({parameterName}, {parameterValue});"); #endregion #region Primary Key Column string keyParameterName = string.Empty; string keyParameterValue = string.Empty; foreach (DataColumn clm in this.datatable.PrimaryKey) { keyParameterName = $"{Quotes}@{clm.ColumnName.Replace(" ", "")}{Quotes}"; keyParameterValue = ProperVarName.Get(clm.ColumnName.ToLower()); if (clm.AllowDBNull) { keyParameterValue += " ?? (object)DBNull.Value"; } usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({keyParameterName}, {keyParameterValue});"); } #endregion usingBlock.Statements.Add($"table.DbAccess.Commands.Add(sqlCommand);"); this.Statements.Add(usingBlock.ToString()); }
private void ConstructBody() { CSBlock usingBlock = new CSBlock("using (SqlCommand sqlCommand = new SqlCommand())"); string sqlString = $"{Quotes}{SqlSelectBuilder.SelectByPrimaryKey(datatable)}{Quotes};"; usingBlock.Statements.Add($"sqlCommand.CommandText = {sqlString}"); foreach (DataColumn clm in datatable.PrimaryKey) { string parameterName = $"{Quotes}@{clm.ColumnName}{Quotes}"; string parameterValue = clm.ColumnName.ToLower(); usingBlock.Statements.Add($"sqlCommand.Parameters.AddWithValue({parameterName}, {parameterValue});"); } usingBlock.Statements.Add($"var list = ToList(sqlCommand);"); var ifBlock = new CSBlock("if (list.Count > 0)"); ifBlock.Statements.Add("return list[0];"); usingBlock.Statements.Add(ifBlock.ToString()); usingBlock.Statements.Add($"return null;"); this.Statements.Add(usingBlock.ToString()); }