public void ResetMaterial() { Plugin.Log($"Player: {NickName} resetting material"); if (defaultMaterial != null) { SetVRRigMaterial(defaultMaterial); } CurrentMaterial = null; }
public void SetMaterial(GorillaMaterial material) { if (material == null) { ResetMaterial(); return; } Plugin.Log($"Player: {NickName} switching material from {CurrentMaterial?.Descriptor?.Name} to {material?.Descriptor?.Name}"); CurrentMaterial = material; SetVRRigMaterial(material.GetMaterial()); }
public void SetMaterial(GorillaMaterial material) { Material = material; if (previewOrb != null) { Destroy(previewOrb); previewOrb = null; } if (Material != null) { GameObject head = wardrobeItemButton.controlledModel.gameObject; previewOrb = Material.GetPreviewOrb(head.transform); } UpdateButton(); }
public static IList <GorillaMaterial> LoadMaterials(IEnumerable <string> materialFiles) { IList <GorillaMaterial> materials = new List <GorillaMaterial> { new GorillaMaterial("Default") }; foreach (string materialFile in materialFiles) { try { GorillaMaterial material = new GorillaMaterial(materialFile); materials.Add(material); } catch (Exception ex) { Debug.Log("ERROR!"); Debug.Log(ex); } } return(materials); }
public static int SelectedMaterialFromConfig(string configString) { string selectedMatString = configString.ToLower().Trim(); for (int i = 1; i < GorillaMaterialObjects.Count; i++) { GorillaMaterial gorillaMaterialObject = GorillaMaterialObjects[i]; if (gorillaMaterialObject == null) { return(0); } if (gorillaMaterialObject.Descriptor.MaterialName.ToLower().Trim() == selectedMatString) { return(i); } else if (Path.GetFileNameWithoutExtension(gorillaMaterialObject.FileName).ToLower().Trim() == selectedMatString) { return(i); } } return(0); }
public static void ChangeMaterial(VRRig __instance, int materialIndex) { if (materialIndex == 0 && (IsLocalPlayer(__instance) || GorillaCosmetics.applyToOtherPlayers.Value)) { // default mat GorillaMaterial material = AssetLoader.SelectedMaterial(); if (material != null && material.Material != null) { Material instantiatedMat = UnityEngine.Object.Instantiate(material.Material); if (material.Descriptor.CustomColors) { Color color = new Color(PlayerPrefs.GetFloat("redValue"), PlayerPrefs.GetFloat("greenValue"), PlayerPrefs.GetFloat("blueValue")); instantiatedMat.color = color; } __instance.mainSkin.material = instantiatedMat; try { Debug.Log($"Changed the skin of {__instance.photonView.Owner.UserId}"); } catch { Debug.Log("Couldn't find name of user."); } } } else if (materialIndex > 0 && (IsLocalPlayer(__instance) || GorillaCosmetics.applyInfectedToOtherPlayers.Value)) { GorillaMaterial material = AssetLoader.SelectedInfectedMaterial(); if (material != null && material.Material != null) { Material instantiatedMat = UnityEngine.Object.Instantiate(material.Material); if (material.Descriptor.CustomColors) { instantiatedMat.color = __instance.mainSkin.material.color; } __instance.mainSkin.material = instantiatedMat; } } }