Exemplo n.º 1
0
 void Start()
 {
     self            = GetComponent <TurretNode> ();
     buildingManager = self.buildingManager;
     rend            = GetComponent <Renderer> ();
     startColor      = rend.material.color;
 }
Exemplo n.º 2
0
 public void SellTurret(TurretNode node, GameObject turret)        // Model or Turret Construction?
 {
     Destroy(turret);
     node.SetOccupied(false);
     manager.nodeToBuildOn = null;
     manager.SetTurretToModify(null);
 }
    public void SetTarget(TurretNode target)
    {
        this.target = target;

        ShowTurretRange(false);

        turret = target.turret.GetComponent <Turret>();

        transform.position = target.transform.position + target.positionOffset;

        if (!target.isUpgraded)
        {
            upgradeCost.text           = target.turretBlueprint.upgradeCost.ToString();
            upgradeButton.interactable = true;
            sellCost.text = target.turretBlueprint.GetSellAmount().ToString();
        }
        else
        {
            upgradeCost.text           = "MAX";
            upgradeButton.interactable = false;
            sellCost.text = target.turretBlueprint.GetUpgradedSellAmount().ToString();
            HideUpgradeInfo();
        }



        ui.SetActive(true);
        ShowTurretRange(true);

        FillUiInfo();
    }
Exemplo n.º 4
0
 protected override void Update(uint dt)
 {
     this.targetingController.Update(ref this.flip, new TargetingController.UpdateTarget(this.UpdateOffensiveTroopTarget), new TargetingController.UpdateTarget(this.UpdateDefensiveTroopTarget), new TargetingController.UpdateTarget(this.UpdateOffensiveTroopPeriodicUpdate));
     for (TurretNode turretNode = this.turretNodeList.Head; turretNode != null; turretNode = turretNode.Next)
     {
         this.targetingController.StopSearchIfTargetFound(turretNode.ShooterComp);
     }
 }
Exemplo n.º 5
0
    public void BuildTurret(TurretNode node, GameObject turret)
    {
        var instance = Instantiate(turret, node.transform.position + node.positionOffset, node.transform.rotation);

        instance.GetComponent <TurretConfig> ().enemies = enemyManager;
        instance.transform.SetParent(node.gameObject.transform);
        node.SetOccupied(true);
        manager.nodeToBuildOn = null;
    }
Exemplo n.º 6
0
    public void UpgradeTurret(TurretNode node, GameObject turret)
    {
        Destroy(node.GetTurret());
        var instance = Instantiate(turret, node.transform.position + node.positionOffset, node.transform.rotation);

        instance.GetComponent <TurretConfig> ().enemies = enemyManager;
        instance.transform.SetParent(node.gameObject.transform);
        node.SetOccupied(true);
        manager.SetTurretToModify(instance);
    }
Exemplo n.º 7
0
    public void SelectTurretNode(TurretNode turretNode)
    {
        if (selectedTurretNode == turretNode)
        {
            DeselectTurretNode();
            return;
        }

        selectedTurretNode = turretNode;
        deselectPreviewPrefab();

        turretSelectUI.SetTarget(turretNode);
    }
Exemplo n.º 8
0
        protected override void Update(uint dt)
        {
            BuffNode next;

            for (BuffNode buffNode = this.buffNodeList.Head; buffNode != null; buffNode = next)
            {
                next = buffNode.Next;
                buffNode.BuffComp.UpdateBuffs(dt);
            }
            for (TroopNode troopNode = this.troopNodeList.Head; troopNode != null; troopNode = troopNode.Next)
            {
                this.troopAttackController.UpdateTroop((SmartEntity)troopNode.Entity);
            }
            this.specialAttackController.UpdateSpecialAttacks();
            for (TurretNode turretNode = this.turretNodeList.Head; turretNode != null; turretNode = turretNode.Next)
            {
                this.turretAttackController.UpdateTurret((SmartEntity)turretNode.Entity);
            }
        }
        private void SetTurretsInRangeOf(int x, int z, SpatialIndex spatialIndex)
        {
            Board <Entity>        board    = Service.Get <BoardController>().Board;
            BoardCell <Entity>    cellAt   = board.GetCellAt(x, z, true);
            NodeList <TurretNode> nodeList = Service.Get <EntityController>().GetNodeList <TurretNode>();

            spatialIndex.AlreadyScannedTurretsInRange = true;
            for (TurretNode turretNode = nodeList.Head; turretNode != null; turretNode = turretNode.Next)
            {
                SmartEntity smartEntity = (SmartEntity)turretNode.Entity;
                if (this.IsAliveHealthNode(smartEntity))
                {
                    TransformComponent transformComp = smartEntity.TransformComp;
                    int num      = this.CalcSquredDistanceFromTransformToCell(transformComp, cellAt);
                    int nearness = this.CalcNearness(num);
                    spatialIndex.AddTurretsInRangeOf(smartEntity, num, nearness);
                }
            }
        }
Exemplo n.º 10
0
 public void SelectTurretNode(TurretNode node)
 {
     nodeToBuildOn = node;
 }
Exemplo n.º 11
0
 public void Init()
 {
     gameObject = new GameObject();
     gameObject.AddComponent <TurretNode>();
     model = gameObject.GetComponent <TurretNode>();
 }
Exemplo n.º 12
0
 public void SaveEquipment(NodeAddedEvent e, [Combine] RoundUserNode user, [Context, JoinByUser] HullNode hull, [Context, JoinByUser] TurretNode turret)
 {
     if (user.Entity.HasComponent <RoundUserEquipmentComponent>())
     {
         RoundUserEquipmentComponent component = user.Entity.GetComponent <RoundUserEquipmentComponent>();
         component.HullId   = hull.marketItemGroup.Key;
         component.WeaponId = turret.marketItemGroup.Key;
     }
     else
     {
         RoundUserEquipmentComponent component = new RoundUserEquipmentComponent {
             HullId   = hull.marketItemGroup.Key,
             WeaponId = turret.marketItemGroup.Key
         };
         user.Entity.AddComponent(component);
     }
 }
Exemplo n.º 13
0
 public void InitTurret(NodeAddedEvent e, SingleNode <CustomizationUIComponent> ui, TurretNode turret, [Context, JoinByMarketItem] MarketItemNode marketItem)
 {
     ui.component.Turret = GarageItemsRegistry.GetItem <TankPartItem>(marketItem.Entity);
 }
Exemplo n.º 14
0
 public void SetTarget(TurretNode target)
 {
     currentTarget = target;
     ToggleUI(true);
 }
Exemplo n.º 15
0
 public void DeselectTurretNode()
 {
     selectedTurretNode = null;
     turretSelectUI.Hide();
 }
Exemplo n.º 16
0
 public void InitTurretForBattleSelectScreen(NodeAddedEvent e, SingleNode <MatchLobbyGUIComponent> ui, TurretNode turret, [Context, JoinByMarketItem] MarketItemNode marketItem)
 {
     ui.component.Turret = GarageItemsRegistry.GetItem <TankPartItem>(marketItem.Entity);
     ui.component.SetTurretLabels();
 }