public virtual void play(GameController.Side s)
	{
		//initPosition ();
		gameObject.tag = "magic";
		animator = GetComponent<Animator> ();
		timeElapsed = 0.0f;
		renderer.sortingOrder = 10;
		gameObject.SetActive (true);
		//Debug.Log (animator);
		animator.SetBool ("play", true);
		side = s;
		if (s == GameController.Side.rightSide) {
			transform.localScale = new Vector3(Mathf.Abs(transform.localScale.x),transform.localScale.y,transform.localScale.z);
		}else{
			transform.localScale = new Vector3(-Mathf.Abs(transform.localScale.x),transform.localScale.y,transform.localScale.z);

		}
	}
	public void setBetray(bool b)
	{
		if (b) {
			if(side==GameController.Side.leftSide){
				side = GameController.Side.rightSide;
				//int idx = ctrl.leftEntities.IndexOf(this);
				ctrl.leftEntities.Remove(this);
				ctrl.rightEntities.Add(this);
			}else{
				side = GameController.Side.leftSide;
				ctrl.rightEntities.Remove(this);
				ctrl.leftEntities.Add(this);
			}
			targetEnemy = null;
		}else{
			if(side==GameController.Side.leftSide){
				side = GameController.Side.rightSide;
				//int idx = ctrl.leftEntities.IndexOf(this);
				ctrl.leftEntities.Remove(this);
				ctrl.rightEntities.Add(this);
			}else{
				side = GameController.Side.leftSide;
				ctrl.rightEntities.Remove(this);
				ctrl.leftEntities.Add(this);
			}
			targetEnemy = null;
		}
	}