示例#1
0
    // 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;
     }
 }
示例#3
0
    // 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;
    }