summaryrefslogtreecommitdiff
path: root/Client/Assembly-CSharp/PlayerParticle.cs
blob: 41fa495bde2cbe477bcd14c6ad6027d085206d16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using UnityEngine;

public class PlayerParticle : PoolableBehavior
{
	public Camera FollowCamera { get; set; }

	public SpriteRenderer myRend;

	public float maxDistance = 6f;

	public Vector2 velocity;

	public float angularVelocity;

	private Vector3 lastCamera;

	public void Update()
	{
		Vector3 vector = base.transform.localPosition;
		float sqrMagnitude = vector.sqrMagnitude;
		if (this.FollowCamera)
		{
			Vector3 position = this.FollowCamera.transform.position;
			position.z = 0f;
			vector += (position - this.lastCamera) * (1f - base.transform.localScale.x);
			this.lastCamera = position;
			sqrMagnitude = (vector - position).sqrMagnitude;
		}
		if (sqrMagnitude > this.maxDistance * this.maxDistance)
		{
			this.OwnerPool.Reclaim(this);
			return;
		}
		vector += this.velocity * Time.deltaTime;
		base.transform.localPosition = vector;
		base.transform.Rotate(0f, 0f, Time.deltaTime * this.angularVelocity);
	}
}