void OnRecruit() { UI_HeroListManager._instance.m_SelectRecruitTableId = this.objHeroItemData.heroTableID; ItemFragment item = (ItemFragment)ObjectSelf.GetInstance().CommonItemContainer.GetFragmentBaseItem(_HeroItem.GetID()); if (item != null) { item.OnUseItem(1); } }
/// <summary> /// Sets the child fragment for when each navigation item is selected /// </summary> private void SetFrameFragment(int index) { assignment = assignmentViewModel.SelectedAssignment; //var transaction = FragmentManager.BeginTransaction (); var screen = Constants.Navigation [index]; switch (screen) { case "Summary": { var fragment = new SummaryFragment(); fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Invisible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; } break; case "Map": { var fragment = new MapFragment(); // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Invisible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; } break; case "Items": { var fragment = new ItemFragment(); fragment.Assignment = assignment; itemViewModel.LoadAssignmentItemsAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.AssignmentItems = itemViewModel.AssignmentItems; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Visible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; items.Text = string.Format("({0}) Items", assignment.TotalItems.ToString()); }); }); } break; case "Labor Hours": { var fragment = new LaborHourFragment(); laborViewModel.LoadLaborHoursAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.LaborHours = laborViewModel.LaborHours; fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); addLabor.Visibility = items.Visibility = ViewStates.Visible; addExpense.Visibility = addItems.Visibility = ViewStates.Gone; items.Text = string.Format("{0} hrs", assignment.TotalHours.TotalHours.ToString("0.0")); }); }); } break; case "Confirmations": { var fragment = new ConfirmationFragment(); photoViewModel.LoadPhotosAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.Photos = photoViewModel.Photos; fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); addLabor.Visibility = items.Visibility = ViewStates.Invisible; addExpense.Visibility = addItems.Visibility = ViewStates.Gone; }); }); } break; case "Expenses": { var fragment = new ExpenseFragment(); expenseViewModel.LoadExpensesAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.Expenses = expenseViewModel.Expenses; fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); addLabor.Visibility = addItems.Visibility = ViewStates.Gone; items.Visibility = addExpense.Visibility = ViewStates.Visible; items.Text = assignment.TotalExpenses.ToString("$0.00"); }); }); } break; case "Documents": { var fragment = new DocumentFragment(); documentViewModel.LoadDocumentsAsync().ContinueWith(_ => { RunOnUiThread(() => { fragment.Documents = documentViewModel.Documents; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Invisible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; }); }); } break; case "History": { var fragment = new HistoryFragment(); historyViewModel.LoadHistoryAsync(assignment).ContinueWith(_ => { RunOnUiThread(() => { fragment.History = historyViewModel.History; fragment.Assignment = assignment; // transaction.SetTransition (FragmentTransit.FragmentOpen); // transaction.Replace (Resource.Id.contentFrame, fragment); // transaction.Commit (); items.Visibility = addItems.Visibility = ViewStates.Invisible; addExpense.Visibility = addLabor.Visibility = ViewStates.Gone; }); }); } break; default: break; } }
/// <summary> /// Drop fragments when the player is killed. /// </summary> protected void DropFragments() { if (FragmentCounter == 0) { return; } int existingFragmentCount = 0; Vector3Int cell = MapManager.Instance.TilemapGameplay.WorldToCell(transform.position + RendererOffset); Vector3 cellCenterPos = MapManager.Instance.TilemapGameplay.GetCellCenterWorld(cell); // Get all triggers in the cell. Collider2D[] triggers = Physics2D.OverlapCircleAll( new Vector2( cellCenterPos.x, cellCenterPos.y ), MapManager.Instance.TilemapCellHalfSize, 1 << LayerMask.NameToLayer(Constants.UserLayerNameTrigger) ); // Find if we are in ghost house or not. if (triggers.Length > 0) { foreach (Collider2D item in triggers) { if (item.CompareTag("GhostHouse")) { // If player dies in the ghost house, the fragments have to be moved out of it. // Change the location of the spawn to one of the item spawn position. int newSpawnPosIdx = Random.Range(0, MapManager.Instance.ItemSpawnPoints.Length - 1); cellCenterPos = MapManager.Instance.ItemSpawnPoints[newSpawnPosIdx].position; // Continue the code of drop with a new position. } } } // Get all collectables in the cell. Collider2D[] collectables = Physics2D.OverlapCircleAll( new Vector2( cellCenterPos.x, cellCenterPos.y ), MapManager.Instance.TilemapCellHalfSize, 1 << LayerMask.NameToLayer(Constants.UserLayerNameCollectable) ); // Get existing count if there is already some fragment. if (collectables.Length > 0) { foreach (Collider2D item in collectables) { if (item.CompareTag("Fragment")) { existingFragmentCount = item.GetComponent <ItemFragment>().Quantity; Destroy(item.gameObject); break; } } } ItemFragment frag = Instantiate(_fragmentPrefab, cellCenterPos, Quaternion.identity).GetComponent <ItemFragment>(); frag.Quantity = FragmentCounter + existingFragmentCount; // Show message if it is more than X% of total fragment count. if (FragmentCounter >= Math.Round(MapManager.Instance.TotalFragmentCount * .7f)) // 70% and more fragment drop will cause notification. { UserInterfaceGameplayManager.Instance.NotificationPanelReference.ShowNotification(Name.ToUpper() + " LOST LARGE AMOUNT OF COINS!"); } FragmentCounter = 0; PlayerManagerReference.PlayerPanelReference.PlayerStats.UpdateFragmentCount(FragmentCounter); }