Beispiel #1
0
 void getDependencies()
 {
     turretStats           = GetComponentInParent <TurretStats>();
     master                = Master.Instance;
     attackStateBehaviours = GetComponents <ITurretAttackState>().ToList();
     shotBehaviours        = GetComponents <ITurretShotBehaviour>().ToList();
 }
Beispiel #2
0
    public void BuildTurret()
    {
        TurretStats turretToBuild = turretManager.turretToBuild;

        turretStats = turretToBuild;

        if (!turretManager.CanBuild)
        {
            return;
        }


        if (PlayerManager.money < turretToBuild.cost) // Checks if you have no money left.
        {
            turretManager.HandleNotEnoughMoney();
            return;
        }

        turretManager.HandleTurretPurchased(turretToBuild);

        PlayerManager.money -= turretToBuild.cost;
        GameObject turret          = Instantiate(turretToBuild.turretPrefab, GetBuildPosition(), Quaternion.identity);
        Turret     turretComponent = turret.GetComponent <Turret>();

        turretComponent.SetNode(this);
        this.turret = turret;
        turretManager.HidePlacePath();

        TurretSelection.singleton.HideUiObject();
        ShopManager.singleton.TurretPlaced();
    }
Beispiel #3
0
    public void UpgradeTurret()
    {
        if (turretStats.upgradedPrefab == null)
        {
            return;
        }

        if (PlayerManager.money < turretStats.upgradeCost) // Checks if you have no money left.
        {
            turretManager.HandleNotEnoughMoney();
            return;
        }

        PlayerManager.money -= turretStats.upgradeCost;

        // Get rid of old turret
        Destroy(this.turret);

        // Build new, upgraded one.
        TurretStats newTurretStats  = ShopManager.singleton.GetTurretStatsFor(turretStats.upgradedPrefab);
        GameObject  turret          = Instantiate(turretStats.upgradedPrefab, GetBuildPosition(), Quaternion.identity);
        Turret      turretComponent = turret.GetComponent <Turret>();

        turretComponent.SetNode(this);
        this.turret      = turret;
        this.turretStats = newTurretStats;
        turretManager.HidePlacePath();

        isUpgraded = true;

        TurretSelection.singleton.HideUiObject();
        ShopManager.singleton.TurretPlaced();
    }
 void getDependencies()
 {
     turretStats        = GetComponentInParent <TurretStats>();
     objectPooler       = ObjectPooler.GetInstance();
     enemyDamageHandler = transform.parent.GetComponentInChildren <IEnemyDamageHandler>();
     shotBehaviours     = GetComponents <ITurretShotBehaviour>().ToList();
 }
Beispiel #5
0
 public virtual void SetInfo(Transform turret, TurretStats turretStats, IEnemyDamageHandler enemyDamageHandler)
 {
     this.target             = null;
     this.turretStats        = turretStats;
     this.turret             = turret;
     this.enemyDamageHandler = enemyDamageHandler;
     initializate();
 }
Beispiel #6
0
 void getDependencies()
 {
     objectPooler          = ObjectPooler.GetInstance();
     turretStats           = GetComponentInParent <TurretStats>();
     targetDetection       = GetComponent <CurrentTargetsOnRange>();
     enemyDamageHandler    = transform.parent.GetComponentInChildren <IEnemyDamageHandler>();
     attackStateBehaviours = GetComponents <ITurretAttackState>().ToList();
     shotBehaviours        = GetComponents <ITurretShotBehaviour>().ToList();
 }
Beispiel #7
0
 public TurretAttackState(StateMachine owner, TurretStats stats) :
     base(owner)
 {
     // Pass these in a struct or class or smth
     this.firePoint    = stats.firePoint;
     this.turretPivot  = stats.turretPivot;
     this.cannonPivot  = stats.cannonPivot;
     this.indic        = stats.indic;
     this.whatIsTarget = stats.whatIsTarget;
 }
