Ejemplo n.º 1
0
    /// <summary>
    /// Creates mutator that is meant to last limited amount of time, represents Flat bonus
    /// with it's value decreasing linearly over set time
    /// </summary>
    /// <param name="val"></param>
    /// <param name="time"></param>
    /// <returns></returns>
    public static StatMutator TimeElapsedMutatorValueDecrease(float val, float time)
    {
        StatMutator result = new StatMutator(val, time);

        result.SetBehaviour(MutatorBehaviour.ValueDecreasing);

        return(result);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Example: Actor is poisoned by poison that is meant to last 3 seconds and take
    /// 8 HP from it in total.
    /// </summary>
    /// <param name="val"></param>
    /// <param name="time"></param>
    /// <returns></returns>
    public static StatMutator TimeElapsedMutatorValuePerTime(float val, float time)
    {
        StatMutator result = new StatMutator(val / time, time);

        result.SetBehaviour(MutatorBehaviour.ValuePerSecond);

        return(result);
    }
Ejemplo n.º 3
0
    public static StatMutator TimeElapsedMutatorMultiplicator(float val, float time)
    {
        StatMutator result = new StatMutator(val, time);

        result.SetType(MutatorType.Multiplicator);

        return(result);
    }
Ejemplo n.º 4
0
    /// <summary>
    /// Creates Constant mutator representing Flat bonus with value distributed per each second
    /// </summary>
    /// <param name="val"></param>
    /// <returns></returns>
    public static StatMutator ConstantMutatorFlatValuePerSecond(float val)
    {
        StatMutator result = new StatMutator(val, true);

        result.SetBehaviour(MutatorBehaviour.ValuePerSecond);

        return(result);
    }
Ejemplo n.º 5
0
    /// <summary>
    /// Creates Constant mutator representing Multiplicator bonus
    /// </summary>
    /// <param name="val"></param>
    /// <returns></returns>
    public static StatMutator ConstantMutatorMultiplicator(float val)
    {
        StatMutator result = new StatMutator(val, true);

        result.SetType(MutatorType.Multiplicator);

        return(result);
    }
Ejemplo n.º 6
0
    /// <summary>
    /// Creates Immidiate mutator representing Multiplicator bonus
    /// </summary>
    /// <param name="val"></param>
    /// <returns></returns>
    public static StatMutator ImmidiateMutatorMultiplicator(float val)
    {
        StatMutator result = new StatMutator(val, false);

        result.SetType(MutatorType.Multiplicator);

        return(result);
    }
Ejemplo n.º 7
0
    public void AddMutator(ActorStatsDeclaration stat, StatMutator mut)
    {
        if (!statMutators.ContainsKey(stat))
        {
            statMutators.Add(stat, new StatMutatorBus(stat));
        }

        statMutators[stat].InsertMutator(mut);
    }
Ejemplo n.º 8
0
    public void AddMutator(ActorStatsDeclaration stat, StatMutator mutator)
    {
        Debug.Log("Dodaje mutator");

        if (!StatMutators.ContainsKey(stat))
        {
            StatMutators.Add(stat, new StatMutatorBus(stat));
        }

        StatMutators[stat].InsertMutator(mutator);
    }
Ejemplo n.º 9
0
 public void InsertMutator(StatMutator mutator)
 {
     Mutators.Add(mutator);
 }