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); }
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; } }