public void ActivatePreset() { if (presetOptions.assetList.value != 0) //Option 0 is "None" { characters[characterCounter].gameObject.SetActive(false); presets.ActivateCharacter(presetOptions.assetList.value - 1, characters[characterCounter].transform.position); var characterRotate = GetComponent <CharacterRotate>(); if (characterRotate != null) { characterRotate.objectToRotate = presets.GetCurrentCharacter; } var presetAnimations = presets.GetCurrentCharacter.GetComponent <Animation>(); if (presetAnimations != null) { currentCharacterAnimation = presetAnimations; GenerateAnimationsUI(); } } else { ActivatePlayerCharacter(); } presetOptions.CheckButtons(); }
public void ActivateModel(int elementIndex, OptionsHolder optionsHolder, List <Transform> materialOptions, Transform assetHolder) { //If we used presets our character is currently inactive therefore we need to switch it on if (characters[characterCounter].gameObject.activeInHierarchy == false) { if (presets != null) { presets.DeactivatePreset(); } characters[characterCounter].gameObject.SetActive(true); } currentCharacterItems.itemsConfiguration[elementIndex].ActivateModel(optionsHolder.assetList.value); optionsHolder.CheckButtons(); //Clearing material options foreach (var materialOption in materialOptions) { if (materialOption != null) { Destroy(materialOption.gameObject); } } //Generating material options for given item if (currentCharacterItems.itemsConfiguration[elementIndex].items[optionsHolder.assetList.value].materials != null) { for (int i = 0; i < currentCharacterItems.itemsConfiguration[elementIndex].items[optionsHolder.assetList.value].materials.Count; i++) { var materialIndex = i; var instantiatedMaterialOption = Instantiate(optionHodler, assetHolder); materialOptions.Add(instantiatedMaterialOption.transform); var optionsNames = new List <string>(); foreach (var option in currentCharacterItems.itemsConfiguration[elementIndex].items[optionsHolder.assetList.value].materials[i].aviableMaterials) { optionsNames.Add(option.name); } instantiatedMaterialOption.assetList.AddOptions(optionsNames); instantiatedMaterialOption.assetList.value = currentCharacterItems.itemsConfiguration[elementIndex].items[optionsHolder.assetList.value].materials[materialIndex].GetCounter; instantiatedMaterialOption.assetList.onValueChanged.AddListener(delegate { ChangeMaterial(elementIndex, materialIndex, instantiatedMaterialOption); }); instantiatedMaterialOption.nextButton.onClick.AddListener(delegate { NextMaterial(elementIndex, materialIndex, instantiatedMaterialOption); }); instantiatedMaterialOption.previousButton.onClick.AddListener(delegate { PreviousMaterial(elementIndex, materialIndex, instantiatedMaterialOption); }); ChangeMaterial(elementIndex, materialIndex, instantiatedMaterialOption); } } }
public void ChangeMaterial(int meshIndex, int objectIndex, OptionsHolder optionsHodler) { if (characters[characterCounter].gameObject.activeInHierarchy == false) { if (presets != null) { presets.DeactivatePreset(); } characters[characterCounter].gameObject.SetActive(true); } optionsHodler.CheckButtons(); currentCharacterItems.itemsConfiguration[meshIndex].ChangeMaterial(objectIndex, optionsHodler.assetList.value); }
private void ActivateCharacter(OptionsHolder optionsHolder) { characters[characterCounter].gameObject.SetActive(false); if (presets != null) { presets.DeactivatePreset(); } characters[optionsHolder.assetList.value].gameObject.SetActive(true); presets = characters[optionsHolder.assetList.value].gameObject.GetComponent <PresetCharacter>(); characterCounter = optionsHolder.assetList.value; GeneratePresetUI(); ActivatePlayerCharacter(); optionsHolder.CheckButtons(); }
//----------------------------------------------------------------- private void GeneratePresetUI() { if (presetsHolder != null) { Destroy(presetsHolder.gameObject); } if (presets != null) { var assetHolderInstance = Instantiate(assetHolder, rightHolder); presetsHolder = assetHolderInstance; var holderName = assetHolderInstance.GetComponentInChildren <Text>(); if (holderName != null) { holderName.text = "Presets"; } var optionsInstance = Instantiate(optionHodler, assetHolderInstance); var presetsNames = new List <string>(); presetsNames.Add("None"); foreach (var preset in presets.characters) { if (preset != null) { presetsNames.Add(preset.name); } } optionsInstance.assetList.AddOptions(presetsNames); optionsInstance.assetList.value = 0; presetOptions = optionsInstance; presetOptions.CheckButtons(); optionsInstance.assetList.onValueChanged.AddListener(delegate { ActivatePreset(); }); optionsInstance.nextButton.onClick.AddListener(delegate { ActivateNextPreset(); }); optionsInstance.previousButton.onClick.AddListener(delegate { ActivatePreviousPreset(); }); } }
public void PlayAnimation(OptionsHolder optionsHolder) { currentCharacterAnimation.Play(optionsHolder.assetList.options[optionsHolder.assetList.value].text); optionsHolder.CheckButtons(); }