diff --git a/Assets/MerchantCard.cs b/Assets/MerchantCard.cs index ce9ab5f..a781f04 100644 --- a/Assets/MerchantCard.cs +++ b/Assets/MerchantCard.cs @@ -57,56 +57,56 @@ void OnMouseUp () //in general double click is how a player ends his turn early (ie before running out of wter) void OnDoubleClick () { - GameObject player = GameObject.Find ("GameController").GetComponent ().currentPlayer (); + GameObject currentPlayer = GameObject.Find ("GameController").GetComponent ().currentPlayer (); - GameObject ne_card = GameObject.Find("GameController").GetComponent().deck.Pop(); - - iTween.MoveTo(ne_card, gameObject.transform.position, 4.0f); - - - iTween.MoveTo(gameObject, (player.transform.position - gameObject.transform.position ) *2, 1.0f); + Vector3 originalPosition = gameObject.transform.position; - - PlayerInventory inventory = player.GetComponent (); - - if (third_good == (DesertGenerator.GoodItem)(-1)) { + PlayerInventory inventory = currentPlayer.GetComponent (); + + if (!player || currentPlayer == player) + { + if (third_good == (DesertGenerator.GoodItem)(-1)) + { - if (inventory.hasNumberOfGivenGoodItem(first_good,1) && inventory.hasNumberOfGivenGoodItem(second_good, 1)) { + if (inventory.hasNumberOfGivenGoodItem(first_good,1) && inventory.hasNumberOfGivenGoodItem(second_good, 1)) + { inventory.removeGoods(first_good,1); inventory.removeGoods(second_good,1); inventory.AddVictoryPoint (); - controller.Discard(gameObject); + if (!player) { - GameObject new_card = GameObject.Find("GameController").GetComponent().deck.Pop(); - - iTween.MoveTo(new_card, gameObject.transform.position, 1.0f); + GameObject new_card = controller.deck.Pop(); + iTween.MoveTo(new_card, originalPosition, 1.0f); } - iTween.MoveTo(gameObject, (player.transform.position - gameObject.transform.position ) *2, 1.0f); - } + controller.Discard(gameObject); + + iTween.MoveTo(gameObject, ((currentPlayer.transform.position + Vector3.left *20) - gameObject.transform.position ) * 2, 1.0f); + - }else { + } + } else { if (inventory.hasNumberOfGivenGoodItem(first_good,1) && inventory.hasNumberOfGivenGoodItem(second_good, 1) && inventory.hasNumberOfGivenGoodItem(third_good,1) ) { inventory.removeGoods(first_good,1); inventory.removeGoods(second_good,1); inventory.removeGoods(third_good,1); - inventory.AddVictoryPoint (); - controller.Discard(gameObject); - if (!player) { - - GameObject new_card = controller.deck.Pop(); - iTween.MoveTo(new_card, gameObject.transform.position, 1.0f); + if (!player) { + GameObject new_card = controller.deck.Pop(); + iTween.MoveTo(new_card, originalPosition, 1.0f); } - iTween.MoveTo(gameObject, (player.transform.position - gameObject.transform.position ) *2, 1.0f); - + + controller.Discard(gameObject); + + iTween.MoveTo(gameObject, ((currentPlayer.transform.position + Vector3.left *20) - gameObject.transform.position ) * 2, 1.0f); } - } + } + }