コード例 #1
0
    private void Awake()
    {
        CreepType = creepType;

        //For defenders
        currentTowerLevel        = 1;
        TowerDefenderLevel       = currentTowerLevel;
        TowerDefenderUpgradePath = 0;
        defenderHealth           = GetComponent <scrUnitHealth>();
        animationEventHandler    = GetComponentInChildren <scrAnimationEventHandler>();
    }
コード例 #2
0
    void Start()
    {
        stats = GetComponent <scrCreepTypeDefiner>().CreepType; //Moved from awake to prevent conflict
        CreateHealthbar();
        CurrentHealth = stats.initialHealth;

        //This could be written better i suppose, using virtual classes or such. I might go back and make that change later, if I deem it necessary
        //or feel like I would like the practise. 4 now tho, lets focus on getting this done at my current level of understanding.
        _creep    = GetComponent <Creep>();
        _defender = GetComponent <DefenderEngagementHandler>();
    }
コード例 #3
0
ファイル: Creep.cs プロジェクト: Midledirt/TowerDefenseGit
    private void Start()
    {
        stats = GetComponent <scrCreepTypeDefiner>().CreepType; //Moved from awake to avoid conflict
        if (myPath != null)
        {
            transform.position = myPath.path.GetPoint(0); //Spawns the creep at the first point
            // Subscribed to the pathUpdated event so that we're notified if the path changes during the game
            myPath.pathUpdated += OnPathChanged;
        }

        //currentWaypointIndex = 0;
        _CreepHealth = GetComponent <scrUnitHealth>();

        MovementSpeed = stats.movementSpeed;             //For modifying the property movementspeed in other scripts
        //creepPossition = transform.position; //Stores the position of the transform
        RandomizedPossition = RandomizeCreepPossition(); //Randomizes the possition for each creep on start
    }
コード例 #4
0
 public void DefenderIsUpgraded(CreepStatsSO _newStats)
 {
     defenderOrCreepStats = _newStats;
 }
コード例 #5
0
 private void Awake()
 {
     defenderOrCreepStats   = GetComponentInParent <scrCreepTypeDefiner>().CreepType; //Get the "creepType" from the stats on the gameobject
     localSplashDamageClass = GetComponentInParent <scrSplashDamage>();               //Gets the reference
     UnitDealsSplashDamage  = false;
 }
コード例 #6
0
    public CreepStatsSO UpgradeDefenderStats(int _towerPath, int _towerLevel)
    {
        //print("Upgrading defender stats...");
        TowerDefenderLevel       = _towerLevel;
        TowerDefenderUpgradePath = _towerPath;
        if (TowerDefenderLevel == 2) //If the tower is at level 2
        {
            //print("Defenders are now level 2");
            switch (TowerDefenderUpgradePath)
            {
            case 1:
                UpdateHealthAndDamage(Path1Level2Defender);
                return(CreepType = Path1Level2Defender);

            case 2:
                UpdateHealthAndDamage(Path2Level2Defender);
                return(CreepType = Path2Level2Defender);

            case 3:
                UpdateHealthAndDamage(Path3Level2Defender);
                return(CreepType = Path3Level2Defender);

            default:
                Debug.LogError("The TowerProjectileUpgradePath variable in the scrTowerProjectileStatsRecorder script is assigned a number that is either null or incorrect.");
                return(CreepType = creepType);
            }
        }
        if (TowerDefenderLevel == 3)
        {
            //print("Defenders are now level 3");
            switch (TowerDefenderUpgradePath)
            {
            case 1:
                UpdateHealthAndDamage(Path1Level3Defender);
                return(CreepType = Path1Level3Defender);

            case 2:
                UpdateHealthAndDamage(Path2Level3Defender);
                return(CreepType = Path2Level3Defender);

            case 3:
                UpdateHealthAndDamage(Path3Level3Defender);
                return(CreepType = Path3Level3Defender);

            default:
                Debug.LogError("The TowerProjectileUpgradePath variable in the scrTowerProjectileStatsRecorder script is assigned a number that is either null or incorrect.");
                return(CreepType = creepType);
            }
        }
        if (TowerDefenderLevel == 4)
        {
            //print("Defenders are now level 4");
            switch (TowerDefenderUpgradePath)
            {
            case 1:
                UpdateHealthAndDamage(Path1Level4Defender);
                return(CreepType = Path1Level4Defender);

            case 2:
                UpdateHealthAndDamage(Path2Level4Defender);
                return(CreepType = Path2Level4Defender);

            case 3:
                UpdateHealthAndDamage(Path3Level4Defender);
                return(CreepType = Path3Level4Defender);

            default:
                Debug.LogError("The TowerProjectileUpgradePath variable in the scrTowerProjectileStatsRecorder script is assigned a number that is either null or incorrect.");
                return(CreepType = creepType);
            }
        }
        else
        {
            Debug.LogError("The TowerProjectileLevel variable in the scrTowerProjectileStatsRecorder script is assigned a number that is either null or incorrect.");
            return(CreepType = creepType);
        }
    }
コード例 #7
0
 private void UpdateHealthAndDamage(CreepStatsSO newStats)
 {
     defenderHealth.DefenderUpgraded(newStats);
     animationEventHandler.DefenderIsUpgraded(newStats);
 }
コード例 #8
0
 public void DefenderUpgraded(CreepStatsSO _newStats)
 {
     stats         = _newStats;
     CurrentHealth = _newStats.initialHealth;
 }