public void constructionBuildingCancel() { if (logicState == LOGIC_STATE.DELETING) { deletingCancel(); } else { BUILDING_INFO.clearRepresentation(); if (BUILDING_INFO.terrainID == TileTerrainType.BUILDING) { Building building = BuildingsManager.GetInstance().getBuilding(BUILDING_INFO.buildingID); UserDataManager.GetInstance().gold.addGold(building.getInitialCost()); } else if (BUILDING_INFO.terrainID == TileTerrainType.RICE_TERRAIN) { UserDataManager.GetInstance().gold.addGold(WorldTerrain.PRICE_RiceChunk); } else if (BUILDING_INFO.terrainID == TileTerrainType.CANAL) { WorldTerrain wt = WorldTerrain.GetInstance(); wt.cancelCanalsTmp(); } } if (_buildingPanel != null) { _buildingPanel.SendMessage("kill"); } logicState = LOGIC_STATE.DEFAULT; }
public void constructionBuildingConfirm() { if (logicState == LOGIC_STATE.DELETING) { deletingConfirm(); } else { if (BUILDING_INFO.terrainID == TileTerrainType.BUILDING) { buildBuilding(BUILDING_INFO.buildingID, _tileSelectedPosition [0], _tileSelectedPosition [1]); Building building = BuildingsManager.GetInstance().getBuilding(BUILDING_INFO.buildingID); building.constructAtPos(_tileSelectedPosition [0], _tileSelectedPosition [1]); } else if (BUILDING_INFO.terrainID == TileTerrainType.RICE_TERRAIN) { WorldTerrain.GetInstance().createRiceChunk(_tileSelectedPosition [0], _tileSelectedPosition [1], false); } else if (BUILDING_INFO.terrainID == TileTerrainType.CANAL) { WorldTerrain wt = WorldTerrain.GetInstance(); wt.confirmCanalsTmp(); UserDataManager.GetInstance().gold.espendGold(_buildingPanel.GetComponent <MultipleBuildingPanel> ().getCost()); } BUILDING_INFO.clearRepresentation(); } logicState = LOGIC_STATE.DEFAULT; }
/// <summary> /// 初始化宿舍楼名称列表 /// </summary> private void init_building() { Student.BLL.BUILDING_INFO buildingBll = new BUILDING_INFO(); DataSet ds = buildingBll.GetAllList(); this.cbb_buildingname.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; cbb_buildingname.Properties.Items.Clear(); cbb_buildingname.EditValue = null; cbb_buildingname.Properties.NullText = "--请选择--"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string buildingName = ds.Tables[0].Rows[i]["BUILDINGNAME"].ToString(); this.cbb_buildingname.Properties.Items.Add(buildingName); } }
private void setBuildingBuildingRepresentation() { BUILDING_INFO.clearRepresentation(); // ++++++++++++++ no reload Building building = BuildingsManager.GetInstance().getBuilding(BUILDING_INFO.buildingID); BUILDING_INFO.representation.Add(building.instantiateBuildingRepresentation(_tileSelectedPosition [0], _tileSelectedPosition [1])); //es pot construir? uint b_w = building.getHorizontalTiles(); uint b_h = building.getVerticalTiles(); uint b_i = _tileSelectedPosition [0]; uint b_j = _tileSelectedPosition [1]; WorldTerrain wt = WorldTerrain.GetInstance(); bool esPotConstruir = wt.isEmpty(b_i, b_j, b_w, b_h) && !wt.tileContainsVegetation(b_i, b_j); BUILDING_INFO.representation[0].GetComponent <SpriteRenderer>().color = esPotConstruir ? Color.yellow : Color.red; BUILDING_INFO.esPotConstruir = esPotConstruir; }
private void setBuildingRiceChunkRepresentation() { BUILDING_INFO.clearRepresentation(); // ++++++++++++++ no reload BUILDING_INFO.esPotConstruir = true; WorldTerrain wt = WorldTerrain.GetInstance(); uint iSel = _tileSelectedPosition [0]; uint jSel = _tileSelectedPosition [1]; for (uint i = iSel - WorldTerrain.RICE_CHUNK_SEPARATION; i < iSel + WorldTerrain.RICE_CHUNK_H + WorldTerrain.RICE_CHUNK_SEPARATION; ++i) { for (uint j = jSel - WorldTerrain.RICE_CHUNK_SEPARATION; j < jSel + WorldTerrain.RICE_CHUNK_W + WorldTerrain.RICE_CHUNK_SEPARATION; ++j) { Vector3 worldPosition = wt.getTileWorldPosition(i, j); worldPosition.z = WorldTerrain.BUILDING_ABOVE_Z_LAYER; bool isSeparator = (i < iSel || i >= iSel + WorldTerrain.RICE_CHUNK_H || j < jSel || j >= jSel + WorldTerrain.RICE_CHUNK_W); GameObject sprite_template = wt.getResource(isSeparator ? TileTerrainIDs.SEPARATOR : TileTerrainIDs.WATER); GameObject sprite_inst = (GameObject)GameObject.Instantiate(sprite_template, worldPosition, Quaternion.identity); bool esPotConstruir; if (isSeparator) { esPotConstruir = wt.getTypeTerrainOfTile(i, j) == TileTerrainType.SEPARATOR || wt.getTypeTerrainOfTile(i, j) == TileTerrainType.FREE || wt.getTypeTerrainOfTile(i, j) == TileTerrainType.CANAL; } else { esPotConstruir = wt.getTypeTerrainOfTile(i, j) == TileTerrainType.FREE || wt.getTypeTerrainOfTile(i, j) == TileTerrainType.CANAL; } esPotConstruir = esPotConstruir && !wt.tileContainsVegetation(i, j); sprite_inst.GetComponent <SpriteRenderer>().color = esPotConstruir ? Color.yellow : Color.red; BUILDING_INFO.esPotConstruir = BUILDING_INFO.esPotConstruir && esPotConstruir; BUILDING_INFO.representation.Add(sprite_inst); } } }
/// <summary> /// 删除数据方法 /// </summary> /// <param name="id"></param> /// <returns></returns> private bool deleteData(int id) { try { BLL.DORMITORY_INFO dormitoryBll = new DORMITORY_INFO(); int recordCount = dormitoryBll.GetRecordCount("BUILDINGID = " + id.ToString()); if (recordCount > 0) { MessageBox.Show("该宿舍楼信息已经被使用,不能被删除!", "提示信息"); return(false); } else { BLL.BUILDING_INFO buildingBll = new BUILDING_INFO(); buildingBll.Delete(id); return(true); } } catch (Exception exception) { MessageBox.Show("删除失败!", exception.Message); return(false); } }