Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 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;
 }