using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; class CollectMissionCondition : MissionCondition { public CollectMissionCondition() { Type = MissionTypeEnum.Collect; } public CollectMissionCondition(MissionCondition missionCondition) { Type = MissionTypeEnum.Collect; // Convert base type Subject on specified sub-class (with own functions) RequiredElements.Clear(); foreach (RequiredSubject requiredSubject in missionCondition.RequiredElements) { RequiredElements.Add(new CollectRequiredSubject(requiredSubject)); } } }