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); }
private void Awake() { GameObject phaseManager = GameObject.FindGameObjectWithTag("Phase_Manager"); goldManager = phaseManager.GetComponent <GoldManager>(); playerObjective = phaseManager.GetComponent <RunTimePhaseData>().idtPhaseType; }
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); }
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; }
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; }
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; } }