Example #1
0
	public void InitTarget(Point p1, Point p2, Transform target, DoAnimated method, float speed = 100)
	{
		this.p2 = p2;
		this.target = target;
		this.method = method;
		speedx = (float)(p2.x - p1.x) / speed;
		isspeedxpositive = speedx >= 0;
		xnotsame = p2.x != p1.x;
		speedy = (float)(p2.y - p1.y) / speed;
		isspeedypositive = speedy >= 0;
		ynotsame = p2.y != p1.y;
		target.localPosition = new Vector2 (p1.x, p1.y);
	}
Example #2
0
	//for static animations
	public void InitTarget(Transform target, List<Sprite> sprites, int frameTimer, DoAnimated method)
	{
		Move = false;
		StartAnimationTime = Time.time;
		this.sprites = sprites;
		this.frameTimer = (frameTimer > 0)? frameTimer : 2;
		this.explotionTimer = frameTimer;
		this.index = 0;
		this.method = method;
		this.target = target;
	}
Example #3
0
	//For bullets
	public void InitTarget(Point p1, Point p2, UnityEngine.Object target, Transform parent, DoAnimated method, float speed, List<Sprite> explotion, int explotionTimer, bool needToDestroy, bool needToResize = false)
	{
		StartAnimationTime = Time.time;

		Vector3 moveDirection = new Vector2(p2.x - p1.x, p2.y - p1.y);
		float angle = Mathf.Atan2(moveDirection.y, moveDirection.x) * Mathf.Rad2Deg;
		Move = true;
		UnityEngine.Object o = Instantiate(target, parent.position, parent.rotation);
		(o as GameObject).transform.SetParent(parent);
		(o as GameObject).transform.GetComponent<RectTransform>().localScale = new Vector3(1, 1, 1);
		(o as GameObject).transform.localPosition = new Vector2 (p1.x, p1.y);
		if (target == BattlefieldScript.Instance.Torpeda)
			(o as GameObject).transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
		if (target != BattlefieldScript.Instance.Torpeda)
		(o as GameObject).transform.GetComponent<RectTransform> ().sizeDelta = new Vector2(BattlefieldScript.Instance.size, BattlefieldScript.Instance.size); 
		this.p1 = p1;
		this.needToResize = needToResize;
		this.p2 = p2;

		this.explosion = explotion;
		this.explotionTimer = explotionTimer;
		float xd = (float)(p2.x - p1.x);
		float yd = (float)(p2.y - p1.y);


		if (needToDestroy) {
			float m = speed / (Math.Abs (xd) + Math.Abs (yd));
			speedx = xd * m;
			speedy = yd * m;

		} else {
			speedx = xd / speed;
			speedy = yd / speed;
		}

		isspeedxpositive = speedx >= 0;
		xnotsame = p2.x != p1.x;
		isspeedypositive = speedy >= 0;
		ynotsame = p2.y != p1.y;


		if (this.target != null) 
			end();

		this.method = method;
		this.needToDestroy = needToDestroy;
		this.target = (o as GameObject).transform;

		if (target == BattlefieldScript.Instance.Bullet)
			SoundScript.Instance.PlaySound (SoundTitle.Ship_fire_snd);

	}