Example #1
0
    public void CreateSonar(Vector3 _pos, float lifeTime = 0, float startSpeed = 0)
    {
        if (!poolExist)
        {
            return;
        }

        ParticleBehaviour _part = pool.Dequeue();

        _part.gameObject.SetActive(true);
        _part.gameObject.transform.position = _pos;

        if (lifeTime > 0)
        {
            _part.SetLifeTime(lifeTime);
        }

        if (startSpeed > 0)
        {
            _part.SetStartSpeed(startSpeed);
        }

        _part.PlayParticle();

        pool.Enqueue(_part);
    }
Example #2
0
    private void CreatePoolObject()
    {
        ParticleBehaviour _part = Instantiate(poolObjectPrefab.gameObject, transform.position, poolObjectPrefab.transform.rotation, poolParent.transform).GetComponent <ParticleBehaviour>();

        _part.gameObject.SetActive(false);
        pool.Enqueue(_part);
    }
Example #3
0
 /// <summary>
 /// <see cref="ParticleBehaviour.CopyAttributesTo"/>
 /// </summary>
 /// <param name="affector"></param>
 public void CopyAttributesTo(ParticleBehaviour affector)
 {
     if (affector == null)
     {
         throw new ArgumentNullException("affector cannot be null!");
     }
     SlaveBehaviour_CopyAttributesTo(nativePtr, affector.nativePtr);
 }
Example #4
0
 public void SetPoolColor(Color _col)
 {
     for (int i = 0; i < pool.Count; i++)
     {
         ParticleBehaviour p = pool.Dequeue();
         p.SetColor(_col);
         pool.Enqueue(p);
     }
 }
    // Use this for initialization
    void Start()
    {
        screens = screensObject.transform.GetComponent<ScreenBehaviour>();
        targets = targetsObject.transform.GetComponent<TargetsBehaviour>();
        watergun = watergunObject.transform.GetComponent<WaterGunBehavior>();
        particles = watergunObject.transform.GetComponentInChildren<ParticleBehaviour>();

        screens.startScreenStart();
    }
Example #6
0
    private void Awake()
    {
        if (photonView.IsMine)
        {
            photonView.RPC(nameof(RPC_SetSubSettings), RpcTarget.AllBufferedViaServer,
                           GameManager.SP.playerData.subBaseSelected,
                           GameManager.SP.playerData.subEngineSelected,
                           GameManager.SP.playerData.subCannonSelected);
        }

        sp = GetComponent <SonarPool>();
        pm = GetComponent <PlayerMovement>();
        pb = GetComponentInChildren <ParticleBehaviour>();
        pc = GetComponent <PlayerCannon>();
        ph = GetComponent <PlayerHealth>();
    }
Example #7
0
    void SpawnParticle()
    {
        Vector2 position = transform.position;

        position += RandomMovement;
        GameObject ParticleGo = Instantiate(Template, new Vector3(position.x, position.y, transform.position.z), Quaternion.identity);

        ParticleGo.transform.SetParent(transform, true);
        SmoothedParticle particle = ParticleGo.GetComponent <SmoothedParticle>();
        var particleInfo          = particle.particleInfo;

        particle.Manager      = Manager;
        particleInfo.Velocity = InitVelocity;
        particleInfo.Position = position;
        particle.particleInfo = particleInfo;

        ParticleBehaviour behaviour = ParticleGo.GetComponent <ParticleBehaviour>();

        behaviour.RenderManager = RenderManager;
    }
    // Handle the bullet hitting something
    private void Hit(RaycastHit hit)
    {
        Debug.Log("Projectile hit: " + hit.collider, this);

        // apply damage
        if (hit.transform.ApplyDamage(damage, hit.point, direction * force, dealer))
        {
            Debug.Log("Applied damage to: " + hit.transform, this);
        }

        // spawn hit particles
        if (hitParticles != null)
        {
            ParticleBehaviour p = (ParticleBehaviour)PoolManager.Instance.GetPooledObject(hitParticles);
            p.transform.position = hit.point;
            p.transform.LookAt(hit.point + hit.normal);
            p.Activate();
        }

        StartCoroutine(StopProjectile());
    }
