// Token: 0x060004D9 RID: 1241 RVA: 0x0002809C File Offset: 0x0002629C private void UpdateWorldTexts(float dt) { DamageText.WorldTextInstance worldTextInstance = null; Camera mainCamera = Utils.GetMainCamera(); foreach (DamageText.WorldTextInstance worldTextInstance2 in this.m_worldTexts) { worldTextInstance2.m_timer += dt; if (worldTextInstance2.m_timer > this.m_textDuration && worldTextInstance == null) { worldTextInstance = worldTextInstance2; } DamageText.WorldTextInstance worldTextInstance3 = worldTextInstance2; worldTextInstance3.m_worldPos.y = worldTextInstance3.m_worldPos.y + dt; float f = Mathf.Clamp01(worldTextInstance2.m_timer / this.m_textDuration); Color color = worldTextInstance2.m_textField.color; color.a = 1f - Mathf.Pow(f, 3f); worldTextInstance2.m_textField.color = color; Vector3 vector = mainCamera.WorldToScreenPoint(worldTextInstance2.m_worldPos); if (vector.x < 0f || vector.x > (float)Screen.width || vector.y < 0f || vector.y > (float)Screen.height || vector.z < 0f) { worldTextInstance2.m_gui.SetActive(false); } else { worldTextInstance2.m_gui.SetActive(true); worldTextInstance2.m_gui.transform.position = vector; } } if (worldTextInstance != null) { UnityEngine.Object.Destroy(worldTextInstance.m_gui); this.m_worldTexts.Remove(worldTextInstance); } }
public static void DoAreaEffectW(Vector3 pos) { if (WorldofValheimZones.EffectTick <= 0) { WorldofValheimZones.EffectTick = 120; GameObject znet = ZNetScene.instance.GetPrefab("vfx_lootspawn"); GameObject obj = UnityEngine.Object.Instantiate(znet, pos, Quaternion.identity); DamageText.WorldTextInstance worldTextInstance = new DamageText.WorldTextInstance(); worldTextInstance.m_worldPos = pos; worldTextInstance.m_gui = UnityEngine.Object.Instantiate <GameObject>(DamageText.instance.m_worldTextBase, DamageText.instance.transform); worldTextInstance.m_textField = worldTextInstance.m_gui.GetComponent <Text>(); DamageText.instance.m_worldTexts.Add(worldTextInstance); worldTextInstance.m_textField.color = Color.cyan; worldTextInstance.m_textField.fontSize = 24; worldTextInstance.m_textField.text = "WARDED AREA"; worldTextInstance.m_timer = -2f; } }
// Token: 0x060004DA RID: 1242 RVA: 0x00028218 File Offset: 0x00026418 private void AddInworldText(DamageText.TextType type, Vector3 pos, float distance, float dmg, bool mySelf) { DamageText.WorldTextInstance worldTextInstance = new DamageText.WorldTextInstance(); worldTextInstance.m_worldPos = pos; worldTextInstance.m_gui = UnityEngine.Object.Instantiate <GameObject>(this.m_worldTextBase, base.transform); worldTextInstance.m_textField = worldTextInstance.m_gui.GetComponent <Text>(); this.m_worldTexts.Add(worldTextInstance); Color white; if (type == DamageText.TextType.Heal) { white = new Color(0.5f, 1f, 0.5f, 0.7f); } else if (mySelf) { if (dmg == 0f) { white = new Color(0.5f, 0.5f, 0.5f, 1f); } else { white = new Color(1f, 0f, 0f, 1f); } } else { switch (type) { case DamageText.TextType.Normal: white = new Color(1f, 1f, 1f, 1f); goto IL_16C; case DamageText.TextType.Resistant: white = new Color(0.6f, 0.6f, 0.6f, 1f); goto IL_16C; case DamageText.TextType.Weak: white = new Color(1f, 1f, 0f, 1f); goto IL_16C; case DamageText.TextType.Immune: white = new Color(0.6f, 0.6f, 0.6f, 1f); goto IL_16C; case DamageText.TextType.TooHard: white = new Color(0.8f, 0.7f, 0.7f, 1f); goto IL_16C; } white = Color.white; } IL_16C: worldTextInstance.m_textField.color = white; if (distance > this.m_smallFontDistance) { worldTextInstance.m_textField.fontSize = this.m_smallFontSize; } else { worldTextInstance.m_textField.fontSize = this.m_largeFontSize; } string text; switch (type) { case DamageText.TextType.Heal: text = "+" + dmg.ToString("0.#", CultureInfo.InvariantCulture); break; case DamageText.TextType.TooHard: text = Localization.instance.Localize("$msg_toohard"); break; case DamageText.TextType.Blocked: text = Localization.instance.Localize("$msg_blocked: ") + dmg.ToString("0.#", CultureInfo.InvariantCulture); break; default: text = dmg.ToString("0.#", CultureInfo.InvariantCulture); break; } worldTextInstance.m_textField.text = text; worldTextInstance.m_timer = 0f; }