protected override void Start() { shooterManager = GetComponent <vShooterManager>(); base.Start(); leftHand = animator.GetBoneTransform(HumanBodyBones.LeftHand); rightHand = animator.GetBoneTransform(HumanBodyBones.RightHand); leftUpperArm = animator.GetBoneTransform(HumanBodyBones.LeftUpperArm); rightUpperArm = animator.GetBoneTransform(HumanBodyBones.RightUpperArm); onlyArmsLayer = animator.GetLayerIndex("OnlyArms"); aimAngleReference = new GameObject("aimAngleReference"); aimAngleReference.transform.rotation = transform.rotation; var chest = animator.GetBoneTransform(HumanBodyBones.Chest); aimAngleReference.transform.SetParent(chest); aimAngleReference.transform.localPosition = Vector3.zero; headTrack = GetComponent <vHeadTrack>(); if (!controlAimCanvas) { Debug.LogWarning("Missing the AimCanvas, drag and drop the prefab to this scene in order to Aim", gameObject); } }
void Start() { shooterManager = GetComponent <vShooterManager>(); if (shooterManager) { shooterManager.onReloadWeapon.AddListener(ReloadWeapon); shooterManager.totalAmmoHandler = new vShooterManager.TotalAmmoHandler(TotalAmmo); } itemManager = GetComponent <vItemManager>(); if (itemManager) { itemManager.onUseItem.AddListener(UseAmmo); itemManager.onAddItem.AddListener(AddAmmo); itemManager.onDropItem.AddListener(DropAmmo); itemManager.onLeaveItem.AddListener(LeaveAmmo); ammoItems = itemManager.items.FindAll(item => item.type == vItemType.Ammo); } if (ammoListData) { ammos.Clear(); for (int i = 0; i < ammoListData.ammos.Count; i++) { var ammo = new vAmmo(ammoListData.ammos[i]); ammos.Add(ammo); } } }
void Setup_ShooterManager(GameObject prefab) { if (prefab.GetComponent <vShooterManager>()) { vShooterManager org = prefab.GetComponent <vShooterManager>(); if (!prefab.GetComponent <PUN_ShooterManager>()) { prefab.AddComponent <PUN_ShooterManager>(); PUN_ShooterManager newComp = prefab.GetComponent <PUN_ShooterManager>(); PUN_Helpers.CopyComponentTo(org, newComp); DestroyImmediate(prefab.GetComponent <vShooterManager>()); } } }
public override void OnInspectorGUI() { GUI.skin = skin; vShooterManager manager = (vShooterManager)this.target; GUILayout.BeginVertical("Shooter Manager", "window"); GUILayout.Label(m_Logo, GUILayout.MaxHeight(25)); openCloseWindow = GUILayout.Toggle(openCloseWindow, openCloseWindow ? "Close" : "Open", EditorStyles.toolbarButton); if (openCloseWindow) { base.OnInspectorGUI(); if (Application.isPlaying) { EditorGUILayout.BeginVertical("box"); EditorGUILayout.HelpBox("Playmode Debug - Equip a weapon first", MessageType.Info); EditorGUILayout.Space(); if (GUILayout.Button(manager.tpCamera.lockCamera ? "Unlock Camera" : "Lock Camera", EditorStyles.toolbarButton)) { manager.tpCamera.lockCamera = !manager.tpCamera.lockCamera; } EditorGUILayout.Space(); if (GUILayout.Button(manager.alwaysAiming ? "Unlock Aiming" : "Lock Aiming", EditorStyles.toolbarButton)) { manager.alwaysAiming = !manager.alwaysAiming; } EditorGUILayout.Space(); if (GUILayout.Button(manager.showCheckAimGizmos ? "Hide Aim Gizmos" : "Show Aim Gizmos", EditorStyles.toolbarButton)) { manager.showCheckAimGizmos = !manager.showCheckAimGizmos; } EditorGUILayout.EndVertical(); } } EditorGUILayout.EndVertical(); EditorGUILayout.Space(); }
protected override void Start() { shooterManager = GetComponent <vShooterManager>(); base.Start(); leftHand = animator.GetBoneTransform(HumanBodyBones.LeftHand); rightHand = animator.GetBoneTransform(HumanBodyBones.RightHand); rightUpperArm = animator.GetBoneTransform(HumanBodyBones.RightUpperArm); onlyArmsLayer = animator.GetLayerIndex("OnlyArms"); headTrack = GetComponent <vHeadTrack>(); if (headTrack) { headTrack.onFinishUpdate.AddListener(UpdateAimBehaviour); } if (!controlAimCanvas) { Debug.LogWarning("Don't exist a AimCanvas in current scene", gameObject); } animator.updateMode = AnimatorUpdateMode.AnimatePhysics; }
protected override void Start() { base.Start(); shooterManager = GetComponent <vShooterManager>(); }
static void CreateShooterPoints(vItemManager itemManager, vShooterManager shooterManager) { if (!shooterManager) { return; } var animator = itemManager.GetComponent <Animator>(); #region LeftEquipPoint var equipPointL = itemManager.equipPoints.Find(p => p.equipPointName == "LeftArm"); if (equipPointL == null) { EquipPoint pointL = new EquipPoint(); pointL.equipPointName = "LeftArm"; if (shooterManager) { #if UNITY_EDITOR UnityEventTools.AddPersistentListener <GameObject>(pointL.onInstantiateEquiment, shooterManager.SetLeftWeapon); #else pointL.onInstantiateEquiment.AddListener(shooterManager.SetLeftWeapon); #endif } if (animator) { var defaultEquipPointL = new GameObject("defaultEquipPoint"); var parent = animator.GetBoneTransform(HumanBodyBones.LeftHand); defaultEquipPointL.transform.SetParent(parent); defaultEquipPointL.transform.localPosition = Vector3.zero; defaultEquipPointL.transform.forward = itemManager.transform.forward; defaultEquipPointL.gameObject.tag = "Ignore Ragdoll"; pointL.handler = new vHandler(); pointL.handler.defaultHandler = defaultEquipPointL.transform; } itemManager.equipPoints.Add(pointL); } else { if (equipPointL.handler.defaultHandler == null) { if (animator) { var parent = animator.GetBoneTransform(HumanBodyBones.LeftHand); var defaultPoint = parent.Find("defaultEquipPoint"); if (defaultPoint) { equipPointL.handler.defaultHandler = defaultPoint; } else { var _defaultPoint = new GameObject("defaultEquipPoint"); _defaultPoint.transform.SetParent(parent); _defaultPoint.transform.localPosition = Vector3.zero; _defaultPoint.transform.forward = itemManager.transform.forward; _defaultPoint.gameObject.tag = "Ignore Ragdoll"; equipPointL.handler.defaultHandler = _defaultPoint.transform; } } } bool containsListener = false; for (int i = 0; i < equipPointL.onInstantiateEquiment.GetPersistentEventCount(); i++) { if (equipPointL.onInstantiateEquiment.GetPersistentTarget(i).GetType().Equals(typeof(vShooterManager)) && equipPointL.onInstantiateEquiment.GetPersistentMethodName(i).Equals("SetLeftWeapon")) { containsListener = true; break; } } if (!containsListener && shooterManager) { #if UNITY_EDITOR UnityEventTools.AddPersistentListener <GameObject>(equipPointL.onInstantiateEquiment, shooterManager.SetLeftWeapon); #else equipPointL.onInstantiateEquiment.AddListener(shooterManager.SetLeftWeapon); #endif } } #endregion #region RightEquipPoint var equipPointR = itemManager.equipPoints.Find(p => p.equipPointName == "RightArm"); if (equipPointR == null) { EquipPoint pointR = new EquipPoint(); pointR.equipPointName = "RightArm"; if (shooterManager) { #if UNITY_EDITOR UnityEventTools.AddPersistentListener <GameObject>(pointR.onInstantiateEquiment, shooterManager.SetRightWeapon); #else pointR.onInstantiateEquiment.AddListener(shooterManager.SetRightWeapon); #endif } if (animator) { var defaultEquipPointR = new GameObject("defaultEquipPoint"); var parent = animator.GetBoneTransform(HumanBodyBones.RightHand); defaultEquipPointR.transform.SetParent(parent); defaultEquipPointR.transform.localPosition = Vector3.zero; defaultEquipPointR.transform.forward = itemManager.transform.forward; defaultEquipPointR.gameObject.tag = "Ignore Ragdoll"; pointR.handler = new vHandler(); pointR.handler.defaultHandler = defaultEquipPointR.transform; } itemManager.equipPoints.Add(pointR); } else { if (equipPointR.handler.defaultHandler == null) { if (animator) { var parent = animator.GetBoneTransform(HumanBodyBones.RightHand); var defaultPoint = parent.Find("defaultEquipPoint"); if (defaultPoint) { equipPointR.handler.defaultHandler = defaultPoint; } else { var _defaultPoint = new GameObject("defaultEquipPoint"); _defaultPoint.transform.SetParent(parent); _defaultPoint.transform.localPosition = Vector3.zero; _defaultPoint.transform.forward = itemManager.transform.forward; _defaultPoint.gameObject.tag = "Ignore Ragdoll"; equipPointR.handler.defaultHandler = _defaultPoint.transform; } } } bool containsListener = false; for (int i = 0; i < equipPointR.onInstantiateEquiment.GetPersistentEventCount(); i++) { if (equipPointR.onInstantiateEquiment.GetPersistentTarget(i).GetType().Equals(typeof(vShooterManager)) && equipPointR.onInstantiateEquiment.GetPersistentMethodName(i).Equals("SetRightWeapon")) { containsListener = true; break; } } if (!containsListener && shooterManager) { #if UNITY_EDITOR UnityEventTools.AddPersistentListener <GameObject>(equipPointR.onInstantiateEquiment, shooterManager.SetRightWeapon); #else equipPointR.onInstantiateEquiment.AddListener(shooterManager.SetRightWeapon); #endif } } #endregion }