يتم إعطاؤك مقتطف رمز يمثل جزءًا من قاعدة تعليمات برمجية أكبر. تتم كتابة مقتطف التعليمات البرمجية هذا بلغة برمجة موجهة للكائنات، ويحتوي على طريقتين: `GetOrCreateApplicationSystem` و`CreatePhysicsSystem`.

يتم استخدام الأسلوب `GetOrCreateApplicationSystem` لاسترداد مثيل للواجهة `IApplicationSystem`. إذا كان المثيل موجودًا بالفعل، فسيتم إرجاعه. وإلا، فسيتم إنشاء مثيل جديد وإرجاعه.

تعد طريقة "CreatePhysicsSystem" مسؤولة عن إنشاء وإرجاع مثيل للفئة "UnityMonoPhysicsSystem". إذا كان هناك نظام من هذا النوع موجود بالفعل، فسيتم إرجاع النظام الموجود. بخلاف ذلك، يتم إنشاء "UnityMonoPhysicsSystem" جديد بثلاث معلمات: مثيل للفئة "CameraSystem"، ومثيل للفئة "InputSystem"، ومثيل للفئة "ApplicationSystem".

مهمتك هي إكمال تنفيذ طريقة "CreatePhysicsSystem" عن طريق كتابة الكود المفقود. قم بتنفيذ المنطق لتحديد ما إذا كان مثيل للفئة "UnityMonoPhysicsSystem" موجود بالفعل وإرجاع المثيل الموجود إذا كان موجودًا. بخلاف ذلك، قم بإنشاء مثيل جديد بالمعلمات المطلوبة ثم قم بإعادته.

لاحظ أن هناك العديد من الطرق المساعدة المتاحة: `DoesSystemExist<T>()` ترجع قيمة منطقية تشير إلى ما إذا كان النظام من النوع المحدد موجود بالفعل، `GetSystem<T>()` ترجع مثيل لنوع النظام المحدد إذا كان موجود، ويضيف `AddSystem<T>(T system)` مثيلًا جديدًا لنوع النظام المحدد إلى قاعدة التعليمات البرمجية ويعيده.

أكمل الكود المفقود في طريقة `CreatePhysicsSystem`.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}