private void addGameObject(GameObject go, StatusEffectType.StatusTypes key) { prefabs.Add(key, go); }
public void DrawStatusEffect(GameObject primaryTarget, StatusEffectType.StatusTypes key) { if (statusPrefabManager == null) statusPrefabManager = GameObject.Find("StatusPrefabManager").GetComponent<StatusPrefabManager>(); GameObject go; if (prefabs.ContainsKey(key)) { go = prefabs[key]; } else { go = statusPrefabManager.getStatus(status).effect; if (go == null) return; addGameObject(go, key); } Bounds casterBounds = primaryTarget.GetComponent<IBattleCharacter>().getModelBounds(); Vector3 castPoint = casterBounds.center; castPoint.y = (casterBounds.center.y + casterBounds.extents.y) * yCastPoint; go = GameObject.Instantiate(go); go.transform.parent = primaryTarget.transform; go.transform.localPosition = castPoint; }
public void applyStatusEffect(StatusEffectType statusEffectType) { switch (statusEffectType.status) { case StatusEffectType.StatusTypes.Wait: addStock(); playerStats.offenseDamageMultiplier = playerStats.offenseDamageMultiplier * statusEffectType.calculateEffect(); break; case StatusEffectType.StatusTypes.Raise: playerStats.dead = false; playerStats.curHP = 1; Damage damage = new Damage(-(int)(statusEffectType.potency * playerStats.maxHP), false); damage.actualDamage = damage.baseDamage; this.takeDamage(damage, false, 0.0f); break; } // Apply status effect for each unique type of status effect type }
public void removeStatusEffect(StatusEffectType statusEffectType) { switch (statusEffectType.status) { case StatusEffectType.StatusTypes.Raise: break; case StatusEffectType.StatusTypes.Poison: break; case StatusEffectType.StatusTypes.Haste: break; case StatusEffectType.StatusTypes.Slow: break; case StatusEffectType.StatusTypes.Curse: break; case StatusEffectType.StatusTypes.Death: break; case StatusEffectType.StatusTypes.Regen: break; case StatusEffectType.StatusTypes.Wait: playerStats.offenseDamageMultiplier = playerStats.offenseDamageMultiplier / statusEffectType.calculateEffect(); break; default: break; } }
public StatusEffect(StatusEffectType statusEffectType, Damage damageEachTurn) { this.statusEffectType = statusEffectType; this.damageEachTurn = damageEachTurn; }