public void SyncCityData(List <BuildingData> buildings) { var msg = new BuildingList(); msg.Data.AddRange(buildings); SceneServer.Instance.ServerControl.SyncSceneBuilding(EnumAllPlayerId(), msg); }
public void Awake() { var noiseGenerator = new NoiseGenerator( Mathf.RoundToInt(terrain.terrainData.size.x), Mathf.RoundToInt(terrain.terrainData.size.z) ); //lists var buildingList = new BuildingList(); var personList = new PersonList(); peopleManager.Init(personList); var mapGenerator = new MapGenerator(terrain.terrainData, noiseGenerator, buildingList, personList); mapGenerator.Generate(); var terrainHitter = new TerrainHitter(); cameraManager.Init(terrainHitter); var terrainPositionsFromCameraBoundariesGetter = new TerrainPositionsFromCameraBoundariesGetter(terrainHitter, cameraComponent); //displayers var buildingsDisplayer = new BuildingsDisplayer(objectPoolerManager, buildingList); var peopleDisplayer = new PeopleDisplayer(objectPoolerManager, personList); objectPoolerDisplayer.Init(terrainPositionsFromCameraBoundariesGetter, buildingsDisplayer, peopleDisplayer); }
public void FillAddresses() { comboBox1.Items.Clear(); Filters f = new Filters(); f[Filters.FREE] = "1"; _buildings = Engine.db().getBuildings(f); if (_buildings.Count == 0) { MessageBox.Show(@"Не возможно пересадить, т.к. все клетки заняты. Освободите одну или несколько клеток и попробуйте снова.", "Нет свободных клеток", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); this.DialogResult = DialogResult.Cancel; this.Close(); return; } foreach (Building b in _buildings) { for (int i = 0; i < b.Sections; i++) { if (b.Busy[i].ID == 0) { comboBox1.Items.Add(b.MedName(i)); } } } comboBox1.Sorted = true; comboBox1.SelectedIndex = 0; }
public MapView(Game game) : base(game) { PlayerList players = ((XnaUITestGame)game).Model.GetScenario().GetGameWorld().GetPlayerList(); foreach (PlayerComponent player in players.GetChildren()) { UnitList unitList = player.GetUnitList(); unitList.UnitAddedEvent += onUnitAdded; unitList.UnitRemovedEvent += onUnitRemoved; ZRTSCompositeViewUIFactory factory = ZRTSCompositeViewUIFactory.Instance; foreach (UnitComponent unit in unitList.GetChildren()) { UnitUI unitUI = factory.BuildUnitUI(unit); unitUI.DrawBox = new Rectangle((int)(unit.PointLocation.X * cellDimension), (int)(unit.PointLocation.Y * cellDimension), unitUI.DrawBox.Width, unitUI.DrawBox.Height); AddChild(unitUI); componentToUI.Add(unit, unitUI); unit.MovedEventHandlers += updateLocationOfUnit; unit.HPChangedEventHandlers += killUnit; } BuildingList buildingList = player.BuildingList; foreach (Building b in buildingList.GetChildren()) { BuildingUI buildingUI = factory.BuildBuildingUI(b); buildingUI.DrawBox = new Rectangle((int)b.PointLocation.X * cellDimension, (int)b.PointLocation.Y * cellDimension, buildingUI.DrawBox.Width, buildingUI.DrawBox.Height); AddChild(buildingUI); } buildingList.BuildingAddedEventHandlers += this.onBuildingAdded; } leftButtonStrategy = new DrawSelectionBoxStrategy(this); OnClick += moveSelectedUnits; }
/** * Look for building components as children of the city gameobject and add them to buildingList * */ public void Setup(AreaBuildingFactory _areaBuildingFactory) { // Setup personList PersonList.Setup(); BuildingList.Setup(this); areaBuildingFactory = _areaBuildingFactory; }
public ActionResult GetBuildingListNext(int companyId, int buildingId) { var buildings = db.Building.OrderByDescending(item => item.Id).Where(item => item.Id < buildingId && (item.CreateUserId == 1 || item.CompanyId == companyId)).Take(12); List <BuildingList> buildingList = new List <BuildingList>(); foreach (Building building in buildings) { BuildingList buildingIndex = new BuildingList(); buildingIndex.BuildingId = building.Id; buildingIndex.BuildingName = building.BuildingName; string id = building.Id.ToString(); UpdateRecord record = db.UpdateRecord.Where(item => item.BuildingId == id).FirstOrDefault(); if (record == null) { record = new UpdateRecord(); record.BuildingId = id; record.UpdateTime = DateTime.Now; db.UpdateRecord.Add(record); db.SaveChanges(); } buildingIndex.UpdateTime = record.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss"); buildingIndex.BuildingIndex = ConfigurationManager.AppSettings["ResourceUrl"] + building.BuildingIndex; buildingList.Add(buildingIndex); } return(Json(new { data = buildingList }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// /// </summary> /// <param name="worker"></param> /// <param name="resource"></param> public void FetchResource(int workerId, int buildingId) { if (buildingId == 0 || workerId == 0) { throw new ArgumentNullException($"Manager FetchResource: workerId = {workerId} or buildingId = {buildingId} is missing"); } // TODO: faire un try/catch pour valider le workerId comme étant un Id de Worker var worker = PopulationList.FirstOrDefault(wk => wk.Id == workerId) as Worker; var building = BuildingList.FirstOrDefault(bld => bld.Id == buildingId) as PassiveBuilding; if (building == null || worker == null) { throw new ArgumentException("Manager FetchResource: workerId or buildingId does not exist"); } // Annule la tâche en cours CancelTask(workerId); // Créé la tâche de collecter les ressources worker.FetchResource(building); // Capte l'evénement de collecte de ressources par ce worker worker.ResourceCollected += OnWorkerCompletedCollect; // worker.ResourceFetched += AddResourcesToStock; }
public ActionResult Island(int id) { ApplicationUser user = userRepository.GetUser(User.Identity.GetUserId()); Island island = islandRepository.GetIsland(id); if (!island.Game.PlayerIsActive(user)) { return(RedirectToAction("GameList", "Home")); } CyclicProduct.CalculateGame(island.Game.Id); IslandViewModel viewModel = new IslandViewModel(); viewModel.EmptyIsland = island.Property == null; if (!viewModel.EmptyIsland) { viewModel.YourIsland = island.Property.Player.Id == user.Id; viewModel.Property = island.Property; } viewModel.Island = island; if (viewModel.YourIsland) { viewModel.Resources = island.Resources; } viewModel.Coins = userGamePropertyRepository.GetUserGameProperty(user, island.Game).Coins; viewModel.Buildings = island.Buildings; BuildingList buildings = new BuildingList(island); if (viewModel.YourIsland) { viewModel.CalculateMaxBuildings(island, buildings.buildings); viewModel.ResourceImages = Resources.ResourceImage(); viewModel.ResourcesList = viewModel.Resources.BuildList(); } return(View(viewModel)); }
private void OnMsgGetBuildInfo(byte[] buffer) { PBuildList ret = Net.Deserialize <PBuildList>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.GET_BUILD_INFO)) { return; } foreach (var item in ret.buildList) { BuildingInfo info = GetBuilding(item.buildId); if (info == null) { // 新增建筑 info = CreateBuilding(item.cfgId); BuildingList.Add(info); } info.Deserialize(item); } // 更新最大储量 UpdateMaxStorage(); // 刷新地图 UIManager.Instance.RefreshWindow <UICityView>(); }
public BuildingList Constructor() { BuildingList capture = new BuildingList(); capture.buildingGameObject = buildingGameObject; capture.buildingName = buildingName; return capture; }
protected override void OnClose(bool isShutdown, object userData) { base.OnClose(isShutdown, userData); clearListeners(); Toggle_Economy.isOn = false; displayType = DisplayType.None; BuildingList.ClearCells(); }
public BuildingList Constructor() { BuildingList capture = new BuildingList(); capture.buildingGameObject = buildingGameObject; capture.buildingName = buildingName; return(capture); }
public BuildingsDisplayer( ObjectPoolerManager objectPoolerManager, BuildingList buildingList, WallSidesUpdater wallSidesUpdater ) : base(objectPoolerManager) { _buildingList = buildingList; _wallSidesUpdater = wallSidesUpdater; }
internal static BuildingList getBuildings(MySqlConnection sql, Filters f) { BuildingList bld = new BuildingList(); String type = ""; if (f.safeValue("tp") != "") { type = "t_type='" + f.safeValue("tp") + "' AND "; } if (f.ContainsKey("nest")) { type = String.Format("(t_type='{0}' OR t_type='{1}' OR t_type='{2}') AND", Building.GetName(BuildingType.Jurta), Building.GetName(BuildingType.Female), Building.GetName(BuildingType.DualFemale)); } String busy = ""; if (f.ContainsKey(Filters.FREE)) { busy = "((" + type + "(t_busy1=0 OR t_busy2=0 OR t_busy3=0 OR t_busy4=0))"; if (f.safeInt("rcnt") > 0) { for (int i = 0; i < f.safeInt("rcnt"); i++) { int r = f.safeInt("r" + i.ToString()); if (r > 0) { busy += String.Format(" OR (t_busy1={0:d} OR t_busy2={0:d} OR t_busy3={0:d} OR t_busy4={0:d})", r); } } } busy += ")"; } MySqlCommand cmd = new MySqlCommand(String.Format(@"SELECT t_id, Coalesce(m_upper,0) AS m_upper, Coalesce(m_lower,0) AS m_lower, m_id, t_type, t_delims, t_nest, t_heater, t_repair, t_notes, t_busy1, t_busy2, t_busy3, t_busy4 FROM minifarms, tiers WHERE (m_upper = t_id OR m_lower = t_id) AND t_repair = 0 {0:s} ORDER BY m_id;", busy != "" ? "AND " + busy : ""), sql); _logger.Debug("free Buildings cmd:" + cmd.CommandText); MySqlDataReader rd = cmd.ExecuteReader(); while (rd.Read()) { bld.Add(GetBuilding(rd, false, false) as Building); } rd.Close(); return(bld); }
public override void OnPlayerEnterOver(ObjPlayer player) { base.OnPlayerEnterOver(player); var msg = new BuildingList(); msg.Data.AddRange(BuildingList); var list = new List <ulong>(); list.Add(player.ObjId); SceneServer.Instance.ServerControl.SyncSceneBuilding(list, msg); }
//This function is called from line 79 and forward. //It begins by finding the position of the mouse, then it places the building there and rotates the building based on how many //Times the button R has been pressed. After that it gives the building its proper building Type. void InstantiateBuilding(BuildingList building, float height) { //Create building TheBuilding = Instantiate(building.BuildingObject, buildingPlacement, Quaternion.Euler(0, rotation * 90, 0)); //Assign building buildingScript = TheBuilding.GetComponent <Building>(); buildingScript.building = buildingtype; buildingScript.enabled = !enabled; TheBuilding.GetComponent <Collider>().enabled = !enabled; }
public void SyncCityBuildingData(BuildingList data) { { var __list2 = data.Data; var __listCount2 = __list2.Count; for (var __i2 = 0; __i2 < __listCount2; ++__i2) { var building = __list2[__i2]; { var buildingData = CityManager.Instance.GetBuildingByAreaId(building.AreaId); if (null == buildingData) { continue; } var oldType = buildingData.TypeId; buildingData.Guid = building.Guid; buildingData.TypeId = building.TypeId; buildingData.AreaId = building.AreaId; buildingData.State = building.State; buildingData.Exdata.Clear(); buildingData.Exdata.AddRange(building.Exdata); buildingData.PetList.Clear(); buildingData.PetList.AddRange(building.PetList); buildingData.Exdata64.Clear(); buildingData.Exdata64.AddRange(building.Exdata64); buildingData.PetTime.Clear(); buildingData.PetTime.AddRange(building.PetTime); buildingData.OverTime = building.OverTime; EventDispatcher.Instance.DispatchEvent(new UIEvent_CityUpdateBuilding(building.AreaId)); //判断是否是升级 if (-1 != oldType && -1 != buildingData.TypeId) { var tableOldBuilding = Table.GetBuilding(oldType); var tableBuilding = Table.GetBuilding(buildingData.TypeId); if (null != tableOldBuilding && null != tableBuilding) { if (tableOldBuilding.Type == tableBuilding.Type) { if (tableBuilding.Level > tableOldBuilding.Level) { var e = new CityBuildingLevelupEvent(building.AreaId); var tbBuilding = Table.GetBuilding(buildingData.TypeId); e.HomeExp = tbBuilding.GetMainHouseExp; EventDispatcher.Instance.DispatchEvent(e); } } } } } } } }
public MapGenerator( TerrainData terrainData, NoiseGenerator noiseGenerator, BuildingList buildingList, PersonList personList ) { _terrainData = terrainData; _noiseGenerator = noiseGenerator; _buildingList = buildingList; _personList = personList; }
public WallSpawner( BuildingList buildingList, BuildingMapMatrixUpdater buildingMapMatrixUpdater, WallData wallData, MapLayerMatrixManager mapLayerMatrixManager, MapLayerMatrix mapLayerMatrixWalls ) : base(buildingList, buildingMapMatrixUpdater) { _wallData = wallData; _mapLayerMatrixManager = mapLayerMatrixManager; _mapLayerMatrixWalls = mapLayerMatrixWalls; }
private void LoadConfig() { TextAsset s = Resources.Load("BuildingConfig") as TextAsset; if (!s) { return; } string temp = s.text; container = JsonMapper.ToObject <BuildingList>(temp); }
private void getBuildings() { cbAddress.Items.Clear(); cbAddress.Items.Add("Любой"); BuildingList builds = Engine.db().getBuildings(new Filters()); foreach (Building b in builds) { for (int i = 0; i < b.Sections; i++) { cbAddress.Items.Add(b.SmallName(i)); } } cbAddress.SelectedIndex = 0; }
private void fillFreeBuildings() { _freeBuildings = Engine.db().getBuildings(new Filters(Filters.FREE, '1')); cbFreeBuildings.Items.Clear(); cbFreeBuildings.Items.Add(""); foreach (Building b in _freeBuildings) { for (int i = 0; i < b.Sections; i++) { if (b.Busy[i].ID == 0) { cbFreeBuildings.Items.Add(b.MedName(i)); } } } }
private async Task LoadBuildingData() { BuildingDataService buildingdataservice = new BuildingDataService(new EntityFramework.TimetableManagerDbContext()); BuildingList = await buildingdataservice.GetBuildingsAsync(); BuildingList.ForEach(f => { BuildingGridModel buildingobj = new BuildingGridModel(); buildingobj.BuildingId = f.BuildingId; buildingobj.BuildingName = f.BuildingName; buildingobj.CenterName = f.Center.CenterName; BuildingDataList.Add(buildingobj); }); }
//This function is called by the building buttons. Changes what building is selected. public void ChangeBuilding(int build) { foreach (BuildingList building in BuildingList.buildinglist) { if (building.ID == build) { buildingtype = building; } } if (buildingtype != BuildingList.Nothing && buildingtype != null) { //Instantiates the building the player wants to construct where mouse was clicked switch (buildingtype.CurrentBuildingType) { //TO-DO: Use the dictionary with IDs instead to prevent too much expansion here and make it easier to add buildings case (BuildingList.Types.Mine): InstantiateBuilding(buildingtype, 1f); break; case (BuildingList.Types.Conveyor): InstantiateBuilding(buildingtype, 0.666f); break; case (BuildingList.Types.Splitter): InstantiateBuilding(buildingtype, 0.8f); break; case (BuildingList.Types.Smelter): InstantiateBuilding(buildingtype, 1f); break; default: break; } SelectionMaterial.ChangeShader(TheBuilding, "Legacy Shaders/Transparent/Diffuse"); TheBuilding.GetComponent <Collider>().enabled = enabled; TheBuilding.layer = 5; TheBuilding.transform.Rotate(new Vector3(0, 90, 0)); } destroy = false; }
public Building(SpriteBatch spriteBatch, Game game, Camera2D cam, MouseHandler mH) : base(spriteBatch, game, cam, mH) { Image = game.Content.Load<Texture2D>("CPU_Pong"); ImageRec = new Rectangle((int)Position.X, (int)Position.Y, Image.Width, Image.Height); unitName = "test"; uniqueName = "101"; OType = "building"; Health = 100; bList = BuildingList.Barracks; bUL = new BandUList(game, spriteBatch, cam, this.Image, this.Position, bList); uI = new UI(game, spriteBatch, cam, mH, this); this.spriteBatch = spriteBatch; this.game = game; this.cam = cam; this.mH = mH; }
private void OnMsgPushGetBuild(byte[] buffer) { PBuildList ret = Net.Deserialize <PBuildList>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.PUSH_GET_BUILD)) { return; } foreach (var item in ret.buildList) { BuildingInfo info = CreateBuilding(item.cfgId); info.Deserialize(item); BuildingList.Add(info); } // 刷新地图 UIManager.Instance.RefreshWindow <UICityView>(); }
// Use this for initialization void Awake() { if (_instance != null) { Debug.LogWarning("Building Instance was not null!"); Destroy(gameObject); return; } else { _instance = this; // Accepted components when constructing the preview prefab. acceptedComponents.Add(typeof(MeshFilter)); acceptedComponents.Add(typeof(MeshRenderer)); acceptedComponents.Add(typeof(BoxCollider)); acceptedComponents.Add(typeof(MeshCollider)); // Generate BuildingMeshPrefabs _buildMeshPrefabs = new Transform[buildings.Length]; for (int i = 0; i < buildings.Length; i++) { // Create a new gameobject to use as per the object preview. // Attatch and identical BuildingInfo script to it via the building info // script that exists on the prefab. // Also Loop through the prefabs and create all children but only attach renderes and set the // shader to the construction shader so the preview prefab appears completely like a preview. GameObject g = new GameObject("previewPrefab_" + buildings[i].name); g.tag = "BluePrint"; g.layer = 11; g.AddComponent<BuildingInfo>(); g.AddComponent<DynamicGridObstacle>(); g.GetComponent<BuildingInfo>().CopyFromOther(buildings[i].GetComponent<BuildingInfo>()); g.AddComponent<BuildingConstructor>(); g.GetComponent<BuildingConstructor>().ConstructedPrefab = buildings[i].transform; ConstructPreviewPrefab(buildings[i].gameObject, g); g.transform.parent = transform; g.SetActive(false); _buildMeshPrefabs[i] = g.transform; } } }
// Use this for initialization void Start() { GameObject _GM = GameObject.Find("_GM"); solutions = _GM.GetComponent <Solutions>(); buildingList = _GM.GetComponent <BuildingList>(); upgradeList = _GM.GetComponent <UpgradeList>(); sprite = GetComponentInChildren <SpriteRenderer>(); // Raycast downwards to terrain and assign joint anchor RaycastHit2D terrainHit = Physics2D.Raycast(transform.position + Vector3.up * 10, -Vector2.up, float.MaxValue, terrainLayer); if (terrainHit.collider != null) { Vector2 hitPoint = terrainHit.point; string terrainName = terrainHit.collider.gameObject.name; // Try to automatically set soil type based on terrain name string[] typeNames = Enum.GetNames(typeof(SoilType)); Array typeVals = Enum.GetValues(typeof(SoilType)); for (int i = 0; i < typeNames.Length; i++) { if (terrainName.Equals(typeNames[i])) { soilType = (SoilType)typeVals.GetValue(i); } } gameObject.name = gameObject.name + " of " + soilType + " on " + terrainHit.collider.gameObject.name; if (!soilType.ToString().Equals(terrainName)) { Debug.Log("WARNING: Soil type property name of building zone do not equal terrain name: " + soilType + " != " + terrainHit.collider.gameObject.name); } } else { Debug.Log("WARNING: Terrain not found of building platform"); } }
public void SyncSceneBuilding(BuildingList data) { /* 目前不需要这功能 * if (!CityManager.Instance.IsInCityScene()) * { * return; * } * { * var __list1 = data.Data; * var __listCount1 = __list1.Count; * for (int __i1 = 0; __i1 < __listCount1; ++__i1) * { * var building = __list1[__i1]; * { * CityManager.Instance.RefreshBuilding(building.AreaId, building.TypeId); * } * } * } * */ }
bool VisitPassengerBuilding(string type_name, int start_state, int new_exit_state) { visitBuilding = BuildingList.GetPassengerBuilding(this, type_name); if (visitBuilding == null) { return(false); } else { //finalDestination = visitBuilding.GetEnterQueuePosition(); DISABLED FOR PASSENGER BUILDING steering.Visit(finalDestination); state_passenger_building = start_state; exit_state = new_exit_state; // don't forget to remove eventual message speechBubbleController.RemoveMessageImmediate(this); return(true); } }
void Reset(bool forceFullReset)//TO-DO: Add an shift bool thing. { selection = null; hasComponentBuilding = null; hasComponentTile = null; buildingScript = null; if (!Input.GetKey(KeyCode.LeftShift) || forceFullReset) { buildingtype = BuildingList.Nothing; destroy = false; Destroy(TheBuilding); TheBuilding = null; } else { if (!destroy) { ChangeBuilding(buildingtype.ID); } } }
public void Set_Strategy_For_Member_List() { var act = new BuildingList { Address = "NY, First Street", ListOfAppNumbers = new[] { 32, 25, 14, 89 } }; var exp = new BuildingList { Address = "NY, First Street", ListOfAppNumbers = new[] { 555, 25, 14, 89 } }; const int expNumber = 32; var str = new Strategies <BuildingList>().Set(x => x.ListOfAppNumbers[0], (ex, ac) => ex == expNumber); var res = act.GetDistinctions(exp, str); res.Should().BeEmpty(); }
bool VisitBuilding(string type_name, int _exit_state) { // get building buildingPassenger = (BuildingPassenger)BuildingList.GetPassengerBuilding(this, type_name); if (buildingPassenger == null) { print("could not find building)"); return(false); } else { behaviour = buildingPassenger.VisitBuilding(this); finalDestination = behaviour.GetEntrancePosition(); steering.Visit(finalDestination); state_passenger = STATE_BUILDING_GOTO; buildingExitState = _exit_state; // don't forget to remove eventual message speechBubbleController.RemoveMessageImmediate(this); return(true); } }
void Update() { Ray ray; RaycastHit[] hit; ray = Camera.main.ScreenPointToRay(Input.mousePosition); hit = Physics.RaycastAll(ray, Mathf.Infinity); for (int i = 0; i < hit.Length; i++) { if (hit[i].collider.tag == TerrainCollisionTag) { if (SelectedBuilding != LastSelectedBuilding && ghost != null) { Destroy(ghost); ghostOn = false; LastSelectedBuilding = SelectedBuilding; collided.Clear(); break; } if (!ghostOn) { ghost = (GameObject)Instantiate(Building[SelectedBuilding], new Vector3( hit[i].point.x, hit[i].point.y, hit[i].point.z), Building[SelectedBuilding].transform.rotation); ghostOn = true; } if (Input.GetMouseButtonDown(0) && collided.Count == 0 && isFlat ) { BuildingList bl = new BuildingList(); bl.buildingGameObject = (GameObject)Instantiate(Building[SelectedBuilding], new Vector3( hit[i].point.x, hit[i].point.y, hit[i].point.z), ghost.transform.rotation); string s = bl.buildingGameObject.name.Replace("(Clone)", ""); bl.buildingGameObject.name = s; bl.buildingName = s; //Call to confirmation window. if(!RTSGUIScript.confirmPlacement()) { DestroyImmediate(bl.buildingGameObject); } else { DestroyImmediate(ghost); buildings.Add(bl); ghostOn = false; } collided.Clear(); break; } if (ghost != null) { ghost.transform.position = new Vector3( hit[i].point.x, hit[i].point.y, hit[i].point.z); isFlat = GroundFlat(ghost); if (collided.Count != 0 || !isFlat) { ghost.renderer.material.CopyPropertiesFromMaterial(Building[SelectedBuilding].renderer.sharedMaterial); ghost.renderer.material.color = new Color( 1f, 0f, 0f, 0.6f); } else if (collided.Count == 0 && isFlat) { ghost.renderer.material.CopyPropertiesFromMaterial(Building[SelectedBuilding].renderer.sharedMaterial); ghost.renderer.material.color = new Color( 0f, 1f, 0f, 0.6f); } if(SelectedBuildingRotation != LastSelectedBuildingRotation) { ghost.transform.Rotate(0, 0, 90); LastSelectedBuildingRotation = SelectedBuildingRotation; } } } } }