private void OnEnable() { attac = serializedObject.FindProperty("Attachments"); positions = serializedObject.FindProperty("Positions"); camor = serializedObject.FindProperty("CamoRender"); customizerManager = FindObjectOfType <bl_CustomizerManager>(); }
/// <summary> /// /// </summary> void Awake() { Button = GetComponentInChildren <bl_AttachmentsButtons>(); Manager = FindObjectOfType <bl_CustomizerManager>(); Positions.Init(); Button.Init(this); Button.Active(Customize); WeaponInfo = bl_CustomizerData.Instance.GetWeapon(WeaponName); rootx = -transform.eulerAngles.y; rooty = transform.eulerAngles.x; m_Camera = Camera.main; }
public void OnSelectCamo() { bl_CustomizerManager c = FindObjectOfType <bl_CustomizerManager>(); c.OnSelectCamo(ID); Button[] bt = transform.parent.GetComponentsInChildren <Button>(); for (int i = 0; i < bt.Length; i++) { bt[i].interactable = true; bt[i].OnDeselect(null); } GetComponentInChildren <Button>().interactable = false; }
// private void OnEnable() { script = (bl_CustomizerWeapon)target; attac = serializedObject.FindProperty("Attachments"); camor = serializedObject.FindProperty("CamoRender"); if (string.IsNullOrEmpty(script.WeaponName)) { script.WeaponName = bl_CustomizerData.Instance.Weapons[script.WeaponID].WeaponName; } weaponName = script.WeaponName; script.isFPWeapon = script.GetComponent <bl_Gun>() != null; customizerManager = FindObjectOfType <bl_CustomizerManager>(); }
void SetupPlayerWeapons() { bl_Gun gun = script.GetComponent <bl_Gun>(); if (gun != null) { int gunID = gun.GunID; script.WeaponID = bl_CustomizerData.Instance.GetCustomizerID(gunID); script.WeaponName = bl_CustomizerData.Instance.Weapons[script.WeaponID].WeaponName; bl_CustomizerManager cm = FindObjectOfType <bl_CustomizerManager>(); if (cm != null) { bl_Customizer[] all = cm.transform.GetComponentsInChildren <bl_Customizer>(true); for (int i = 0; i < all.Length; i++) { if (all[i].WeaponID == script.WeaponID) { _CustomizerWeapon = all[i]; customizerSelected = i; } } if (_CustomizerWeapon != null) { script.BuildAttachments(); script.CamoRender.MaterialID = _CustomizerWeapon.CamoRender.MaterialID; Mesh mesh = _CustomizerWeapon.CamoRender.Render.GetComponent <MeshFilter>().sharedMesh; MeshFilter[] allm = script.transform.GetComponentsInChildren <MeshFilter>(true); for (int i = 0; i < allm.Length; i++) { if (allm[i].sharedMesh == mesh) { script.CamoRender.Render = allm[i].GetComponent <MeshRenderer>(); _TargetMesh = script.CamoRender.Render.transform; } } } else { Debug.LogWarning("Can't find the Customizer weapon with GunID: " + gunID); } } } else { Debug.LogWarning("You only can setup customizer weapon from the FPWeapon"); } }
/// <summary> /// /// </summary> public void OnSelect() { if (lockedStatus != 0 && lockedStatus != 3) { return; } if (AllButtons == null || AllButtons.Length <= 0) { AllButtons = transform.parent.GetComponentsInChildren <bl_CustomizerInfoButton>(); } bl_CustomizerManager c = FindObjectOfType <bl_CustomizerManager>(); c.showCustomizerWeapon(customizerWeapon); foreach (bl_CustomizerInfoButton b in AllButtons) { b.Deselect(); } button.interactable = false; }
public override void OnInspectorGUI() { GUILayout.BeginVertical("box"); EditorGUI.BeginChangeCheck(); GUILayout.BeginHorizontal("box"); script.WeaponID = EditorGUILayout.Popup("Customizer ID", script.WeaponID, bl_CustomizerData.Instance.GetWeaponStringArray(), EditorStyles.toolbarDropDown); GUILayout.Space(5); if (GUILayout.Button("Refresh", EditorStyles.toolbarButton, GUILayout.Width(100))) { script.RefreshAttachments(); } GUILayout.EndHorizontal(); script.isFPWeapon = EditorGUILayout.ToggleLeft("is First Person Weapon", script.isFPWeapon, EditorStyles.toolbarButton); script.ApplyOnStart = EditorGUILayout.ToggleLeft("Apply On Start", script.ApplyOnStart, EditorStyles.toolbarButton); if (GUI.changed) { script.WeaponName = bl_CustomizerData.Instance.Weapons[script.WeaponID].WeaponName; if (script.WeaponName != weaponName) { script.BuildAttachments(); weaponName = script.WeaponName; } } serializedObject.Update(); GUILayout.BeginHorizontal("box"); GUILayout.Space(10); EditorGUILayout.PropertyField(camor, true); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); GUILayout.Space(10); EditorGUILayout.PropertyField(attac, true); GUILayout.EndHorizontal(); serializedObject.ApplyModifiedProperties(); GUILayout.EndVertical(); GUILayout.BeginHorizontal("box"); GUI.enabled = customizerManager != null && script.isFPWeapon; if (GUILayout.Button("Import", EditorStyles.toolbarButton, GUILayout.Width(100))) { openImportMenu = !openImportMenu; if (openImportMenu) { //ActiveEditorTracker.sharedTracker.isLocked = openImportMenu; allCustomizers.Clear(); bl_CustomizerManager cm = FindObjectOfType <bl_CustomizerManager>(); if (cm != null) { bl_Customizer[] all = cm.transform.GetComponentsInChildren <bl_Customizer>(true); for (int i = 0; i < all.Length; i++) { allCustomizers.Add(all[i].gameObject.name, all[i]); if (all[i].WeaponID == script.WeaponID) { _CustomizerWeapon = all[i]; customizerSelected = i; } } if (script.CamoRender.Render == null) { SetupPlayerWeapons(); } } } } GUILayout.Space(5); if (GUILayout.Button("Update Attachments", EditorStyles.toolbarButton, GUILayout.Width(200))) { UpdateAttachemtns(); } GUILayout.EndHorizontal(); GUI.enabled = true; if (openImportMenu) { GUILayout.BeginVertical("box"); if (script.CamoRender.Render == null) { if (allCustomizers.Count > 0) { if (GUILayout.Button("Setup FP and TP Weapons")) { SetupPlayerWeapons(); } } else { EditorGUILayout.HelpBox("Can't find any customizer weapon in the scene, be sure you're in the Customizer scene", MessageType.Warning); } } else { if (allCustomizers.Count > 0) { customizerSelected = EditorGUILayout.Popup("Customizer Weapon", customizerSelected, allCustomizers.Keys.ToArray()); _CustomizerWeapon = allCustomizers.Values.ElementAt(customizerSelected); } else { EditorGUILayout.HelpBox("Can't find any customizer weapon in the scene, be sure you're in the Customizer scene", MessageType.Warning); } if (_CustomizerWeapon != null && _CustomizerWeapon.gameObject.name != "***TEMPLATE***") { if (allCustomizersMeshs.Count <= 0) { MeshRenderer[] all = _CustomizerWeapon.Positions.ModelParent.GetComponentsInChildren <MeshRenderer>(true); for (int i = 0; i < all.Length; i++) { allCustomizersMeshs.Add(all[i].name, all[i].transform); } } else { _CustomizerMesh = _CustomizerWeapon.CamoRender.Render.transform; _CustomizerMesh = EditorGUILayout.ObjectField("Customizer Mesh", _CustomizerMesh, typeof(Transform), true) as Transform; if (_CustomizerMesh != null) { if (_TargetMesh == null) { if (script.CamoRender.Render != null) { _TargetMesh = script.CamoRender.Render.transform; } else { if (GUILayout.Button("Search Mesh")) { MeshFilter[] all = script.transform.GetComponentsInChildren <MeshFilter>(true); Mesh m = _CustomizerMesh.GetComponent <MeshFilter>().sharedMesh; for (int i = 0; i < all.Length; i++) { if (all[i].sharedMesh == m) { _TargetMesh = all[i].transform; } } } } } else { _TargetMesh = EditorGUILayout.ObjectField("Target Weapon Mesh", _TargetMesh, typeof(Transform), true) as Transform; } } } } GUI.enabled = (_CustomizerMesh != null && _CustomizerWeapon != null && _TargetMesh != null); if (GUILayout.Button("Transfer", EditorStyles.toolbarButton, GUILayout.Width(100))) { Transfer(); } GUI.enabled = true; } GUILayout.EndVertical(); } EditorGUI.EndChangeCheck(); if (GUI.changed) { EditorUtility.SetDirty(target); } }