示例#1
0
    public override IEnumerator DecrementHealth(int Decrementby, Skills.ElementalType elementalType, float TimeTillInitalDamage, float TimeTillHoveringUiElement, float TimeTillDamage)
    {
        string AttackingElement  = elementalType.ToString();
        string ElementalWeakness = elementalWeakness.ToString();
        string ElementalStrength = elementalStrength.ToString();

        int   ArgumentReference = Decrementby;
        float ConvertToFloat    = ArgumentReference / 1.5f;
        int   ConvertToInt      = Mathf.CeilToInt(ConvertToFloat);

        Decrementby = ConvertToInt;

        PressTurnManager.PressTurnReactions PressturnReaction = PressTurnManager.PressTurnReactions.Normal;


        if (AttackingElement.Equals(ElementalWeakness))
        {
            Decrementby += Decrementby / 4;
            yield return(new WaitForSeconds(TimeTillHoveringUiElement));

            FloatingUiElementsController.CreateFloatingText(Decrementby.ToString(), m_SpawnObject.transform, FloatingUiElementsController.UiElementType.Weak, m_IsUi);
            PressturnReaction = PressTurnManager.PressTurnReactions.Weak;
        }
        if (AttackingElement.Equals(ElementalStrength))
        {
            Decrementby -= Decrementby / 4;
            yield return(new WaitForSeconds(TimeTillHoveringUiElement));

            FloatingUiElementsController.CreateFloatingText(Decrementby.ToString(), m_SpawnObject.transform, FloatingUiElementsController.UiElementType.Strong, m_IsUi);
            PressturnReaction = PressTurnManager.PressTurnReactions.Strong;
        }


        yield return(new WaitForSeconds(TimeTillInitalDamage));

        FloatingUiElementsController.CreateFloatingText(Decrementby.ToString(), m_SpawnObject.transform, FloatingUiElementsController.UiElementType.Text, m_IsUi);
        m_CurrentHealth -= Decrementby;
        DeathCheck();
        // m_Status.RedTest();
        yield return(new WaitForSeconds(3.0f));

        TacticsManager.instance.CharacterSkillFinished(this, PressturnReaction);
    }
示例#2
0
    public void CharacterSkillFinished(Creatures aCreature, PressTurnManager.PressTurnReactions aPressTurnReaction)
    {
        m_PressTurnReactions.Add(aPressTurnReaction);
        for (int i = 0; i < m_CreaturesInSkill.Count; i++)
        {
            if (m_CreaturesInSkill[i] == aCreature)
            {
                m_CreaturesInSkill.RemoveAt(i);
                break;
            }
        }

        if (m_CreaturesInSkill.Count == 0)
        {
            PressTurnManager.instance.ProcessTurn(m_PressTurnReactions);

            for (int i = m_PressTurnReactions.Count - 1; i > -1; i--)
            {
                m_PressTurnReactions.RemoveAt(i);
            }
        }
    }