Ejemplo n.º 1
0
	private void Callback_PieceClicked(InputResponder piece, Vector2 worldMousePos)
	{
		//Clean up any previous moves being displayed.
		if (moveSprites != null)
			SpritePool.Instance.DeallocateSprites(moveSprites);
		moveOptions.Clear();

		activePiece = piece.GetComponent<Gameplay.BoardElement>();
		Gameplay.Move_Billy.GetMoves(Board, activePiece, moveOptions);
		moveSprites = SpritePool.Instance.AllocateSprites(moveOptions.Count, OptionSprite,
														  SpriteLayer, null, "Billy Move");
		for (int i = 0; i < moveSprites.Count; ++i)
		{
			moveSprites[i].transform.position = new Vector3(moveOptions[i].NewPos.x + 0.5f,
															moveOptions[i].NewPos.y + 0.5f,
															0.0f);
			moveSprites[i].transform.localScale = new Vector3(SpriteScale, SpriteScale, 1.0f);
			moveSprites[i].color = SpriteCol;

			var collider = moveSprites[i].gameObject.AddComponent<BoxCollider2D>();

			var responder = moveSprites[i].gameObject.AddComponent<InputResponder>();
			AddResponse(responder, moveOptions[i]);
		}
	}