Example #9
0
 public void GetBehaviour(ParticleBehaviour val)
 {
     SharpMochaPINVOKE.CParticleEmitter_GetBehaviour__SWIG_1(swigCPtr, (int)val);
 }
 public void GetBehaviour(ParticleBehaviour val)
 {
     SharpMochaPINVOKE.CParticleEmitter_GetBehaviour__SWIG_1(swigCPtr, (int)val);
 }
        public ParticleBehaviour GetBehaviour()
        {
            ParticleBehaviour ret = (ParticleBehaviour)SharpMochaPINVOKE.CParticleEmitter_GetBehaviour__SWIG_0(swigCPtr);

            return(ret);
        }
        public static Particle CreateParticle(ParticleBehaviour Behaviour, ParticleShape Shape, Rectangle Clip, Vector2 PositionModifier, Random RandomFeed, Int32 Opacity, Int32 Lifespan, Single SizeRatio, Vector2 VelocityModifier)
        {
            Particle p = new Particle();
            p.Shape = Shape;

            switch (Behaviour)
            {
                case ParticleBehaviour.Explode:
                    {
                        p.Opacity = Opacity;
                        p.BackColor = Color.FromNonPremultiplied(RandomFeed.Next(255), 0, 0, 255);
                        p.Position = new Vector2((Single)Clip.Width / 2f + PositionModifier.X, (Single)Clip.Height / 2f + PositionModifier.Y);
                        p.Lifespan = Lifespan;
                        p.SizeRatioOverTime = SizeRatio;
                        p.VelocityX = ((Single)RandomFeed.NextDouble() - 0.5f) * ((Single)RandomFeed.NextDouble() * VelocityModifier.X);
                        p.VelocityY = ((Single)RandomFeed.NextDouble() - 0.5f) * ((Single)RandomFeed.NextDouble() * VelocityModifier.Y);

                        p.FadeOut = true;
                        p.FadeOutStartAt = 40;

                        p.FadeIn = false;
                        p.FadeInFrameCount = 0;
                        p.CurrentSize = RandomFeed.Next(5) + 5;

                        p.PMathX = new PixelMath("x * 2");
                        p.PMathY = new PixelMath("x * 2");
                    }
                    break;

                case ParticleBehaviour.Focus:
                    {
                        p.Opacity = Opacity;
                        p.BackColor = Color.FromNonPremultiplied(RandomFeed.Next(255), 0, 0, 255);
                        p.Position = new Vector2(RandomFeed.Next(Clip.Width), RandomFeed.Next(Clip.Height));
                        p.Lifespan = Lifespan;
                        p.SizeRatioOverTime = SizeRatio;
                        p.VelocityX = (Single)RandomFeed.NextDouble();
                        p.VelocityY = (Single)RandomFeed.NextDouble();

                        p.FadeOut = true;
                        p.FadeOutStartAt = 40;

                        p.FadeIn = true;
                        p.FadeInFrameCount = 20;
                        p.CurrentSize = RandomFeed.Next(5) + 5;

                        Single xVariation = ((Single)Clip.Width / 2f - p.Position.X) / (Single)p.Lifespan;
                        Single yVariation = ((Single)Clip.Height / 2f - p.Position.Y) / (Single)p.Lifespan;
                        p.PMathX = new PixelMath(xVariation.ToString());
                        p.PMathY = new PixelMath(yVariation.ToString());
                    }
                    break;

                case ParticleBehaviour.Trail:
                    {
                        p.Opacity = Opacity;
                        p.BackColor = Color.FromNonPremultiplied(RandomFeed.Next(255), 0, 0, 255);
                        p.Position = new Vector2((Single)Clip.Width / 2f + PositionModifier.X, (Single)Clip.Height / 2f + PositionModifier.Y);
                        p.Lifespan = Lifespan;
                        p.SizeRatioOverTime = SizeRatio;
                        p.VelocityX = ((Single)RandomFeed.NextDouble() - 0.5f) * ((Single)RandomFeed.NextDouble() * VelocityModifier.X);
                        p.VelocityY = ((Single)RandomFeed.NextDouble() - 0.5f) * ((Single)RandomFeed.NextDouble() * VelocityModifier.Y);

                        p.FadeOut = true;
                        p.FadeOutStartAt = 40;

                        p.FadeIn = false;
                        p.FadeInFrameCount = 0;
                        p.CurrentSize = RandomFeed.Next(5) + 2;

                        p.PMathX = new PixelMath("x");
                        p.PMathY = new PixelMath("x");
                    }
                    break;
            }

            return p;
        }
 public void AddParticules(Int32 Number, ParticleBehaviour Behaviour, ParticleShape Shape, Vector2 PositionModifier)
 {
     Number.TimesDo(() => Particles.Add(Particle.CreateParticle(Behaviour, Shape, ClipTarget, PositionModifier, RandomFeed)));
 }
 public static Particle CreateParticle(ParticleBehaviour Behaviour, Rectangle Clip, Random RandomFeed)
 {
     return Particle.CreateParticle(Behaviour, ParticleShape.Circle, Clip, new Vector2(0, 0), RandomFeed, 255, 60, 0.99f, new Vector2(3f, 3f));
 }
 public static Particle CreateParticle(ParticleBehaviour Behaviour, ParticleShape Shape, Rectangle Clip, Vector2 PositionModifier, Random RandomFeed)
 {
     return Particle.CreateParticle(Behaviour, Shape, Clip, PositionModifier, RandomFeed, 255, 60, 0.99f, new Vector2(3f, 3f));
 }