Beispiel #8
0
 private void Start()
 {
     source        = GetComponent <AudioSource>();
     source.volume = GameObject.Find("GameEngine").GetComponent <GameEngine>().soundEffectVolume;
     targetRadius  = GetComponent <SphereCollider>();
     turStats      = GetComponent <TurretStats>();
     slowSpeed     = GameMechanics.Mechanics.IceTurretSlowSpeed;
     upgradeDamage = GameMechanics.Mechanics.IceTurretUpgradeSlow;
     RestatusStats();
 }
Beispiel #9
0
    void ActivatePlacement(TurretStats turret)
    {
        HideAllTurretDisplays();
        turret.turretDisplay.SetActive(true);

        turretDisplayRenderTextureImage.gameObject.SetActive(true);

        turretPlacementActive = true;
        turretInfoPanel.SetActive(false);
        turretManager.SelectTurretToBuild(turret);
    }
Beispiel #10
0
 private void Start()
 {
     source        = GetComponent <AudioSource>();
     source.volume = GameObject.Find("GameEngine").GetComponent <GameEngine>().soundEffectVolume;
     targetRadius  = GetComponent <SphereCollider>();
     rBody         = GetComponent <Rigidbody>();
     turStats      = GetComponent <TurretStats>();
     damage        = GameMechanics.Mechanics.LouncherDamage;
     upgradeDamage = GameMechanics.Mechanics.LouncherUpgradeDamage;
     upgradeRadius = GameMechanics.Mechanics.LouncherUpgradeRadius;
     RestatusStats();
 }
Beispiel #11
0
    private TurretStats CreateStats()
    {
        TurretStats newStats = new TurretStats();

        newStats.indic        = indic;
        newStats.cannonPivot  = cannonPivot;
        newStats.firePoint    = firePoint;
        newStats.turretPivot  = turretPivot;
        newStats.whatIsTarget = whatIsTarget;

        return(newStats);
    }
Beispiel #12
0
    public void RestatusStats()
    {
        TurretStats stats = turret.GetComponent <TurretStats>();

        radiusStat.text  = stats.radius.ToString();
        turretLevel.text = "Tower Level: " + stats.towerLevel.ToString();

        if (stats.turretName == "IceTurret")
        {
            damageText.text = "Freeze: ";
            damageStat.text = (100 - stats.FreezeSpeed * 100).ToString() + "%";
        }
        else
        {
            damageText.text = "Damage: ";
            damageStat.text = stats.Damage.ToString();
        }


        switch (stats.turretName)
        {
        case "AutoTurret":
            damageBonus.text = "+" + GameMechanics.Mechanics.AutoUpgradeDamage.ToString();
            radiusBonus.text = "+" + GameMechanics.Mechanics.AutoUpgradeRadius.ToString();
            break;

        case "Machinegun":
            damageBonus.text = "+" + GameMechanics.Mechanics.MachinegunUpgradeDamage.ToString();
            radiusBonus.text = "+" + GameMechanics.Mechanics.MachinegunUpgradeRadius.ToString();
            break;

        case "Sniper":
            damageBonus.text = "+" + GameMechanics.Mechanics.SniperUpgradeDamage;
            radiusBonus.text = "+" + GameMechanics.Mechanics.SniperUpgradeRadius;
            break;

        case "Louncher":
            damageBonus.text = "+" + GameMechanics.Mechanics.LouncherUpgradeDamage;
            radiusBonus.text = "+" + GameMechanics.Mechanics.LouncherUpgradeRadius;
            break;

        case "Flamer":
            damageBonus.text = "+" + GameMechanics.Mechanics.FlamerUpgradeDamage;
            break;

        case "IceTurret":
            damageBonus.text = "-" + GameMechanics.Mechanics.IceTurretUpgradeSlow;
            break;
        }
    }
Beispiel #13
0
    public void Init(TurretDefinition def)
    {
        stats = new TurretStats();
        stats.def = def;
        stats.currShotsOut = 0;
        stats.ammoLeft = stats.def.maxAmmo;
        stats.activated = true;

        BuildingType bldType = GetComponent<Building>().stats.def.type;
        GetComponent<Turret>().turretHead.gameObject.SetActive(true);
        GetComponent<Turret>().turretHead.GetComponent<SpriteRenderer>().sprite = SpriteLibrary.I.GetBuildingTurretHeadSprite(bldType);

        //		Debug.Log("initialized turret with TurretDefinition: "+  def);
    }
