Пример #1
0
    public SubEvent(SubEvent sEvent)
    {
        label              = sEvent.label;
        occuringMethod     = sEvent.occuringMethod;
        chance             = new DynamicValue(sEvent.chance);
        Duration           = sEvent.Duration;
        StartingCondition  = new EventConditionGroup(sEvent.StartingCondition);
        ContinualCondition = new EventConditionGroup(sEvent.ContinualCondition);
        FamilyCondition    = new FamilyConditionGroup(sEvent.FamilyCondition);

        startingMessage = new string[sEvent.startingMessage.Length];
        for (int i = 0; i < startingMessage.Length; i++)
        {
            startingMessage[i] = sEvent.startingMessage[i];
        }

        endingMessage = new string[sEvent.endingMessage.Length];
        for (int i = 0; i < endingMessage.Length; i++)
        {
            endingMessage[i] = sEvent.endingMessage[i];
        }

        modifers = new GameValueModifer[sEvent.modifers.Length];
        for (int i = 0; i < modifers.Length; i++)
        {
            modifers[i] = sEvent.modifers[i];
        }
    }
Пример #2
0
 public FamilyConditionGroup(FamilyConditionGroup cond)
 {
     foreach (var c in cond.conditions)
     {
         conditions.Add((FamilyCondition)c.Clone());
     }
     operators.AddRange(cond.operators);
 }
Пример #3
0
    public GameEvent(GameEvent gEvent)
    {
        name = gEvent.name;
        ID   = gEvent.ID;
        useSubEventMessages        = gEvent.useSubEventMessages;
        scenario                   = gEvent.scenario;
        oddsOfOccuring             = new DynamicValue(gEvent.oddsOfOccuring);
        StartingCondition          = new EventConditionGroup(gEvent.StartingCondition);
        ContinualCondition         = new EventConditionGroup(gEvent.ContinualCondition);
        FamilyCondition            = new FamilyConditionGroup(gEvent.FamilyCondition);
        MaxOccurencePerPlaythrough = new DynamicValue(gEvent.MaxOccurencePerPlaythrough);
        Occurence                  = gEvent.Occurence;
        Duration                   = gEvent.Duration;

        startingMessage = new string[gEvent.startingMessage.Length];
        for (int i = 0; i < startingMessage.Length; i++)
        {
            startingMessage[i] = gEvent.startingMessage[i];
        }

        endingMessage = new string[gEvent.endingMessage.Length];
        for (int i = 0; i < endingMessage.Length; i++)
        {
            endingMessage[i] = gEvent.endingMessage[i];
        }

        modifers = new GameValueModifer[gEvent.modifers.Length];
        for (int i = 0; i < modifers.Length; i++)
        {
            modifers[i] = new GameValueModifer(gEvent.modifers[i]);
        }

        subEvents = new SubEvent[gEvent.subEvents.Length];
        for (int i = 0; i < subEvents.Length; i++)
        {
            subEvents[i] = new SubEvent(gEvent.subEvents[i]);
        }
    }