/////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////// void Awake() { // get hold of the vp_FPSCamera and vp_FPSController attached to // this game object. NOTE: vp_FPSWeapons and vp_FPSShooters are // accessed via 'CurrentWeapon' and 'CurrentShooter' Camera = gameObject.GetComponentInChildren <vp_FPSCamera>(); Controller = gameObject.GetComponent <vp_FPSController>(); }
/////////////////////////////////////////////////////////// // hooks up the FPSController object as the inspector target /////////////////////////////////////////////////////////// void OnEnable() { m_Component = (vp_FPSController)target; if (m_Persister == null) { m_Persister = new vp_ComponentPersister(); } m_Persister.Component = m_Component; m_Persister.IsActive = true; if (m_Component.DefaultState == null) { m_Component.RefreshDefaultState(); } }
/////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////// void Start() { // get hold of the FPSCamera and FPSController components // attached to this game object m_Camera = gameObject.GetComponentInChildren<vp_FPSCamera>(); m_Controller = gameObject.GetComponent<vp_FPSController>(); // load crosshair texture //m_ImageCrosshair = (Texture)Resources.Load("Examples/Images/Crosshair"); // load 'modern shooter' camera and controller presets //m_Camera.Load("Precam"); //m_Controller.Load("Precon"); // try to set weapon 1 //if ( Guns && m_Camera.WeaponCount > 0) // SetWeapon(1); }
/////////////////////////////////////////////////////////// // hooks up the FPSController object as the inspector target /////////////////////////////////////////////////////////// void OnEnable() { m_Component = (vp_FPSController)target; if (m_Persister == null) m_Persister = new vp_ComponentPersister(); m_Persister.Component = m_Component; m_Persister.IsActive = true; if (m_Component.DefaultState == null) m_Component.RefreshDefaultState(); }
/////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////// void Awake() { // get hold of the vp_FPSCamera and vp_FPSController attached to // this game object. NOTE: vp_FPSWeapons and vp_FPSShooters are // accessed via 'CurrentWeapon' and 'CurrentShooter' Camera = gameObject.GetComponentInChildren<vp_FPSCamera>(); Controller = gameObject.GetComponent<vp_FPSController>(); }
public List <GameObject> FXPrefabs = new List <GameObject>(); // list of special effects objects to spawn /////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////// void Awake() { // spawn effects gameobjects foreach (GameObject fx in FXPrefabs) { Component[] c; c = fx.GetComponents <vp_Explosion>(); if (c.Length == 0) { Object.Instantiate(fx, transform.position, transform.rotation); } else { Debug.LogError("Error: vp_Explosion->FXPrefab must not be a vp_Explosion (risk of infinite loop)."); } } // apply shockwave to all rigidbodies and FPSPlayers within range Collider[] colliders = Physics.OverlapSphere(transform.position, Radius); foreach (Collider hit in colliders) { if (hit != this.collider) { //Debug.Log(hit.transform.name + Time.time); // snippet to dump affected objects if (hit.rigidbody) { float distanceModifier = (1 - Vector3.Distance(transform.position, hit.transform.position) / Radius); // explosion up force should only work on grounded objects, // otherwise object may acquire extreme speeds Ray ray = new Ray(hit.transform.position, -Vector3.up); RaycastHit hit2; if (!Physics.Raycast(ray, out hit2, 1)) { UpForce = 0.0f; } // bash all objects within range hit.rigidbody.AddExplosionForce(Force, transform.position, Radius, UpForce); if (hit.gameObject.layer != vp_Layer.Debris) { hit.gameObject.SendMessage(DamageMethodName, distanceModifier * Damage, SendMessageOptions.DontRequireReceiver); } } else { vp_FPSController controller = hit.GetComponent <vp_FPSController>(); if (controller) { float distanceModifier = (1 - Vector3.Distance(transform.position, hit.transform.position) / Radius) * 0.5f; controller.AddForce((controller.transform.position - transform.position).normalized * Force * 0.001f * distanceModifier); vp_FPSCamera camera = hit.GetComponentInChildren <vp_FPSCamera>(); if (camera) { camera.DoBomb(distanceModifier * CameraShake); } if (hit.gameObject.layer != vp_Layer.Debris) { hit.gameObject.SendMessage(DamageMethodName, distanceModifier * Damage, SendMessageOptions.DontRequireReceiver); } } } } } // play explosion sound audio.clip = Sound; audio.rolloffMode = AudioRolloffMode.Linear; audio.minDistance = 3; audio.maxDistance = 250; audio.dopplerLevel = 2.5f; audio.pitch = Random.Range(SoundMinPitch, SoundMaxPitch); audio.playOnAwake = false; // 'playOnAwake' seems unreliable, so play manually audio.Play(); }
/////////////////////////////////////////////////////////// // hooks up the FPSController object as the inspector target /////////////////////////////////////////////////////////// void OnEnable() { m_Component = (vp_FPSController)target; EditorApplication.playmodeStateChanged = delegate() { vp_ComponentPreset.m_Component = (Component)target; vp_ComponentPersister.m_Component = (Component)target; vp_ComponentPersister.PlayModeCallback(); }; }
/////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////// void Start() { // get hold of the FPSCamera and FPSController components // attached to this game object m_Camera = gameObject.GetComponentInChildren<vp_FPSCamera>(); m_Controller = gameObject.GetComponent<vp_FPSController>(); // load textures if (m_DemoMode) { LoadCamera("Examples/ImmobileCamera"); m_Camera.SetWeapon(1); m_ImageAllParams = (Texture)Resources.Load("Examples/Images/AllParams"); m_ImageEditorPreview = (Texture)Resources.Load("Examples/Images/EditorPreview"); m_ImageEditorPreviewShow = (Texture)Resources.Load("Examples/Images/EditorPreviewShow"); m_ImageCameraMouse = (Texture)Resources.Load("Examples/Images/CameraMouse"); m_ImagePresetDialogs = (Texture)Resources.Load("Examples/Images/PresetDialogs"); m_ImageShooter = (Texture)Resources.Load("Examples/Images/Shooter"); m_ImageWeaponPosition = (Texture)Resources.Load("Examples/Images/WeaponPosition"); m_ImageWeaponPerspective = (Texture)Resources.Load("Examples/Images/WeaponRendering"); m_ImageWeaponPivot = (Texture)Resources.Load("Examples/Images/WeaponPivot"); m_ImageEditorScreenshot = (Texture)Resources.Load("Examples/Images/EditorScreenshot"); m_ImageLeftArrow = (Texture)Resources.Load("Examples/Images/LeftArrow"); m_ImageRightArrow = (Texture)Resources.Load("Examples/Images/RightArrow"); m_ImageCheck = (Texture)Resources.Load("Examples/Images/Check"); m_ImageLeftPointer = (Texture)Resources.Load("Examples/Images/LeftPointer"); m_ImageRightPointer = (Texture)Resources.Load("Examples/Images/RightPointer"); m_ImageUpPointer = (Texture)Resources.Load("Examples/Images/UpPointer"); m_ImageCrosshair = (Texture)Resources.Load("Examples/Images/Crosshair"); m_ImageFullScreen = (Texture)Resources.Load("Examples/Images/Fullscreen"); // on small screen resolutions the editor preview screenshot // panel is minimized by default, otherwise expanded if (Screen.width < 1024) m_EditorPreviewSectionExpanded = false; // add an audio source to the camera, for playing various demo sounds m_AudioSource = (AudioSource)m_Camera.gameObject.AddComponent("AudioSource"); } }