public void AddDebuffToTargetFrame(Debuff debuff) { if (targetFrame.activeSelf && debuff.MyCharacter == Player.MyInstance.MyTarget) { TargetDebuff td = Instantiate(targetDebuffPrefab, targetDebuffsTransform); td.Initialize(debuff); targetDebuffs.Add(td); } }
public void RemoveDebuff(Debuff debuff) { if (targetFrame.activeSelf && debuff.MyCharacter == Player.MyInstance.MyTarget) { TargetDebuff td = targetDebuffs.Find(x => x.Debuff.Name == debuff.Name); targetDebuffs.Remove(td); Destroy(td.gameObject); } }
public void ShowTargetFrame(Enemy target) { targetFrame.SetActive(true); healthStat.Initialize(target.MyHealth.MyCurrentValue, target.MyHealth.MyMaxValue); portraitFrame.sprite = target.MyPortrait; levelText.text = target.MyLevel.ToString(); target.healthChanged += new HealthChanged(UpdateTargetFrame); target.characterRemoved += new CharacterRemoved(HideTargetFrame); if (target.MyLevel >= Player.MyInstance.MyLevel + 5) { levelText.color = Color.red; } else if (target.MyLevel == Player.MyInstance.MyLevel + 3 || target.MyLevel == Player.MyInstance.MyLevel + 4) { levelText.color = new Color32(255, 124, 0, 255); } else if (target.MyLevel >= Player.MyInstance.MyLevel - 2 && target.MyLevel <= Player.MyInstance.MyLevel + 2) { levelText.color = Color.yellow; } else if (target.MyLevel <= Player.MyInstance.MyLevel - 3 && target.MyLevel > XPManager.CalculateGrayLevel()) { levelText.color = Color.green; } else { levelText.color = Color.grey; } for (int i = 0; i < targetDebuffs.Count; i++) { Destroy(targetDebuffs[i].gameObject); } targetDebuffs.Clear(); foreach (Debuff debuff in target.MyDebuffs) { TargetDebuff td = Instantiate(targetDebuffPrefab, targetDebuffsTransform); td.Initialize(debuff); targetDebuffs.Add(td); } }