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]; } }
public FamilyConditionGroup(FamilyConditionGroup cond) { foreach (var c in cond.conditions) { conditions.Add((FamilyCondition)c.Clone()); } operators.AddRange(cond.operators); }
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]); } }