using Data; using Managers; using UnityEngine; namespace Entity { public class Building : CombatantEntity { private BuildingOutline buildingOutline; private BuildingDef buildingDef; public override void Init(EntityDef entityDef) { base.Init(entityDef); buildingDef = entityDef as BuildingDef; buildingOutline = entityPrefab.outline as BuildingOutline; } public override void SetTarget(Vector3 pos) { } public override void TryMove() { } protected override void UpdatePlayerControls() { if (Input.GetKeyDown(KeyCode.W)) { transform.position += Vector3.up; } if (Input.GetKeyDown(KeyCode.A)) { transform.position += Vector3.left; } if (Input.GetKeyDown(KeyCode.S)) { transform.position += Vector3.down; } if (Input.GetKeyDown(KeyCode.D)) { transform.position += Vector3.right; } } public override void Tick() { base.Tick(); if (buildingDef.triggerEvents != null && buildingOutline.PlayerOnGround && Input.GetKeyDown(buildingDef.activateKey)) { foreach (var eventDef in buildingDef.triggerEvents) { EventManager.Instance.Action(eventDef, this); } } } } }