コード例 #1
0
    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);
        }
    }
コード例 #2
0
        /// <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;
            }
        }
コード例 #3
0
        /// <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);
        }