Beispiel #14
0
    public void HoverOverTurret(TurretStats turret)
    {
        if (turretPlacementActive)
        {
            return;
        }

        turretInfoPanel.SetActive(true);
        turretNameText.text       = turret.displayName;
        turretPriceText.text      = string.Format("Price: ${0}", turret.cost);
        turretDamageText.text     = string.Format("Damage: {0}", turret.damage.ToString());
        turretRangeText.text      = string.Format("Range: {0}", turret.range.ToString());
        turretRateOfFireText.text = string.Format("Rate of Fire: {0}", turret.rateOfFire.ToString());
        turretTurnSpeedText.text  = string.Format("Turn Speed: {0}", turret.turnSpeed.ToString());
    }
Beispiel #15
0
    public void Init(TurretDefinition def)
    {
        stats              = new TurretStats();
        stats.def          = def;
        stats.currShotsOut = 0;
        stats.ammoLeft     = stats.def.maxAmmo;
        stats.activated    = true;

        BuildingType bldType = GetComponent <Building>().stats.def.type;

        GetComponent <Turret>().turretHead.gameObject.SetActive(true);
        GetComponent <Turret>().turretHead.GetComponent <SpriteRenderer>().sprite = SpriteLibrary.I.GetBuildingTurretHeadSprite(bldType);


//		Debug.Log("initialized turret with TurretDefinition: "+  def);
    }
Beispiel #16
0
 // Use this for initialization
 void Start()
 {
     stats = GetComponent <TurretStats>();
 }
 private void getDependencies()
 {
     turretStats           = GetComponentInParent <TurretStats>();
     attackStateBehaviours = GetComponents <ITurretAttackState>().ToList();
 }
Beispiel #18
0
 void getDependencies()
 {
     turretStats           = GetComponentInParent <TurretStats>();
     enemyDamageHandler    = transform.parent.GetComponentInChildren <IEnemyDamageHandler>();
     attackStateBehaviours = GetComponents <ITurretAttackState>().ToList();
 }
Beispiel #19
0
 public void HandleTurretPurchased(TurretStats turretToBuild)
 {
     removeCostText.text = string.Format("-${0}", Mathf.RoundToInt(turretToBuild.cost).ToString()); // Sets text showing the player how much money has been removed.
     removeCostText.gameObject.SetActive(true);
     removeCostText.gameObject.GetComponent <Animation>().Play();
 }
Beispiel #20
0
 public override void Initialize()
 {
     Stats = new TurretStats(Record, BuildingRecord);
     base.Initialize();
 }
Beispiel #21
0
 private void Awake()
 {
     behaviours  = GetComponentsInChildren <ITurretBehaviour>().ToList();
     turretStats = GetComponent <TurretStats>();
 }
Beispiel #22
0
 public void SelectTurretToBuild(TurretStats turret) // Vets the turret currently defined by this script as the listing for the stats script
 {
     turretToBuild = turret;
     placePath.SetActive(true);
 }
Beispiel #23
0
 void GetDependencies()
 {
     turretStats        = GetComponentInParent <TurretStats>();
     enemyDamageHandler = transform.parent.GetComponentInChildren <IEnemyDamageHandler>();
 }
Beispiel #24
0
 void Start()
 {
     _currentTurretButton = 0;
     _ts = FindObjectOfType<TurretStats>();
     GetSetStats();
 }
 public override void InitializeComponent()
 {
     turretStats = GetComponentInParent <TurretStats>();
 }
Beispiel #26
0
 public override void SetInfo(Transform target, Transform turret, TurretStats turretStats, IEnemyDamageHandler enemyDamageHandler)
 {
     base.SetInfo(target, turret, turretStats, enemyDamageHandler);
     lastEnemyPosition = target.GetComponent <Collider>().bounds.center;
     initializeParameters();
 }
 void Awake()
 {
     turretStats = GetComponentInParent <TurretStats>();
     turretNoHealthBehaviours = GetComponents <TurretNoHealth>().ToList();
 }