/// <summary> /// Applies the avatar part configuration for a specific part controller /// </summary> /// <param name="partController">The part controller to which the properties should be applied</param> /// <param name="partName">The name of the part (used in the hastable keys)</param> private void ApplyCustomProperty(AvatarPartConfigurationController partController, string partName) { partController.ModelIndex = PlayerPropertyUtilities.GetValueOrDefault <byte>(photonView.Owner.CustomProperties, partName + modelKeySuffix, 0); partController.MaterialIndex = PlayerPropertyUtilities.GetValueOrDefault <byte>(photonView.Owner.CustomProperties, partName + materialKeySuffix, 0); partController.ColorIndex = PlayerPropertyUtilities.GetValueOrDefault <byte>(photonView.Owner.CustomProperties, partName + colorKeySuffix, 0); partController.ApplyConfiguration(); }
/// <summary> /// If F5 is pressed, the chosen configuration is applied to the configuration controller /// </summary> private void Update() { if (Input.GetKeyDown(KeyCode.F5)) { avatarConfigController.ModelIndex = modelIndex; avatarConfigController.MaterialIndex = materialIndex; avatarConfigController.ColorIndex = colorIndex; avatarConfigController.ApplyConfiguration(); } }
private void ColorItemSelected(object sender, EventArgs e) { EnsureAvatarConfigController(); AvatarPartConfigurationController selectedPartController = GetSelectedController(); selectedPartController.ColorIndex = colorSelector.SelectedIndex; selectedPartController.ApplyConfiguration(); PlayerPropertyUtilities.SetProperty( avatarConfigurationController.AvatarPartControllers[categoryToggles.CurrentIndex].Name + "Color", (byte)colorSelector.SelectedIndex); }
private void MaterialItemSelected(object sender, EventArgs e) { EnsureAvatarConfigController(); AvatarPartConfigurationController selectedPartController = GetSelectedController(); selectedPartController.MaterialIndex = materialSelector.SelectedIndex; selectedPartController.ApplyConfiguration(); PlayerPropertyUtilities.SetProperty( avatarConfigurationController.AvatarPartControllers[categoryToggles.CurrentIndex].Name + "Material", (byte)materialSelector.SelectedIndex); UpdateColorChooser(selectedPartController); }
private void ModelItemSelected(object sender, EventArgs e) { EnsureAvatarConfigController(); AvatarPartConfigurationController selectedPartController = GetSelectedController(); selectedPartController.ModelIndex = modelSelector.SelectedIndex; selectedPartController.ApplyConfiguration(); PlayerPropertyUtilities.SetProperty( avatarConfigurationController.AvatarPartControllers[categoryToggles.CurrentIndex].Name + AvatarAppearanceSynchronizer.modelKeySuffix, (byte)selectedPartController.ModelIndex); PlayerPropertyUtilities.SetProperty( avatarConfigurationController.AvatarPartControllers[categoryToggles.CurrentIndex].Name + AvatarAppearanceSynchronizer.materialKeySuffix, (byte)selectedPartController.MaterialIndex); PlayerPropertyUtilities.SetProperty( avatarConfigurationController.AvatarPartControllers[categoryToggles.CurrentIndex].Name + AvatarAppearanceSynchronizer.colorKeySuffix, (byte)selectedPartController.ColorIndex); UpdateMaterialChooser(selectedPartController); }