public static Building Load(BinaryReader reader) { BuildingType type = (BuildingType)reader.ReadInt32(); TriDirection entDir = (TriDirection)reader.ReadInt32(); bool underconstruct = reader.ReadBoolean(); bool working = reader.ReadBoolean(); float constructTime = reader.ReadSingle(); Building ret = null; switch (type) { case BuildingType.INN: ret = Inn.Load(reader); break; case BuildingType.COMPANY: ret = Company.Load(reader); break; case BuildingType.WORKSITE: ret = Worksite.Load(reader); break; } ret.entranceDirection = entDir; ret.type = type; ret.UnderConstruct = underconstruct; ret.Working = working; ret.ConstructTime = constructTime; return(ret); }
void CheckGatherButton() { Worksite w = colony.GetWorksite(observingSurface) as GatherSite; if (w is GatherSite) { if (status_gather != true) { gatherButton.transform.GetChild(0).GetComponent <Text>().text = Localization.GetPhrase(LocalizedPhrase.StopGather); gatherButton.interactable = true; status_gather = true; } } else { if (observingSurface.fulfillStatus != FullfillStatus.Empty) { if (status_gather != false) { gatherButton.transform.GetChild(0).GetComponent <Text>().text = Localization.GetWord(LocalizedWord.Gather); gatherButton.interactable = true; status_gather = false; } } else { if (status_gather != null) { gatherButton.transform.GetChild(0).GetComponent <Text>().text = Localization.GetWord(LocalizedWord.Gather); gatherButton.interactable = false; status_gather = null; } } } }
public IHttpActionResult PutWorksite(int id, Worksite worksite) { if (id != worksite.EmployeeId) { return(BadRequest()); } db.Entry(worksite).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!WorksiteExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public void SetObservingWorksite(Worksite ws) { workbuildingMode = false; if (ws == null) { SelfShutOff(); return; } observingWorksite = ws; isObserving = true; showingWorkersCount = ws.workersCount; showingWorkersMaxCount = ws.GetMaxWorkers(); showingWorkspeed = ws.workSpeed; slider.minValue = 0; slider.maxValue = showingWorkersMaxCount; slider.value = showingWorkersCount; workersCountField.text = showingWorkersCount.ToString() + '/' + showingWorkersMaxCount.ToString(); workSpeedField.text = string.Format("{0:0.00}", showingWorkspeed) + ' ' + Localization.GetPhrase(LocalizedPhrase.PointsSec); workSpeedField.enabled = (showingWorkspeed > 0); actionLabel.enabled = true; actionLabel.text = ws.actionLabel; stopButton.SetActive(true); STATUS_UPDATE_TIME = 0.5f; timer = STATUS_UPDATE_TIME; StatusUpdate(); }
public void SetWorksite(Worksite w) { if (worksite != null) { worksite.StopWork(); } worksite = w; }
public void StopButton() { if (observingWorksite != null) { observingWorksite.StopWork(); observingWorksite = null; SelfShutOff(); } }
public void Load(ColonyControllerSerializer ccs) { if (storage == null) { storage = gameObject.AddComponent <Storage>(); } storage.Load(ccs.storageSerializer); gears_coefficient = ccs.gears_coefficient; labourEfficientcy_coefficient = ccs.labourEfficientcy_coefficient; happiness_coefficient = ccs.happiness_coefficient; health_coefficient = ccs.health_coefficient; birthrateCoefficient = ccs.birthrateCoefficient; energyStored = ccs.energyStored; energyCrystalsCount = ccs.energyCrystalsCount; if (ccs.worksites.Count > 0) { foreach (WorksiteSerializer ws in ccs.worksites) { Worksite w = null; switch (ws.type) { case WorksiteType.BlockBuildingSite: w = new BlockBuildingSite(); break; case WorksiteType.CleanSite: w = new CleanSite(); break; case WorksiteType.DigSite: w = new DigSite(); break; case WorksiteType.GatherSite: w = new GatherSite(); break; case WorksiteType.TunnelBuildingSite: w = new TunnelBuildingSite(); break; } w.Load(ws); } } freeWorkers = ccs.freeWorkers; citizenCount = ccs.citizenCount; deathCredit = ccs.deathCredit; peopleSurplus = ccs.peopleSurplus; housingTimer = ccs.housingTimer; starvationTimer = ccs.starvationTimer; starvationTime = ccs.starvationTime; realBirthrate = ccs.realBirthrate; birthrateCoefficient = ccs.birthrateCoefficient; }
public IHttpActionResult GetWorksite(int id) { Worksite worksite = db.Worksites.Find(id); if (worksite == null) { return(NotFound()); } return(Ok(worksite)); }
public override bool Equals(object obj) { // Check for null values and compare run-time types. if (obj == null || GetType() != obj.GetType()) { return(false); } Worksite w = (Worksite)obj; return(workplace == w.workplace & workersCount == w.workersCount & workflow == w.workflow); }
public IHttpActionResult DeleteWorksite(int id) { Worksite worksite = db.Worksites.Find(id); if (worksite == null) { return(NotFound()); } db.Worksites.Remove(worksite); db.SaveChanges(); return(Ok(worksite)); }
public static void TransferWorkers(Worksite source, Worksite destination) { int x = source.workersCount; source.workersCount = 0; int sum = destination.workersCount + x; int maxWorkers = destination.maxWorkersCount; if (sum > maxWorkers) { GameMaster.realMaster.colonyController.AddWorkers(sum - maxWorkers); sum = maxWorkers; } destination.workersCount = sum; }
public void SendWorkers(int x, Worksite w) { if (freeWorkers == 0 | w == null) { return; } if (x > freeWorkers) { x = freeWorkers; } else { freeWorkers = freeWorkers - x + w.AddWorkers(x); } }
public new static Worksite Load(BinaryReader reader) { WorkType subType = (WorkType)reader.ReadInt32(); int capacity = reader.ReadInt32(), currentProd = reader.ReadInt32(); Worksite ret = null; switch (subType) { case WorkType.FARMLAND: ret = Farmland.Load(reader); break; } ret.subType = subType; ret.CurrentProd = currentProd; return(ret); }
public void AddWorksite(Worksite w) { int i = 0; while (i < worksites.Count) { if (worksites[i] == w) { return; } else { i++; } } worksite_addlist.Add(w); }
public void RemoveWorksite(Worksite w) { if (worksites.Count == 0) { return; } int i = 0; while (i < worksites.Count) { if (worksites[i] == w | worksites[i] == null) { deletedWorksites.Add(i); } i++; } }
public static void TransferWorkers(Worksite source, Worksite destination) { int x = source.workersCount; source.workersCount = 0; source.workSpeed = 0; int sum = destination.workersCount + x; int maxWorkers = destination.GetMaxWorkers(); if (sum > maxWorkers) { GameMaster.colonyController.AddWorkers(sum - maxWorkers); sum = maxWorkers; } destination.workersCount = sum; destination.RecalculateWorkspeed(); }
public static void StaticLoad(System.IO.Stream fs, int count) { if (count < 0 | count > 1000) { Debug.Log("worksites loading error - incorrect count"); GameMaster.LoadingFail(); return; } if (count > 0) { Worksite w = null; Chunk chunk = GameMaster.realMaster.mainChunk; for (int i = 0; i < count; i++) { switch ((WorksiteType)fs.ReadByte()) { case WorksiteType.CleanSite: { w = CleanSite.Load(fs, chunk); break; } case WorksiteType.DigSite: { w = DigSite.Load(fs, chunk); break; } case WorksiteType.BlockBuildingSite: { w = BlockBuildingSite.Load(fs, chunk); break; } case WorksiteType.GatherSite: { w = GatherSite.Load(fs, chunk); break; } default: w = null; break; } } } }
public IActionResult Put(Worksite worksite) { try { int result = _worksiteService.Update(worksite); if (result == 1) { return(StatusCode(201, worksite)); } else { return(StatusCode(404, "veri güncellenemedi.")); } } catch (Exception ex) { return(StatusCode(404, ex)); } }
public IActionResult Post(Worksite worksite) { try { int result = _worksiteService.Add(worksite); if (result == 1) { return(StatusCode(201, worksite)); } else { return(StatusCode(404, "veri kaydedilemedi.")); } } catch (Exception ex) { return(StatusCode(404, ex)); } }
override public void ShutOff() { isObserving = false; if (observingWorksite != null) { observingWorksite.showOnGUI = false; observingWorkbuilding = null; } if (workbuildingMode) { Building.buildingObserver.ShutOff(); observingWorkbuilding = null; } else { observingWorksite = null; } gameObject.SetActive(false); }
public IHttpActionResult PostWorksite(Worksite worksite) { db.Worksites.Add(worksite); try { db.SaveChanges(); } catch (DbUpdateException) { if (WorksiteExists(worksite.EmployeeId)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = worksite.EmployeeId }, worksite)); }
public static void StaticLoad(WorksiteSerializer[] wdata) { worksitesList = new List <Worksite>(wdata.Length); Worksite w = null; for (int i = 0; i < worksitesList.Count; i++) { switch (wdata[i].type) { default: w = null;; break; case WorksiteType.BlockBuildingSite: w = new BlockBuildingSite(); break; case WorksiteType.CleanSite: w = new CleanSite(); break; case WorksiteType.DigSite: w = new DigSite(); break; case WorksiteType.GatherSite: w = new GatherSite(); break; case WorksiteType.TunnelBuildingSite: w = new TunnelBuildingSite(); break; } if (w != null) { w.Load(wdata[i]); worksitesList[i] = w; } } }
override public void ShutOff() { isObserving = false; if (observingWorksite != null) { observingWorksite.showOnGUI = false; observingWorkbuilding = null; } if (workbuildingMode) { Building.buildingObserver.ShutOff(); observingWorkbuilding = null; if (UIController.current.progressPanelMode != ProgressPanelMode.Offline) { UIController.current.DeactivateProgressPanel(ProgressPanelMode.Powerplant); } } else { observingWorksite = null; } gameObject.SetActive(false); }
public void ChangeChosenObject(ChosenObjectType newChosenType) { if (hospitalPanel.activeSelf) { DeactivateHospitalPanel(); } else { if (expeditionCorpusPanel.activeSelf) { DeactivateExpeditionCorpusPanel(); } else { if (rollingShopPanel.activeSelf) { DeactivateRollingShopPanel(); } } } //отключение предыдущего observer if (workingObserver != null) { workingObserver.ShutOff(); workingObserver = null; } bool disableCubeMenuButtons = true, changeFrameColor = true; if (newChosenType == ChosenObjectType.None) { rightPanel.SetActive(false); selectionFrame.gameObject.SetActive(false); chosenObjectType = ChosenObjectType.None; chosenWorksite = null; chosenStructure = null; chosenCube = null; chosenSurface = null; faceIndex = 10; changeFrameColor = false; } else { chosenObjectType = newChosenType; rightPanel.transform.SetAsLastSibling(); rightPanel.SetActive(true); disableCubeMenuButtons = true; selectionFrame.gameObject.SetActive(true); if (showMenuWindow) { MenuButton(); } } Vector3 sframeColor = Vector3.one; switch (chosenObjectType) { case ChosenObjectType.Surface: { faceIndex = 10; // вспомогательная дата для chosenCube selectionFrame.position = chosenSurface.transform.position + Vector3.down * Block.QUAD_SIZE / 2f; selectionFrame.rotation = Quaternion.identity; selectionFrame.localScale = new Vector3(SurfaceBlock.INNER_RESOLUTION, 1, SurfaceBlock.INNER_RESOLUTION); sframeColor = new Vector3(140f / 255f, 1, 1); workingObserver = chosenSurface.ShowOnGUI(); FollowingCamera.main.SetLookPoint(chosenSurface.transform.position); } break; case ChosenObjectType.Cube: { selectionFrame.position = chosenCube.faces[faceIndex].transform.position; switch (faceIndex) { case 0: selectionFrame.transform.rotation = Quaternion.Euler(90, 0, 0); break; case 1: selectionFrame.transform.rotation = Quaternion.Euler(0, 0, -90); break; case 2: selectionFrame.transform.rotation = Quaternion.Euler(-90, 0, 0); break; case 3: selectionFrame.transform.rotation = Quaternion.Euler(0, 0, 90); break; case 4: selectionFrame.transform.rotation = Quaternion.identity; break; case 5: selectionFrame.transform.rotation = Quaternion.Euler(-180, 0, 0); break; } selectionFrame.localScale = new Vector3(SurfaceBlock.INNER_RESOLUTION, 1, SurfaceBlock.INNER_RESOLUTION); sframeColor = new Vector3(140f / 255f, 1, 0.9f); FollowingCamera.main.SetLookPoint(chosenCube.transform.position); Transform t = rightPanel.transform; t.GetChild(RPANEL_CUBE_DIG_BUTTON_INDEX).gameObject.SetActive(true); if (chosenCube.excavatingStatus != 0) { t.GetChild(RPANEL_CUBE_DIG_BUTTON_INDEX + 1).gameObject.SetActive(true); } else { t.GetChild(RPANEL_CUBE_DIG_BUTTON_INDEX + 1).gameObject.SetActive(false); } disableCubeMenuButtons = false; } break; case ChosenObjectType.Structure: faceIndex = 10; // вспомогательная дата для chosenCube selectionFrame.position = chosenStructure.transform.position; selectionFrame.rotation = chosenStructure.transform.rotation; selectionFrame.localScale = new Vector3(chosenStructure.innerPosition.size, 1, chosenStructure.innerPosition.size); sframeColor = new Vector3(1, 0, 1); workingObserver = chosenStructure.ShowOnGUI(); FollowingCamera.main.SetLookPoint(chosenStructure.transform.position); break; case ChosenObjectType.Worksite: faceIndex = 10; // вспомогательная дата для chosenCube selectionFrame.gameObject.SetActive(false); changeFrameColor = false; workingObserver = chosenWorksite.ShowOnGUI(); FollowingCamera.main.SetLookPoint(chosenWorksite.sign.transform.position); break; } if (disableCubeMenuButtons) { Transform t = rightPanel.transform; t.GetChild(RPANEL_CUBE_DIG_BUTTON_INDEX).gameObject.SetActive(false); t.GetChild(RPANEL_CUBE_DIG_BUTTON_INDEX + 1).gameObject.SetActive(false); } if (changeFrameColor) { selectionFrameMaterial.SetColor("_TintColor", Color.HSVToRGB(sframeColor.x, sframeColor.y, sframeColor.z)); selectionFrame.gameObject.SetActive(true); } }
public int Update(Worksite worksite) { return(_worksiteDal.Update(worksite)); }
public int Add(Worksite worksite) { return(_worksiteDal.Add(worksite)); }
public void Raycasting() { if (GameMaster.colonyController == null || GameMaster.colonyController.hq == null) { return; } // кастует луч, проверяет, выделен ли уже этот объект, если нет - меняет режим через ChabgeChosenObject Vector2 mpos = Input.mousePosition; RaycastHit rh; if (Physics.Raycast(FollowingCamera.cam.ScreenPointToRay(Input.mousePosition), out rh)) { GameObject collided = rh.collider.gameObject; switch (collided.tag) { case "Structure": { Structure s = collided.transform.parent.GetComponent <Structure>(); if (s == null) { ChangeChosenObject(ChosenObjectType.None); } else { if (chosenStructure == s) { return; } else { chosenStructure = s; chosenSurface = s.basement; chosenCube = null; chosenWorksite = null; ChangeChosenObject(ChosenObjectType.Structure); } } break; } case "BlockCollider": { Block b = collided.transform.parent.GetComponent <Block>(); if (b == null) { b = collided.transform.parent.parent.GetComponent <Block>(); // cave block } if (b == null) { ChangeChosenObject(ChosenObjectType.None); } switch (b.type) { case BlockType.Cave: case BlockType.Surface: SurfaceBlock sb = b as SurfaceBlock; if (sb == chosenSurface) { return; } else { chosenSurface = sb; chosenStructure = null; chosenCube = null; chosenWorksite = sb.worksite; ChangeChosenObject(ChosenObjectType.Surface); } break; case BlockType.Cube: CubeBlock cb = b as CubeBlock; if (cb == chosenCube) { return; } else { chosenCube = cb; chosenSurface = null; chosenStructure = null; chosenWorksite = cb.worksite; faceIndex = 10; for (byte i = 0; i < 6; i++) { if (chosenCube.faces[i] == null) { continue; } if (chosenCube.faces[i].GetComponent <Collider>() == rh.collider) { faceIndex = i; break; } } if (faceIndex < 6) { ChangeChosenObject(ChosenObjectType.Cube); } else { ChangeChosenObject(ChosenObjectType.None); } } break; } } break; case "WorksiteSign": { WorksiteSign ws = collided.GetComponent <WorksiteSign>(); if (ws != null) { if (ws.worksite == chosenWorksite) { return; } else { chosenCube = null; chosenSurface = null; chosenStructure = null; chosenWorksite = ws.worksite; ChangeChosenObject(ChosenObjectType.Worksite); } } else { ChangeChosenObject(ChosenObjectType.None); } } break; default: if (collided.transform.parent != null) { if (collided.transform.parent.gameObject.GetInstanceID() == interceptingConstructPlaneID) { UISurfacePanelController.current.ConstructingPlaneTouch(rh.point); } } break; } } else { SelectedObjectLost(); } }
public void ShowWorksite(Worksite ws) { chosenWorksite = ws; ChangeChosenObject(ChosenObjectType.Worksite); }