/// <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();
        }
예제 #2
0
    /// <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();
        }
    }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }