public void AddEnergyToSlot(GameObject energyObj, GameConstants.eEnergyType energyType) { m_EnergyType = energyType; m_EnergyTransform = energyObj.transform; m_EnergyTransform.SetParent(transform); m_EnergyTransform.localPosition = Vector3.zero; }
public int GetNumberEnergyOfType(GameConstants.eEnergyType energyType) { if (m_Energy.ContainsKey(energyType)) { return(m_Energy[energyType]); } return(0); }
public void RemoveEnergy(GameConstants.eEnergyType energy) { if (m_Energy.ContainsKey(energy)) { m_Energy[energy]--; } UpdateEnergyUIText(energy); }
public void OnResourcePickedUp(GameConstants.eEnergyType energy) { m_EnergyManager.AddEnergy(energy); if (m_ParticlesDictionary.ContainsKey(energy)) { m_ParticlesDictionary[energy].Emit(1); } }
public void InitializeProjectile(Enemy target, float damage, GameConstants.eEnergyType damageType, OnProjectileHitTarget onTargetHit) { m_Damage = damage; m_DamageType = damageType; m_Target = target; m_OnProjectileHitTarget = onTargetHit; m_IsInitialized = true; }
private void UpdateEnergyUIText(GameConstants.eEnergyType energy) { for (int i = 0; i < m_EnergyUISlots.Count; i++) { if (m_EnergyUISlots[i].EnergyType == energy) { m_EnergyUISlots[i].UpdateText(m_Energy[energy].ToString()); } } }
public IEnumerator SpawnResources(GameConstants.eEnergyType type, int num) { for (int i = 0; i < num; i++) { SpawnResource(type); yield return(new WaitForSeconds(Random.Range(0.0f, 0.8f))); } yield return(null); }
public void AddEnergy(GameConstants.eEnergyType energy) { if (!m_Energy.ContainsKey(energy)) { m_Energy.Add(energy, 0); } m_Energy[energy]++; UpdateEnergyUIText(energy); }
public void TakeDamage(float damage, GameConstants.eEnergyType damageType) { if (m_EnemyEnergyType != GameConstants.eEnergyType.DEFAULT && GameConstants.GetEnergyWeakness(m_EnemyEnergyType) == damageType) { damage *= GameConstants.ENERGY_WEAKNESS_DAMAGE_MODIFIER; } m_CurrentHealth -= damage; if (m_CurrentHealth <= 0.0f) { KillEnemy(); } }
public void Initialize(GameConstants.eEnergyType flower, GameConstants.eEnergyType stem, GameConstants.eEnergyType bse) { if (!m_IsBeingHeld) { base.Initialize(); } // use the energy types to zombie together the final plant m_FlowerComponent = Instantiate <GameObject>((GameObject)Resources.Load(string.Format(GameConstants.PLANT_COMPONENT_PREFAB_PATH, GameConstants.eSlot.FLOWER, flower)), m_BaseAnchor).GetComponent <FlowerComponent>(); m_StemComponent = Instantiate <GameObject>((GameObject)Resources.Load(string.Format(GameConstants.PLANT_COMPONENT_PREFAB_PATH, GameConstants.eSlot.STEM, stem)), m_BaseAnchor).GetComponent <StemComponent>(); m_RootComponent = Instantiate <GameObject>((GameObject)Resources.Load(string.Format(GameConstants.PLANT_COMPONENT_PREFAB_PATH, GameConstants.eSlot.ROOT, bse)), m_BaseAnchor).GetComponent <RootComponent>(); CreatePlant(); }
private void SpawnResource(GameConstants.eEnergyType type) { Vector3Int?cell = m_InteractableTilemap.GetRandomAvailableCellForResource(); if (cell != null) { ElementResource resource = Instantiate <GameObject>((GameObject)Resources.Load(string.Format(GameConstants.ENERGY_RESOURCE_PATH, type.ToString())), m_InteractableTilemap.EnergyResourceAnchor).GetComponent <ElementResource>(); resource.transform.position = GameFlow.Instance.GridManager.GetCellWorldPos(cell.Value); resource.Initialize(); m_InteractableTilemap.AddInteractableObject(resource); } }
private void SpawnResources() { m_ResourceSpawnTimer -= Time.deltaTime; if (m_ResourceSpawnTimer <= 0.0f) { int numberResourceTypesToSpawn = Random.Range(1, 3); for (int i = 0; i < numberResourceTypesToSpawn; i++) { GameConstants.eEnergyType type = (GameConstants.eEnergyType)Random.Range(0, System.Enum.GetValues(typeof(GameConstants.eEnergyType)).Length); int numberResources = Random.Range(m_NumberResourcesToSpawn.x, m_NumberResourcesToSpawn.y + 1); StartCoroutine(m_ResourceSpawner.SpawnResources(type, numberResources)); } m_ResourceSpawnTimer = Random.Range(m_ResourceSpawnIntervals.x, m_ResourceSpawnIntervals.y); } }