void DropFlare() { PartResource cmResource = GetCMResource(); if (cmResource == null || !(cmResource.amount >= 1)) { return; } cmResource.amount--; audioSource.pitch = UnityEngine.Random.Range(0.9f, 1.1f); audioSource.PlayOneShot(cmSound); GameObject cm = flarePool.GetPooledObject(); cm.transform.position = transform.position; CMFlare cmf = cm.GetComponent <CMFlare>(); cmf.startVelocity = part.rb.velocity + (ejectVelocity * transform.up) + (UnityEngine.Random.Range(-3f, 3f) * transform.forward) + (UnityEngine.Random.Range(-3f, 3f) * transform.right); cmf.sourceVessel = vessel; cm.SetActive(true); FireParticleEffects(); }
public TargetSignatureData(CMFlare flare, float _signalStrength) { velocity = flare.velocity; geoPos = VectorUtils.WorldPositionToGeoCoords(flare.transform.position, FlightGlobals.currentMainBody); exists = true; acceleration = Vector3.zero; timeAcquired = Time.time; signalStrength = _signalStrength; targetInfo = null; vesselJammer = null; team = BDArmorySettings.BDATeams.None; pingPosition = Vector2.zero; }