示例#1
0
    private void BookShelfAction()
    {
        if (GameTrigger.isFallBookFromShelf && driverGrip.activeSelf == true && isObject)
        {
            if (GameTrigger.isPlayerHasDriverTip)
            {
                gameController.messageController.SetMessagePanel(MessageText.checkBookShelfText());

                driver.SetActive(true);

                var itemController = driver.GetComponent <ItemController>();
                itemController.GetItem();
            }
            else
            {
                gameController.messageController.SendMessage(MessageText.GetItemText("ドライバーグリップ"));

                PlayerStatus.currentHasItem = driverGrip;
            }
            driverGrip.SetActive(false);
        }
        else
        {
            gameController.messageController.SetMessagePanel(MessageText.checkBookShelfText());
        }
    }
    private void GetItem()
    {
        PlayerStatus.currentHasItem = tulipObjects[(int)position];
        tulipObjects[(int)position].SetActive(false);
        tulipObjects[(int)position] = null;

        gameController.messageController.SetMessagePanel(MessageText.GetItemText(PlayerStatus.currentHasItem.name));
    }
    public void GetItem()
    {
        if (PlayerStatus.currentHasItem)
        {
            PlayerStatus.currentHasItem.transform.position = PutItemPosition();

            //プレイヤーが所持しているアイテムを手放してもプレイヤーに追従しないようにする処理
            var havingItem = PlayerStatus.currentHasItem.GetComponent <ItemController>();
            havingItem.RemoveItem();

            //プレイヤーが所持しているときはSetActiveをFalseにしているので手放したときにTrueにする。
            if (!PlayerStatus.currentHasItem.activeSelf)
            {
                PlayerStatus.currentHasItem.SetActive(true);
            }
        }

        if (gameController == null)
        {
            gameController = GameControllerObj.GetComponent <GameController>();
        }

        if (player == null)
        {
            player = gameController.player;
        }

        PlayerStatus.currentHasItem      = this.gameObject;
        gameController.SetCurrentHasItem = itemName;

        gameController.messageController.SetMessagePanel(MessageText.GetItemText(itemName));

        ChangeItemTrigger();

        parentObject = player.transform;
        gameObject.SetActive(false);
    }