private void Save() { if ((PlayerCustomizationVariables)UnityEditor.AssetDatabase.LoadAssetAtPath ("Assets/Resources/PlayerCustomization.asset", typeof(PlayerCustomizationVariables)) == null) { playerCVariables = ScriptableObject.CreateInstance <PlayerCustomizationVariables>(); UnityEditor.AssetDatabase.CreateAsset(playerCVariables, "Assets/Resources/PlayerCustomization.asset"); } if (currentEye != null && playerCVariables.eyes != currentEye.GetComponent <CustomizationObjectVariables>().prefabReference) { playerCVariables.eyes = UnityEditor.AssetDatabase.LoadAssetAtPath <GameObject>(UnityEditor.AssetDatabase.GetAssetPath(currentEye.GetComponent <CustomizationObjectVariables>().prefabReference)); } if (currentHair != null && playerCVariables.hair != currentHair.GetComponent <CustomizationObjectVariables>().prefabReference) { playerCVariables.hair = UnityEditor.AssetDatabase.LoadAssetAtPath <GameObject>(UnityEditor.AssetDatabase.GetAssetPath(currentHair.GetComponent <CustomizationObjectVariables>().prefabReference)); } if (currentFace != null && playerCVariables.face != currentFace.GetComponent <CustomizationObjectVariables>().prefabReference) { playerCVariables.face = UnityEditor.AssetDatabase.LoadAssetAtPath <GameObject>(UnityEditor.AssetDatabase.GetAssetPath(currentFace.GetComponent <CustomizationObjectVariables>().prefabReference)); } if (currentMouth != null && playerCVariables.mouth != currentMouth.GetComponent <CustomizationObjectVariables>().prefabReference) { playerCVariables.mouth = UnityEditor.AssetDatabase.LoadAssetAtPath <GameObject>(UnityEditor.AssetDatabase.GetAssetPath(currentMouth.GetComponent <CustomizationObjectVariables>().prefabReference)); } if (currentTop != null && playerCVariables.top != currentTop.GetComponent <CustomizationObjectVariables>().prefabReference) { playerCVariables.top = UnityEditor.AssetDatabase.LoadAssetAtPath <GameObject>(UnityEditor.AssetDatabase.GetAssetPath(currentTop.GetComponent <CustomizationObjectVariables>().prefabReference)); } UnityEditor.AssetDatabase.SaveAssets(); currentState = State.Closed; }
private void Load(bool alsoCreate) { if ((PlayerCustomizationVariables)UnityEditor.AssetDatabase.LoadAssetAtPath ("Assets/Resources/PlayerCustomization.asset", typeof(PlayerCustomizationVariables)) != null) { playerCVariables = (PlayerCustomizationVariables)UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Resources/PlayerCustomization.asset", typeof(PlayerCustomizationVariables)); } if (alsoCreate) { foreach (Transform pos in placementPostions) { if (pos.name.Contains("Hair")) { currentHair = (GameObject)Instantiate(playerCVariables.hair, pos.transform.position, playerCVariables.hair.transform.rotation, pos.transform); currentHair.AddComponent <CustomizationObjectVariables>().prefabReference = playerCVariables.hair; } if (pos.name.Contains("Eye")) { currentEye = (GameObject)Instantiate(playerCVariables.eyes, pos.transform.position, playerCVariables.eyes.transform.rotation, pos.transform); currentEye.AddComponent <CustomizationObjectVariables>().prefabReference = playerCVariables.eyes; } if (pos.name.Contains("Face")) { currentFace = (GameObject)Instantiate(playerCVariables.face, pos.transform.position, playerCVariables.face.transform.rotation, pos.transform); currentFace.AddComponent <CustomizationObjectVariables>().prefabReference = playerCVariables.face; } if (pos.name.Contains("Mouth")) { currentMouth = (GameObject)Instantiate(playerCVariables.mouth, pos.transform.position, playerCVariables.mouth.transform.rotation, pos.transform); currentMouth.AddComponent <CustomizationObjectVariables>().prefabReference = playerCVariables.mouth; } if (pos.name.Contains("Top")) { currentTop = (GameObject)Instantiate(playerCVariables.top, pos.transform.position, playerCVariables.top.transform.rotation, pos.transform); currentTop.AddComponent <CustomizationObjectVariables>().prefabReference = playerCVariables.top; } } } }