コード例 #1
0
 public void OnCollision(SmoothedParticle particle)
 {
     if (Machine.connectorSource.Dest != null)
     {
         Machine.ChangeState(new Triggered());
     }
 }
コード例 #2
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;
    }
コード例 #3
0
 public void AddResistance(SmoothedParticle particle)
 {
     particle.particleInfo.ExternalForce -= ResistanceRateBySpeed * particle.particleInfo.Velocity;
 }
コード例 #4
0
 void Awake()
 {
     particle       = GetComponent <SmoothedParticle>();
     spriteRenderer = GetComponent <SpriteRenderer>();
 }
コード例 #5
0
 public void AddGravity(SmoothedParticle particle)
 {
     particle.particleInfo.ExternalForce += GravityForce;
 }
コード例 #6
0
    public void AttractParticle(SmoothedParticle particle)
    {
        Vector2 direction = (Position - particle.particleInfo.Position).normalized;

        particle.particleInfo.ExternalForce += direction * AttractForce;
    }
コード例 #7
0
 public void ToEatParticle(SmoothedParticle particle)
 {
     Destroy(particle.gameObject);
     eatCount++;
     EatingValue.Invoke((float)eatCount / particleSpawner.MaxParticleCount);
 }