using UnityEngine; using UnityEngine.InputSystem; [RequireComponent(typeof(PlayerInput))] public class Player : MonoBehaviour { public GameObject labelPrefab; public GameObject bombPrefab; Arena arena; int strength = 1; void Awake() => arena = GameObject.Find("Arena").GetComponent(); void Start() { Transform canvas = GameObject.Find("Canvas").transform; PlayerLabel label = Instantiate(labelPrefab, canvas).GetComponent(); var playerInput = GetComponent(); label.player = transform; label.SetName(gameObject.name); label.SetController(playerInput.currentControlScheme); playerInput.actions["Place"].performed += OnPlace; } void OnPlace(InputAction.CallbackContext ctx) { var bomb = Instantiate(bombPrefab, arena.GetClosestTilePos(transform.position) - Vector3.up * 0.5f, bombPrefab.transform.rotation); bomb.GetComponent().Init(strength, arena); } }