public void SpawnCreditsPaperwork() { if (DeveloperProfileIndex >= DeveloperProfileCount) { bCreditsDone = true; MarkerOfDeath.instance.MarkerDisappear(); StartCoroutine(ThankRoutine()); } else { Paperwork newPaperwork = Instantiate(PaperworkManager.instance.PaperworkTemplate); newPaperwork.bIsCreditsProfile = true; newPaperwork.InitFromProfile(ProfileManager.instance.DeveloperProfileList[DeveloperProfileIndex], GrimDesk.instance.PaperWorkSpawnMarker.gameObject.transform.position, GrimDesk.instance.PaperWorkSpawnMarker.gameObject.transform.rotation, false, 0, false); newPaperwork.gameObject.transform.SetParent(gameObject.transform); int spawnMarkerIndex = DeveloperProfileIndex % PaperworkMarkers.Count; Vector3 spawnPos = newPaperwork.gameObject.transform.position; spawnPos.x = PaperworkMarkers[spawnMarkerIndex].transform.position.x; spawnPos.y = PaperworkMarkers[spawnMarkerIndex].transform.position.y; newPaperwork.gameObject.transform.position = spawnPos; newPaperwork.FocusPaperwork(); CurrentPaperwork = newPaperwork; DeveloperProfileIndex++; } }
public async Task <ActionResult <Paperwork> > CreatePaperwork(PaperworkCriteria item) { Paperwork result = new Paperwork(); using (dbtramiteContext db = new dbtramiteContext()) { result.Name = item.Name; result.FacultyId = item.FacultyId; result.CreatedBy = "1"; result.IsActive = 1; result.CreatedAt = DateTime.Now; db.Add(result); db.SaveChanges(); } return(result); }
public void Show(Paperwork pendingPaperwork, EPaperworkMarkType pendingMarkType, PaperworkMark pendingMark) { PendingPaperwork = pendingPaperwork; if (PendingPaperwork.GetProfile() == GameManager.instance.GrimReaperPaperworkProfile) { if (pendingMarkType == EPaperworkMarkType.Die) { TextPrompt.text = TextSelfie; } else { TextPrompt.text = TextSelfieLive; } } else if (PendingPaperwork.GetProfile() == GameManager.instance.FatePaperworkProfile) { if (pendingMarkType == EPaperworkMarkType.Die) { TextPrompt.text = TextUsurpator; } else { TextPrompt.text = TextUsurpatorLive; } } else { TextPrompt.text = TextDefault; } PendingMarkType = pendingMarkType; PendingMark = pendingMark; if (SaveManager.instance.CurrentOptions.SkipMarkPopUp) { ToggleOptOut.gameObject.SetActive(false); } else { ToggleOptOut.isOn = false; ToggleOptOut.gameObject.SetActive(true); } gameObject.SetActive(true); Cursor.visible = true; }
public void NotifyStartDay(bool restoreFromSave) { List <template_profile> profiles = new List <template_profile>(DesktopManager.instance.GetProfiles()); int profileCount = profiles.Count; if (!restoreFromSave) { if (SaveManager.instance.GetCurrentPlayerState().GetCurrentDayNumberNotIndexThisHasOneAddedToIt() == 4) { SaveManager.instance.GetCurrentCarryoverPlayerState().FateAttentionProfileIndex = Random.Range(0, profileCount); } else { SaveManager.instance.GetCurrentCarryoverPlayerState().FateAttentionProfileIndex = -1; } SaveManager.instance.MarkSavegameDirty(); } //TODO: ARTICY VAR TO CHECK IF IT HAS BEEN DEADED OR LIVE int fateAttentionProfileIndex = SaveManager.instance.GetCurrentCarryoverPlayerState().FateAttentionProfileIndex; for (int i = 0; i < profileCount; ++i) { Paperwork newPaperwork = Instantiate(PaperworkTemplate); if (restoreFromSave) { newPaperwork.InitFromProfile(profiles[i], GrimDesk.instance.PaperWorkSpawnMarker.gameObject.transform.position + new Vector3(1.0f * (i % 4), 0.3f * (i % 4) - 0.6f * Mathf.FloorToInt(i / 4), -i * 2 - 3), GrimDesk.instance.PaperWorkSpawnMarker.gameObject.transform.rotation, restoreFromSave, i, i == fateAttentionProfileIndex); } else { int profileIndex = Random.Range(0, profiles.Count); newPaperwork.InitFromProfile(profiles[profileIndex], GrimDesk.instance.PaperWorkSpawnMarker.gameObject.transform.position + new Vector3(1.0f * (i % 4), 0.3f * (i % 4) - 0.6f * Mathf.FloorToInt(i / 4), -i * 2 - 3), GrimDesk.instance.PaperWorkSpawnMarker.gameObject.transform.rotation, restoreFromSave, i, i == fateAttentionProfileIndex); profiles.RemoveAt(profileIndex); } newPaperwork.name += i; //newPaperwork.StartFadeInParticle(); PaperworkList.Add(newPaperwork); } }
public void Hide() { Cursor.visible = false; PendingPaperwork = null; gameObject.SetActive(false); }
public void FinishDay() { Phone.instance.ClearNews(); int deathOccupationMarks = 0; int spareOccupationMarks = 0; int deathOlderMarks = 0; int spareOlderMarks = 0; int deathYoungerMarks = 0; int spareYoungerMarks = 0; foreach (template_profile profile in Profiles) { Paperwork paperwork = PaperworkManager.instance.GetPreviousPaperworkByProfile(profile); if (profile.Template.profile_basic_data.profile_marked_for_death) { if (paperwork != null && paperwork.bFateAttentionSpare) { ArticyGlobalVariables.Default.day.four_spared_fates_extra_profile = false; } if (GameManager.instance.GetCurrentDayTask().Template.task.task_death_occupation_amount > 0 && (int)GameManager.instance.GetCurrentDayTask().Template.task.task_death_occupation_selector == (int)profile.Template.profile_basic_data.profile_occupation_selector) { deathOccupationMarks++; } int ageOlder = 0; int.TryParse(profile.Template.profile_basic_data.profile_age_value, out ageOlder); if (GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_older_amount > 0 && (int)GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_older >= ageOlder) { deathOlderMarks++; } int ageYounger = 0; int.TryParse(profile.Template.profile_basic_data.profile_age_value, out ageYounger); if (GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_younger_amount > 0 && (int)GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_younger <= ageYounger) { deathYoungerMarks++; } ApplyConsequence(profile.Template.profile_death_data); SaveManager.instance.GetCurrentPlayerState().ModifyStat(EStat.DEATH_TOTAL, 1); } else { if (paperwork != null && paperwork.bFateAttentionSpare) { ArticyGlobalVariables.Default.day.four_spared_fates_extra_profile = true; } if (GameManager.instance.GetCurrentDayTask().Template.task.task_spare_occupation_amount > 0 && (int)GameManager.instance.GetCurrentDayTask().Template.task.task_spare_occupation_selector == (int)profile.Template.profile_basic_data.profile_occupation_selector) { spareOccupationMarks++; } int ageOlder = 0; int.TryParse(profile.Template.profile_basic_data.profile_age_value, out ageOlder); if (GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_older_amount > 0 && (int)GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_older >= ageOlder) { spareOlderMarks++; } int ageYounger = 0; int.TryParse(profile.Template.profile_basic_data.profile_age_value, out ageYounger); if (GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_younger_amount > 0 && (int)GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_younger <= ageYounger) { spareYoungerMarks++; } ApplyConsequence(profile.Template.profile_spare_data); SaveManager.instance.GetCurrentPlayerState().ModifyStat(EStat.SPARE_TOTAL, 1); } } SaveManager.instance.GetCurrentPlayerState().SetFaxSent(true); SaveManager.instance.GetCurrentCarryoverPlayerState().ResetTaskDeviationCounter(); if (GameManager.instance.GetCurrentDayTask().Template.task.task_spare_occupation_amount > 0 && spareOccupationMarks < GameManager.instance.GetCurrentDayTask().Template.task.task_spare_occupation_amount) { SaveManager.instance.GetCurrentCarryoverPlayerState().IncrementTaskDeviationCounter(); } if (GameManager.instance.GetCurrentDayTask().Template.task.task_death_occupation_amount > 0 && deathOccupationMarks < GameManager.instance.GetCurrentDayTask().Template.task.task_death_occupation_amount) { SaveManager.instance.GetCurrentCarryoverPlayerState().IncrementTaskDeviationCounter(); } if (GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_older_amount > 0 && spareOlderMarks < GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_older_amount) { SaveManager.instance.GetCurrentCarryoverPlayerState().IncrementTaskDeviationCounter(); } if (GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_older_amount > 0 && deathOlderMarks < GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_older_amount) { SaveManager.instance.GetCurrentCarryoverPlayerState().IncrementTaskDeviationCounter(); } if (GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_younger_amount > 0 && spareYoungerMarks < GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_younger_amount) { SaveManager.instance.GetCurrentCarryoverPlayerState().IncrementTaskDeviationCounter(); } if (GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_younger_amount > 0 && deathYoungerMarks < GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_younger_amount) { SaveManager.instance.GetCurrentCarryoverPlayerState().IncrementTaskDeviationCounter(); } Debug.Log("Day " + (SaveManager.instance.GetCurrentPlayerState().GetCurrentDayNumberNotIndexThisHasOneAddedToIt()) + " task overview:" + "\nSpare Occupation requirement: " + GameManager.instance.GetCurrentDayTask().Template.task.task_spare_occupation_selector + " value: " + GameManager.instance.GetCurrentDayTask().Template.task.task_spare_occupation_amount + " current: " + spareOccupationMarks + "\nSpare Older requirement: " + GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_older + " value: " + GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_older_amount + " current: " + spareOlderMarks + "\nSpare Younger requirement: " + GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_younger + " value: " + GameManager.instance.GetCurrentDayTask().Template.task.task_spare_threshold_younger_amount + " current: " + spareYoungerMarks + "\nDeath Occupation requirement: " + GameManager.instance.GetCurrentDayTask().Template.task.task_death_occupation_selector + " value: " + GameManager.instance.GetCurrentDayTask().Template.task.task_death_occupation_amount + " current: " + deathOccupationMarks + "\nDeath Older requirement: " + GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_older + " value: " + GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_older_amount + " current: " + deathOlderMarks + "\nDeath Younger requirement: " + GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_younger + " value: " + GameManager.instance.GetCurrentDayTask().Template.task.task_death_threshold_younger_amount + " current: " + deathYoungerMarks + "\nDeviation Counter: " + SaveManager.instance.GetCurrentCarryoverPlayerState().GetTaskDeviationCounter()); if (SaveManager.instance.GetCurrentPlayerState().GetCurrentDayIndex() == 19) { ArticyGlobalVariables.Default.day.twenty_done_cons_trigger = true; } if (GameManager.instance.GetLoyaltyFactor() >= 1.0f) { SaveManager.instance.GetCurrentPlayerState().bRuleBender = false; } SaveManager.instance.GetCurrentPlayerState().ModifyStat(EStat.LOYALTY, Mathf.CeilToInt(100 * GameManager.instance.GetLoyaltyFactor())); Profiles.Clear(); KeyValuePair <string, int> bestParameter = SaveManager.instance.GetCurrentPlayerState().GetBestParameter(); KeyValuePair <string, int> worstParameter = SaveManager.instance.GetCurrentPlayerState().GetWorstParameter(); ArticyGlobalVariables.Default.rep.best_parameter_name = bestParameter.Key; ArticyGlobalVariables.Default.rep.best_parameter_value = bestParameter.Value; ArticyGlobalVariables.Default.rep.worst_parameter_name = worstParameter.Key; ArticyGlobalVariables.Default.rep.worst_parameter_value = worstParameter.Value; float averageRep = (ArticyGlobalVariables.Default.rep.ecology + ArticyGlobalVariables.Default.rep.prosperity + ArticyGlobalVariables.Default.rep.peace + ArticyGlobalVariables.Default.rep.health) / 4; if (ArticyGlobalVariables.Default.profile.evil_ecology_trigger) { if (ArticyGlobalVariables.Default.rep.ecology > GameManager.instance.ChaosThresholds[(int)EChaosThreshold.Dire]) { ArticyGlobalVariables.Default.profile.evil_ecology_trigger = false; } } else { if (ArticyGlobalVariables.Default.rep.ecology <= -500) { ArticyGlobalVariables.Default.profile.evil_ecology_trigger = true; } } if (ArticyGlobalVariables.Default.profile.evil_health_trigger) { if (ArticyGlobalVariables.Default.rep.health > GameManager.instance.ChaosThresholds[(int)EChaosThreshold.Dire]) { ArticyGlobalVariables.Default.profile.evil_health_trigger = false; } } else { if (ArticyGlobalVariables.Default.rep.health <= -500) { ArticyGlobalVariables.Default.profile.evil_health_trigger = true; } } if (ArticyGlobalVariables.Default.profile.evil_peace_trigger) { if (ArticyGlobalVariables.Default.rep.peace > GameManager.instance.ChaosThresholds[(int)EChaosThreshold.Dire]) { ArticyGlobalVariables.Default.profile.evil_peace_trigger = false; } } else { if (ArticyGlobalVariables.Default.rep.peace <= -500) { ArticyGlobalVariables.Default.profile.evil_peace_trigger = true; } } if (ArticyGlobalVariables.Default.profile.evil_prosperity_trigger) { if (ArticyGlobalVariables.Default.rep.prosperity > GameManager.instance.ChaosThresholds[(int)EChaosThreshold.Dire]) { ArticyGlobalVariables.Default.profile.evil_prosperity_trigger = false; } } else { if (ArticyGlobalVariables.Default.rep.prosperity <= -500) { ArticyGlobalVariables.Default.profile.evil_prosperity_trigger = true; } } Debug.Log("Day " + (SaveManager.instance.GetCurrentPlayerState().GetCurrentDayNumberNotIndexThisHasOneAddedToIt()) + " over\nWorst parameter: " + ArticyGlobalVariables.Default.rep.worst_parameter_name + " value: " + ArticyGlobalVariables.Default.rep.worst_parameter_value + "\nBest parameter: " + ArticyGlobalVariables.Default.rep.best_parameter_name + " value: " + ArticyGlobalVariables.Default.rep.best_parameter_value + "\nAverageRep: " + averageRep); ExitDesktop(); }
private void HandleInteractableInput(bool bLeftMouseDown, bool bLeftMouseUp) { //int layerMask = 1 << LayerMask.NameToLayer("Container"); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit2D hit = Physics2D.GetRayIntersection(ray, Mathf.Infinity); Interactable hitInteractable = null; if (hit.collider != null) { //hitInteractable = (Interactable)hit.collider.gameObject.GetComponent(typeof(Interactable)); //if(hitInteractable == null) //{ //} hitInteractable = (Interactable)hit.collider.gameObject.GetComponentInParent(typeof(Interactable)); //TODO: remove //Draggable newDraggable = hit.collider.gameObject.GetComponentInParent<Draggable>(); //if (CurrentDraggable != null && CurrentDraggable != newDraggable) //{ // CurrentDraggable.ToggleDragging(false); //} if (hitInteractable != null && LastHitInteractable != hitInteractable) { if (LastHitInteractable != null) { LastHitInteractable.Unhover(); } LastHitInteractable = hitInteractable; if (LastHitInteractable != null) { LastHitInteractable.Hover(); } HUDManager.instance.SetHoverText(hitInteractable.GetHoverText()); } else { } } else { //TODO: remove //if (CurrentDraggable != null) //{ // CurrentDraggable.ToggleDragging(false); //} if (LastHitInteractable != null) { LastHitInteractable.Unhover(); } HUDManager.instance.SetHoverText(""); LastHitInteractable = null; } // once if (bLeftMouseDown && !IsPointerOverUIObject() && hit.collider != null) { DragStart = Input.mousePosition; CurrentDraggable = hit.collider.gameObject.GetComponentInParent <Draggable>(); if (CurrentDraggable != null && CurrentDraggable.CanDrag()) { CurrentDraggable.UpdateDragGrabPosition(hit.point); } MouseDownInteractable = hit.collider.gameObject.GetComponentInParent <Interactable>(); } // continous if (Input.GetMouseButton(0)) { if (Vector3.Distance(DragStart, Input.mousePosition) >= 15.0f) { if (CurrentDraggable != null && CurrentDraggable.CanDrag()) { if (!CurrentDraggable.IsDragging()) { //CurrentDraggable.UpdateDragGrabPosition(hit.point); CurrentDraggable.ToggleDragging(true); } int layerMaskDrag = 1 << LayerMask.NameToLayer("Drawer"); Ray rayDrag = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit2D hitDrag = Physics2D.GetRayIntersection(rayDrag, Mathf.Infinity, layerMaskDrag); GrimDeskDrawer hitDrawer = null; if (hitDrag.collider != null) { //Debug.Log("drag hit: " + hitDrag.collider.gameObject); //hitInteractable = (Interactable)hit.collider.gameObject.GetComponent(typeof(Interactable)); //if(hitInteractable == null) //{ //} hitDrawer = hitDrag.collider.gameObject.GetComponentInParent <GrimDeskDrawer>(); if (hitDrawer != null) { if (hitDrawer.IsOpen()) { CurrentDraggable.HandleDropIntoDrawer(hitDrawer); } } else { CurrentDraggable.HandleDragOutOfDrawer(); } } else { CurrentDraggable.HandleDragOutOfDrawer(); } } } } // once if (bLeftMouseUp && !IsPointerOverUIObject()) { DragEnd = Input.mousePosition; if (hitInteractable != null) { if (MouseDownInteractable == hitInteractable) { if (CurrentDraggable != null) { if (Vector3.Distance(DragStart, DragEnd) < 15.0f) { hitInteractable.Interact(); } } else { if (hit.collider.gameObject.GetComponentInParent <Phone>()) { if (Vector3.Distance(DragStart, DragEnd) < 15.0f) { hitInteractable.Interact(); } } else { hitInteractable.Interact(); } } } MouseDownInteractable = null; } else { if (MarkerOfDeath.instance.IsPickedUp()) { MarkerOfDeath.instance.Interact(); } else if (Eraser.instance.IsPickedUp()) { Eraser.instance.Interact(); } else { } } if (CurrentDraggable != null) { if (CurrentDraggable.IsDragging()) { CurrentDraggable.ToggleDragging(false); Paperwork draggedPaperwork = CurrentDraggable as Paperwork; if (draggedPaperwork != null && draggedPaperwork.Status == EPaperworkStatus.DESK) { int layerMaskDrag = 1 << LayerMask.NameToLayer("Fax"); RaycastHit2D hitFax = Physics2D.Raycast(draggedPaperwork.gameObject.transform.position, Vector2.down, Mathf.Infinity, layerMaskDrag); if (hitFax.collider != null) { FaxMachine misterfaxobeat = hitFax.collider.gameObject.GetComponent <FaxMachine>(); if (misterfaxobeat != null && !misterfaxobeat.IsInDrawer()) { misterfaxobeat.Interact(); } } else { hitFax = Physics2D.Raycast(draggedPaperwork.FaxTraceMarker.gameObject.transform.position, Vector2.down, Mathf.Infinity, layerMaskDrag); if (hitFax.collider != null) { FaxMachine misterfaxobeat = hitFax.collider.gameObject.GetComponent <FaxMachine>(); if (misterfaxobeat != null) { misterfaxobeat.Interact(); } } } } SaveManager.instance.MarkSavegameDirty(); } CurrentDraggable = null; } } }