Esempio n. 1
0
    public static IAttributeModifier GetModifier(AttributModifierType p_modifierType, GameObject p_owner, BaseAttributeParam p_param)
    {
        IAttributeModifier modifierFactor = null;

        switch (p_modifierType)
        {
        case AttributModifierType.Resource:
            modifierFactor = new ResourceModifier();
            break;

        case AttributModifierType.DurationRatio:
            modifierFactor = new DurationRatioModifier();
            break;

        case AttributModifierType.Duration:
            modifierFactor = new DurationModifier();
            break;

        case AttributModifierType.SingleValue:
            modifierFactor = new SingleValueModifier();
            break;

        default:
            Debug.Log("The type " + p_modifierType.ToString() + " is not implemented.");
            return(null);
        }

        modifierFactor.SetAttributeParam(p_param);
        modifierFactor.OnStart(p_owner);

        return(modifierFactor);
    }
Esempio n. 2
0
 public Duration(int multipier, DurationModifier modifier, bool flatValue, int perNumberOfLevels)
 {
     Multipier         = multipier;
     Modifier          = modifier;
     FlatValue         = flatValue;
     PerNumberOfLevels = perNumberOfLevels;
 }
Esempio n. 3
0
        /**********************************************************/

        public static IntervalType createIntervalType(DateTime startUTC, int duration = -1, DurationModifier durationModifier = null)
        {
            IntervalType interval = new IntervalType();

            interval.dtstart          = new dtstart();
            interval.dtstart.datetime = startUTC;

            if (duration != -1)
            {
                interval.duration          = new DurationPropType();
                interval.duration.duration = "PT" + duration.ToString() + durationModifier.Value;
            }

            return(interval);
        }
Esempio n. 4
0
        /**********************************************************/

        public static IntervalType createIntervalType(DateTime startUTC, oadrReportPayloadType reportPayload, int duration = -1, DurationModifier durationModifier = null)
        {
            IntervalType interval = new IntervalType();

            interval.dtstart          = new dtstart();
            interval.dtstart.datetime = startUTC;

            if (duration != -1)
            {
                interval.duration          = new DurationPropType();
                interval.duration.duration = "PT" + duration.ToString() + durationModifier.Value;
            }

            interval.streamPayloadBase    = new StreamPayloadBaseType[1];
            interval.streamPayloadBase[0] = reportPayload;

            return(interval);
        }