コード例 #1
0
 private void AvatarCreation_StepBackwards(int toStep)
 {
     if (stepTween != null)
     {
         stepTween.Complete();
     }
     for (var i = toStep + 1; i < selectionStep + 1; ++i)
     {
         PlayerCreationUICategory cat = Categories[i];
         //                if (i == CategoryIndex.Color) {
         //                    // Reset avatars colors
         //                    Categories[CategoryIndex.Avatar].ResetColor();
         //                }
         cat.Select(-1);
         cat.gameObject.SetActive(false);
     }
     selectionStep = toStep;
     stepTween     = CategoriesContainer.DOAnchorPosY(StartupOffsetY - selectionStepOffsetY * selectionStep, 0.4f);
     playAudioDescription(State, selectionStep);
 }
コード例 #2
0
        private void OnSelectCategory(PlayerCreationUICategory category, UIButton uiButton)
        {
            switch (State)
            {
            case UIState.GenderSelection:
                BtContinue.gameObject.SetActive(true);
                BtContinue.Pulse();
                confirmationPanel.Hide();
                SelectGender(Array.IndexOf(GenderCategory.UIButtons, uiButton) == 0
                        ? PlayerGender.M
                        : PlayerGender.F);
                KeeperManager.I.PlayDialogue(Database.LocalizationDataId.Action_PressPlay);
                break;

            case UIState.AvatarCreation:
                int catIndex = Array.IndexOf(Categories, category);
                if (selectionStep < Categories.Length - 1 && catIndex == selectionStep)
                {
                    AvatarCreation_NextStep();
                }

                switch (catIndex)
                {
                case CategoryIndex.SkinColor:
                    currSkinColor = uiButton.Bt.image.color;
                    foreach (PlayerCreationAvatar avatar in _avatars)
                    {
                        avatar.SetFaceColor(currSkinColor);
                    }
                    FillHairAvatars();
                    break;

                case CategoryIndex.Avatar:
                    currAvatarId = Array.IndexOf(_avatarBts, uiButton);
                    FillHairAvatars();
                    break;

                case CategoryIndex.HairColor:
                    currHairColor = uiButton.GetComponent <PlayerCreationAvatar>().hairImg.color;
                    break;
                }

                if (allAvatarCategoriesSelected)
                {
                    BtContinue.gameObject.SetActive(true);
                    BtContinue.Pulse();
                    KeeperManager.I.PlayDialogue(Database.LocalizationDataId.Action_PressPlay);
                }
                break;

            case UIState.BgColorSelection:
                switch (category.CategoryType)
                {
                case CategoryType.BgColor:
                    BtContinue.gameObject.SetActive(true);
                    BtContinue.Pulse();
                    currBgColor = uiButton.Bt.image.color;
                    _avatars[currAvatarId].GetComponent <UIButton>().Bt.image.color = currBgColor;
                    KeeperManager.I.PlayDialogue(Database.LocalizationDataId.Action_PressPlay);
                    break;

                case CategoryType.Avatar:
                    BgColorCategory.Select(-1);
                    _avatars[currAvatarId].GetComponent <UIButton>().Bt.image.color = Color.white;
                    SwitchState(UIState.AvatarCreation);
                    break;
                }
                break;

            case UIState.AgeSelection:
                switch (category.CategoryType)
                {
                case CategoryType.Age:
                    BtContinue.gameObject.SetActive(true);
                    BtContinue.Pulse();
                    KeeperManager.I.PlayDialogue(Database.LocalizationDataId.Action_PressPlay);
                    currAge = 4 + Array.IndexOf(AgeCategory.UIButtons, uiButton);
                    break;

                case CategoryType.Avatar:
                    AgeCategory.Select(-1);
                    _avatars[currAvatarId].GetComponent <UIButton>().Bt.image.color = Color.white;
                    SwitchState(UIState.AvatarCreation);
                    break;
                }
                break;
            }
        }