コード例 #1
0
    private void Update()
    {
        if (isPlayerOverSwitch && !isSwitchedOn)
        {
            if (Input.GetKeyDown(KeyCode.F))
            {
                PlayerBatteryManager playerBatteryManager = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerBatteryManager>();
                if (playerBatteryManager.hasBattery())
                {
                    // remove a battery from the user's inventory
                    playerBatteryManager.useBattery();

                    // open the door
                    door.GetComponent <IDoorState>().openDoor();

                    // update door sprite (if necessary)
                    door.GetComponent <IDoorState>().updateSprite(true);

                    // update door switch sprite
                    gameObject.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>(switchOnSprite);

                    isSwitchedOn = true;
                }
            }
        }
    }
コード例 #2
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.CompareTag("Player"))
        {
            // add a battery to the user's inventory
            PlayerBatteryManager playerBatteryManager = collision.gameObject.GetComponent <PlayerBatteryManager>();
            playerBatteryManager.addBatteryToInventory();

            // display the text overlay for the battery
            GameObject textOverlay = GameObject.FindGameObjectWithTag("TextOverlayObject");
            textOverlay.GetComponent <ModuleTextOverlay>().setText("Battery Obtained (F to use)");

            // now delete this game object from the screen
            Destroy(this.gameObject);
        }
    }