public TurretController(TurretModel model, Vector3 spawnPosition, Transform node) { _model = model; _view = TurretFactory.InstantiateView(spawnPosition, node, _model.PrefabName, this); _fireCountdown = 0f; _aimType = new NearestPriority(); }
public TurretFieldWeapon(TurretFieldWeaponAsset asset, TurretView view) { m_View = view; m_Damage = asset.Damage; m_Radius = asset.Radius; m_Nodes = Game.Player.Grid.GetNodesInCircle(m_View.transform.position, asset.Radius); }
public TurretProjectileWeapon(TurretProjectileWeaponAsset asset, TurretView view) { m_Asset = asset; m_View = view; m_TimeBetweenShots = 1f / m_Asset.RateOfFire; m_MaxDistance = m_Asset.MaxDistance; }
private void Awake() { hoverable = GetComponent <Hoverable>(); view = GetComponent <TurretView>(); hoverable.OnMouseOver += OnHoverableMouseOver; hoverable.OnMouseExit += OnHoverableMouseExit; }
public TurretFieldWeapon(TurretFieldWeaponAsset asset, TurretView view) { m_Asset = asset; m_View = view; m_MaxDistance = asset.MaxDistance; m_Damage = asset.Damage; m_AvailableNodes = Game.Player.Grid.GetNodesInCircle(m_View.ProjectileOrigin.position, m_MaxDistance); }
public TurretProjectileWeapon(TurretProjectileWeaponAsset asset, TurretView view) { m_Asset = asset; m_View = view; m_TimeBetweenShots = 1f / m_Asset.RateOfFire; m_MaxDistance = asset.MaxDistance; m_AvailableNodes = Game.Player.Grid.GetNodesInCircle(m_View.ProjectileOrigin.position, m_MaxDistance); }
public TurretProjectileWeapon(TurretProjectileWeaponAsset asset, TurretView view) { m_Asset = asset; m_TimeBetweenShots = 1f / m_Asset.RateOfFire; m_MaxDistance = m_Asset.MaxDistance; m_View = view; m_NodeCircle = Game.Player.Grid.GetNodesInCircle(view.transform.position, m_MaxDistance); }
public override ITurretWeapon GetWeapon(TurretView view) { Transform sphereTransform = view.ProjectileOrigin.transform; sphereTransform.localScale *= Radius; FieldSphereView sphereView = Instantiate(m_SphereViewPrefab, sphereTransform); return(new TurretFieldWeapon(this, view, sphereView)); }
public TurretLaserWeapon(TurretLaserWeaponAsset asset, TurretView view) { m_Asset = asset; m_View = view; m_MaxDistance = asset.MaxDistance; m_Damage = asset.Damage; m_AvailableNodes = Game.Player.Grid.GetNodesInCircle(m_View.ProjectileOrigin.position, m_MaxDistance); m_LineRenderer = Object.Instantiate(asset.LineRendererPrefab, m_View.transform); }
public TurretLazerWeapon(TurretView view, TurretLazerWeaponAsset asset) { m_View = view; m_Damage = asset.DamagePerSecond; m_MaxDistance = asset.MaxDistance; m_LineRenderer = UnityEngine.Object.Instantiate(asset.LineRendererPrefab, view.ProjectileOrigin); m_LineRenderer.gameObject.SetActive(false); m_NodesInCircle = Game.Player.Grid.GetNodeInCircle(m_View.transform.position, m_MaxDistance); }
public TurretLaserWeapon(TurretLaserWeaponAsset asset, TurretView view, LineRenderer lineRenderer) { m_LineRenderer = lineRenderer; m_Damage = asset.Damage; m_View = view; m_Asset = asset; m_MaxDistance = m_Asset.MaxDistance; m_Nodes = Game.Player.Grid.GetNodesInCircle(m_View.ProjectileOrigin.transform.position, m_MaxDistance); }
void Start() { self = GetComponent <TurretConfig>(); self.owner = transform.parent.parent.GetComponentInParent <PlayerConfig>(); model = self.model; targeting = self.targeting; view = self.view; InvokeRepeating("UpdateTarget", self.updateRate, self.updateRate); }
public TurretLazerWeapon(TurretLazerWeaponAsset asset, TurretView view) { m_Asset = asset; m_MaxDistance = m_Asset.MaxDistance; m_Damage = m_Asset.Damage; m_View = view; m_NodeCircle = Game.Player.Grid.GetNodesInCircle(view.transform.position, m_MaxDistance); m_LineRenderer = Object.Instantiate(asset.LineRendererPrefab, m_View.ProjectileOrigin.transform, true); m_LineRenderer.positionCount = 2; }
public TurretFieldWeapon(TurretFieldWeaponAsset asset, TurretView view) { m_View = view; m_Field = Object.Instantiate(asset.FieldPrefab, m_View.transform.position, Quaternion.identity); Renderer renderer = m_Field.GetComponent <Renderer>(); Color color = new Color(100, 100, 100, 0.5f); renderer.material.color = color; m_rangeNodes = Game.Player.Grid.GetNodesInCircle(m_View.ProjectileOrigin.position, m_MaxDistance); }
private void SpawnTurret(TurretAsset asset, Node node) { TurretView view = Object.Instantiate(asset.ViewPrefab); TurretData data = new TurretData(asset, node); data.AttachView(view); Game.Player.TurretSpawned(data); node.IsOccupied = true; // TryOccupy() m_Grid.UpdatePathfinding(); }
private void SpawnTurret(TurretAsset asset, Vector2Int coordinate, Node selectedNode) { TurretView view = Object.Instantiate(asset.ViewPrefab); TurretData data = new TurretData(asset, selectedNode); data.AttachView(view); Game.Player.TurretSpawned(data); if (!m_Grid.TryOccupyNode(coordinate, true)) { Debug.Log("Something has gone wrong"); } m_Grid.UpdatePathFinding(); }
private void TrySpawnTurret(TurretAsset asset, Node node) { bool wasOccupied = Game.Player.Grid.TryOccupyNode(node); if (wasOccupied) { m_Market.BuyTurret(asset); TurretView view = Object.Instantiate(asset.ViewPrefab); TurretData data = new TurretData(asset, node); data.AttachView(view); Game.Player.TurretSpawned(data); } }
public static TurretView InstantiateView(Vector3 startPoint, Transform node, string prefabName, TurretController tc) { GameObject prefab = ((GameObject)Resources.Load("prefabs/" + prefabName, typeof(GameObject))); GameObject view = Instantiate(prefab, startPoint, node.transform.rotation); TurretView turretView = view.GetComponent <TurretView>(); Debug.Log(view); turretView.Controller = tc; turretView.Instance = view; return(turretView); }
private void SpawnTurret(TurretAsset asset, Node node) { TurretView view = Object.Instantiate(asset.ViewPrefab); TurretData data = new TurretData(asset, node); data.AttachView(view); if (m_Grid.ChangeNodeOccupationStatus(node, true)) { m_Grid.UpdatePathfinding(); } Game.Player.TurretSpawned(data); }
public TurretAreaWeapon(TurretAreaWeaponAsset asset, TurretView view, AreaView areaView) { m_Asset = asset; m_View = view; m_AreaView = areaView; m_MaxDistance = m_Asset.MaxDistance; m_Damage = m_Asset.Damage; Vector3 position = m_View.transform.position; m_NodeCircle = Game.Player.Grid.GetNodesInCircle(position, m_MaxDistance); AreaView instantiatedArea = AreaView.Instantiate(m_AreaView, view.transform); instantiatedArea.transform.localScale = Vector3.one * (m_MaxDistance * 20f); }
public override ITurrentWeapon GetWeapon(TurretView view) { return(new TurretProjectileWeapon(this, view)); }
public abstract ITurrentWeapon GetWeapon(TurretView view);
void Awake() { model = GetComponent <TurretModel>(); targeting = GetComponent <TurretTargeting>(); view = GetComponent <TurretView>(); }
public override ITurretWeapon GetWeapon(TurretView view) { return(new TurretLazerWeapon(this, view)); }
public TurretLazerWeapon(TurretLazerWeaponAsset asset, TurretView view) { m_View = view; m_LineRenderer = Object.Instantiate(asset.LineRendererPrefab, m_View.transform.position, Quaternion.identity); m_rangeNodes = Game.Player.Grid.GetNodesInCircle(m_View.ProjectileOrigin.position, m_MaxDistance); }
public override ITurretWeapon GetWeapon(TurretView view) { return(new TurretAreaWeapon(this, view, AreaView)); }
public override ITurretWeapon GetWeapon(TurretView view) { return(new TurretFieldWeapon(view, this)); }
public TurretFieldWeapon(TurretView view, TurretFieldWeaponAsset asset) { m_View = view; m_Damage = asset.DamagePerSecond; m_MaxDistance = asset.MaxDistance; }
public override ITurrentWeapon GetWeapon(TurretView view) { return(new TurretLaserWeapon(this, view, Instantiate(LineRendererPrefab))); }
public override ITurrentWeapon GetWeapon(TurretView view) { return(new TurretFieldWeapon(this, view)); }