Exemplo n.º 1
0
    public Troop CreateTroop(int codTroop, bool isEnemy, PhaseObjectives troopObjective)
    {
        Troop troop = new Troop();
        TroopScriptableObject troopData = GetTroopScriptableObject(codTroop);

        troop.CodTroop            = troopData.codTroop;
        troop.NamTroop            = troopData.namTroop;
        troop.ValAttackDistance   = troopData.valAttackDistance;
        troop.ValAttackSpeed      = troopData.valAttackSpeed;
        troop.ValDamageDealt      = troopData.valDamageDealt;
        troop.ValDropMoney        = troopData.valDropMoney;
        troop.ValHp               = troopData.valHp;
        troop.ValMotionSpeed      = troopData.valMorionSpeed;
        troop.ValScore            = troopData.valScore;
        troop.IdtAttackAtDistance = troopData.attackAtDistance;
        troop.GameObject          = GameObject.Instantiate(troopPrefab);
        troop.Objective           = troopObjective;
        troop.IsEnemy             = isEnemy;

        troop.GameObject.GetComponentInChildren <SpriteRenderer>().sprite = troopData.sprite;
        troop.GameObject.GetComponentInChildren <Animator>().runtimeAnimatorController = troopData.animatorController;

        if (troop.IdtAttackAtDistance && troopData.projectilePrefab != null)
        {
            troop.GameObject.GetComponent <TroopAttackActions>().projectilePrefab = troopData.projectilePrefab;
        }

        troop.GameObject.GetComponent <RunTimeTroopData>().SetData(troop);

        return(troop);
    }
Exemplo n.º 2
0
    private void Awake()
    {
        GameObject phaseManager = GameObject.FindGameObjectWithTag("Phase_Manager");

        goldManager     = phaseManager.GetComponent <GoldManager>();
        playerObjective = phaseManager.GetComponent <RunTimePhaseData>().idtPhaseType;
    }
Exemplo n.º 3
0
    public Barrack CreateBarrack(int codBarrack, bool isEnemy, PhaseObjectives barrackObjective)
    {
        GameObject barrackGameObject        = GameObject.Instantiate(barrackPrefab);
        Barrack    barrack                  = new Barrack();
        BarrackScriptableObject barrackData = GetBarrackScriptableObject(codBarrack);

        barrack.CodBarrack        = barrackData.codBarrack;
        barrack.CodPart           = barrackData.codPart;
        barrack.CodTroop          = barrackData.codTroop;
        barrack.NamBarrack        = barrackData.namBarrack;
        barrack.DesBarrack        = barrackData.desBarrack;
        barrack.NumTroopLimit     = barrackData.numTroopLimit;
        barrack.ValCost           = barrackData.valCost;
        barrack.ValSpawnFrequency = barrackData.valSpawnFrequency;
        barrack.GameObject        = barrackGameObject;
        barrack.IsEnemy           = isEnemy;
        barrack.Objective         = barrackObjective;

        barrack.SetUpSpawner();
        barrack.GameObject.GetComponent <SpriteRenderer>().sprite = barrackData.sprite;
        barrack.GameObject.GetComponent <Animator>().runtimeAnimatorController = barrackData.animatorController;

        barrack.GameObject.GetComponent <RunTimeBarrackData>().SetData(barrack);

        return(barrack);
    }
Exemplo n.º 4
0
    private void Start()
    {
        bobAIGoldReserve = goldManager.BobAIGoldReserve;

        // TO:DO --> Use barracks in RuntimeData
        barracksPriorityList = new PriorityList <BarrackScriptableObject>();
        foreach (BarrackScriptableObject barrack in barracks)
        {
            barracksPriorityList.Add(barrack, barrack.valCost);
        }

        // TO:DO --> Use the phaseData in RuntimeData
        RunTimePhaseData phaseData = GetComponent <RunTimePhaseData>();

        if (phaseData.idtPhaseType == PhaseObjectives.ATTACK)
        {
            bobAIObjective = PhaseObjectives.DEFEND;
        }
        else
        {
            bobAIObjective = PhaseObjectives.ATTACK;
        }

        waveStartEvent.RegisterListener(HandleWaveStartEvent);
        towerDestroyedEvent.RegisterListener(HandleTowerDestroyedEvent);
    }
 public void SetData(Barrack barrackData)
 {
     codBarrack        = barrackData.CodBarrack;
     codPart           = barrackData.CodPart;
     codTroop          = barrackData.CodTroop;
     namBarrack        = barrackData.NamBarrack;
     desBarrack        = barrackData.DesBarrack;
     valSpawnFrequency = barrackData.ValSpawnFrequency;
     valCost           = barrackData.ValCost;
     numTroopLimit     = barrackData.NumTroopLimit;
     isEnemy           = barrackData.IsEnemy;
     objective         = barrackData.Objective;
 }
Exemplo n.º 6
0
 public void SetData(Troop troopData)
 {
     namTroop         = troopData.NamTroop;
     valDamageDealt   = troopData.ValDamageDealt;
     valHp            = troopData.ValHp;
     valScore         = troopData.ValScore;
     valDropMoney     = troopData.ValDropMoney;
     valMotionSpeed   = troopData.ValMotionSpeed;
     valAttackSpeed   = troopData.ValAttackSpeed;
     attackDistance   = troopData.ValAttackDistance;
     troopObjective   = troopData.Objective;
     isEnemy          = troopData.IsEnemy;
     attackAtDistance = troopData.IdtAttackAtDistance;
 }
Exemplo n.º 7
0
    public void SetData(Phase phaseData)
    {
        numPhase          = phaseData.NumPhase;
        codPart           = phaseData.CodPart;
        namPhase          = phaseData.NamPhase;
        valIniPlayerMoney = phaseData.ValIniIAMoney;
        valIniIAMoney     = phaseData.ValIniIAMoney;

        switch (phaseData.IdtPhaseType)
        {
        case ("ATTACK"):
            idtPhaseType = PhaseObjectives.ATTACK;
            break;

        case ("DEFEND"):
            idtPhaseType = PhaseObjectives.DEFEND;
            break;
        }
    }