示例#1
0
	void Update () {
		UpdateHovered ();

		if (Input.GetButtonDown ("Swap")) {
			if (hovered != null && swapsThisNight.Count >= maxSwapPerNight)
				GiveWarning ("You have already used all of your swaps for this night.");
			else {
				if (initial != null)
					initial.OnStopHover ();
				initial = hovered;
				if (initial != null) {
					initial.OnSelectInitial (selectedColor);
					soundMgr.PlaySound (soundSrc, initialSelectSound);
				}
			}
		}

		if (Input.GetButtonUp ("Swap")) {
			if (initial != null && hovered != null && initial != hovered) {

				if (HasSwapBeenDoneThisNight (initial, hovered)) {
					GiveWarning ("You have already swapped those two items this night.");
					initial.OnStopHover ();
					soundMgr.PlaySound (soundSrc, failSound);
				} else {
					initial.Swap (hovered);
					swapsThisNight.Add (new KeyValuePair<string, string> (initial.currentItem.name, hovered.currentItem.name));
					swapCounter.text = "Swap done: " + swapsThisNight.Count + " / " + maxSwapPerNight;

					hovered.OnHover (hoverColor);
					initial.OnStopHover ();
					initial = null;
					soundMgr.PlaySound (soundSrc, swapSound);
				}
			} else if (initial != null) {
				initial.OnStopHover ();
				if (initial == GetHoveredSlot ()) {
					hovered = initial;
					hovered.OnHover (hoverColor);
				}
				initial = null;
				soundMgr.PlaySound (soundSrc, failSound);
			}
		}
	}