// Clone public static BattleTeam Clone(BattleTeam original) { List <Trainer> trainers = new List <Trainer>(); for (int i = 0; i < original.trainers.Count; i++) { trainers.Add(original.trainers[i].Clone()); } BattleTeam cloneTeam = new BattleTeam( teamMode: original.teamMode, trainers: trainers, teamID: original.teamID, setupControl: false ); cloneTeam.bProps = BattleTeamProperties.Clone(original.bProps); return(cloneTeam); }
// Constructor public BattleTeam( TeamMode teamMode = TeamMode.Single, List <Trainer> trainers = null, int teamID = 0, bool setupControl = true) { this.teamMode = teamMode; this.teamID = teamID; this.trainers = new List <Trainer>(); if (trainers != null) { this.trainers.AddRange(trainers); if (setupControl) { SetTeamPos(this.teamID); SetUpTrainerControl(); } } bProps = new BattleTeamProperties(); }
// Clone public static BattleTeamProperties Clone(BattleTeamProperties original) { BattleTeamProperties clone = new BattleTeamProperties(); for (int i = 0; i < original.entryHazards.Count; i++) { clone.entryHazards.Add(EntryHazard.Clone(original.entryHazards[i])); } clone.GMaxWildfireStatus = (original.GMaxWildfireStatus == null) ? null : original.GMaxWildfireStatus.Clone(); for (int i = 0; i < original.lightScreens.Count; i++) { clone.lightScreens.Add(TeamCondition.Clone(original.lightScreens[i])); } for (int i = 0; i < original.matBlocks.Count; i++) { clone.matBlocks.Add(original.matBlocks[i].Clone()); } for (int i = 0; i < original.reflectScreens.Count; i++) { clone.reflectScreens.Add(ReflectScreen.Clone(original.reflectScreens[i])); } for (int i = 0; i < original.safeguards.Count; i++) { clone.safeguards.Add(Safeguard.Clone(original.safeguards[i])); } clone.protectMovesActive = new List <string>(original.protectMovesActive); for (int i = 0; i < original.conditions.Count; i++) { clone.conditions.Add(TeamCondition.Clone(original.conditions[i])); } return(clone); }