public override WallGenerator GetWallGenerator(WallGenerator wallGenerator) { Random = wallGenerator.Random; if (wallGenerator is Structure structure && structure.Override) { if (structure.PropID.HasValue) { PropID = structure.PropID.Value; } if (structure.LightID.HasValue) { LightID = structure.LightID.Value; } if (structure.Type.HasValue) { Type = structure.Type.Value; } if (structure.Value.HasValue) { Value = structure.Value.Value; } if (structure.Speed.HasValue) { Speed = structure.Speed.Value; } if (structure.Step.HasValue) { Step = structure.Step.Value; } if (structure.Prop.HasValue) { Step = structure.Prop.Value; } if (structure.PropMult.HasValue) { PropMult = structure.PropMult.Value; } if (structure.SpeedMult.HasValue) { SpeedMult = structure.SpeedMult.Value; } if (structure.StepMult.HasValue) { StepMult = structure.StepMult.Value; } if (structure.Direction.HasValue) { Direction = structure.Direction.Value; } if (structure.CounterLock.HasValue) { CounterLock = structure.CounterLock.Value; } if (structure.Reset.HasValue) { Reset = structure.Reset.Value; } } return(base.GetWallGenerator(wallGenerator)); }
public override WallGenerator GetWallGenerator(WallGenerator wallGenerator) { Random = wallGenerator.Random; Structures.ForEach(t => t.GetWallGenerator(wallGenerator)); return(this); }