示例#1
0
    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;
        }
    }