public void Init(Car car, ICarSettings settings) { if (isInitialized) { return; } this.car = car ?? throw new ArgumentNullException(nameof(car)); this.settings = settings ?? throw new ArgumentNullException(nameof(settings)); body = GetComponent <Rigidbody2D>(); for (int i = 0; i < trickDetectors.Length; ++i) { var detector = trickDetectors[i]; detector.Init(this.car); } for (int i = 0; i < loseConditions.Length; ++i) { var condition = loseConditions[i]; condition.Init(this.car, this.settings); } input = GetComponent <CarInputController>(); input.Init(); isInitialized = true; }
public override void Init(ICarLoseProcessor processor, ICarSettings settings) { this.processor = processor; this.settings = settings; body = GetComponent <Rigidbody2D>(); }
public override void Init(ICarLoseProcessor processor, ICarSettings settings) { this.processor = processor ?? throw new ArgumentNullException(nameof(processor)); }
public abstract void Init(ICarLoseProcessor processor, ICarSettings settings);