void Update() { transform.position = Input.mousePosition; Collider2D collider = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero).collider; /// Process Hover state if (state == State.Hover) { if (collider) { switch (collider.gameObject.name) { case "TeaPuer": case "TeaFruit": case "TeaTiguanin": case "TeaUlun": SetCursorSpoon(spoonSprite); break; } } else { SetCursorDefault(); } } /// Process Mouse Button Down if (Input.GetMouseButtonDown(0) && state == State.Hover && collider) { switch (collider.gameObject.name) { case "TeaPuer": SetCursorSpoon(spoonPuerSprite); tea = Tea.Puer; break; case "TeaFruit": SetCursorSpoon(spoonFruitSprite); tea = Tea.Fruit; break; case "TeaTiguanin": SetCursorSpoon(spoonTiguaninSprite); tea = Tea.Tiguanin; break; case "TeaUlun": SetCursorSpoon(spoonUlunSprite); tea = Tea.Ulun; break; default: break; } state = State.Dragging; } /// Process Mouse Button Up if (Input.GetMouseButtonUp(0) && state == State.Dragging) { if (collider && collider.gameObject.name == "TeaTeapot") { Debug.Log("Dropped tea"); switch (tea) { case Tea.Puer: stats.AddJealousy(5); stats.SubAmbition(5); stats.SubPride(5); break; case Tea.Fruit: stats.AddJealousy(5); stats.SubAmbition(5); stats.SubPride(5); break; case Tea.Tiguanin: stats.AddAmbition(5); stats.SubJealousy(5); stats.SubPride(5); break; case Tea.Ulun: stats.AddPride(5); stats.SubJealousy(5); stats.SubAmbition(5); break; default: break; } } SetCursorDefault(); state = State.Hover; } }