আপনি আপনার ইউনিটি ইনস্টলেশন ফোল্ডারে স্বয়ংক্রিয়ভাবে কোড উত্পন্ন করার জন্য স্ক্রিপ্ট টেম্পলেটগুলি সন্ধান করতে পারেন। আমি "ইউনিটি / সম্পাদক / ডেটা / রিসোর্স / স্ক্রিপ্টটেম্প্লেটস" এর অধীন টেম্পলেটগুলি পাই , অন্য সংস্থাগুলি এটি "ইউনিটি / সম্পাদক / ডেটা / সংস্থানসমূহ" এর অধীনে খুঁজে পেয়েছে ।
জেনেরিক ইউনিটিস্ক্রিপ্ট এবং সি # টেমপ্লেটগুলি যথাক্রমে "82-Javascript-NewBehaviourScript.js.txt" এবং "81-C # স্ক্রিপ্ট-NewBehaviourScript.cs.txt" ফাইল হিসাবে চিহ্নিত করা হয়। Ityক্য অটো স্ক্রিপ্ট উত্পন্ন করার উপায়টি পরিবর্তন করতে আপনি সরাসরি এই ফাইলগুলি সম্পাদনা করতে পারেন।
আপনি অতিরিক্ত টেম্পলেটগুলিও অন্তর্ভুক্ত করতে পারেন, যা আপনি যখন "প্রকল্প" উইন্ডো থেকে "তৈরি" নির্বাচন করবেন তখন উপস্থিত হবে । টেমপ্লেট না প্রদর্শিত অনন্য সংখ্যায়ন প্রয়োজন, এবং মেনু অনুক্রমের, যেখানে "__" একটি সাবমেনু উল্লেখ করে তা নির্ধারণ করতে প্রাথমিক স্ট্রিং ব্যবহার করুন। উদাহরণস্বরূপ, "৮১-সি # স্ক্রিপ্ট__এডিটর স্ক্রিপ্ট-নিউবিহাইওরস্ক্রিপ্ট.সিএসটিএক্স" নামে একটি ফাইল থাকা আপনাকে এই টেমপ্লেটটি ব্যবহার করে "সম্পাদক স্ক্রিপ্ট" তৈরির উপ বিকল্প সহ একটি অতিরিক্ত " সি # স্ক্রিপ্ট" মেনু দেবে ।
মূল টেম্পলেটগুলির নাম পরিবর্তন করবেন না ; এগুলি ইঞ্জিন দ্বারা আরও সরাসরি ব্যবহৃত হয়। উদাহরণস্বরূপ, "81-C # স্ক্রিপ্ট-নিউবিহাইওরস্ক্রিপ্ট। সিএসটিএক্সটি" এর নতুন নামকরণ আপনাকে সরাসরি পরিদর্শকের মাধ্যমে নতুন সি # স্ক্রিপ্টগুলি উপাদান হিসাবে যুক্ত করা থেকে বিরত করবে।
নীচে আমার নিজস্ব উদাহরণ রয়েছে, যদিও এটি এমন নির্দিষ্ট অনুশীলনগুলি প্রদর্শন করে যা আমি সবচেয়ে বেশি পছন্দ করি। উদাহরণস্বরূপ, আমি লক্ষ্য বর্গ হিসাবে একই ফাইলটিতে আমার কাস্টম সম্পাদক স্ক্রিপ্ট পছন্দ করতে পছন্দ করি, তাই আমি #if UNITY_EDITOR .. #endif
এডিটরটি ফোল্ডারে জেনেরিক "বিল্ড ইন কমপাইল" এডিটর ফোল্ডারে রাখার পরিবর্তে এটিকে আবদ্ধ করি ।
কাস্টম নেমস্পেসের প্রসঙ্গ সরবরাহ করা এমনকি সম্ভব কিনা তা আমি নিশ্চিত নই; আমি কেবল "NAMESPACE" ব্যবহার করি, কারণ এটি সাধারণভাবে অন্তর্নির্মিত "সন্ধান করুন .. সমস্ত স্থান রাখুন" ফাংশনটি ব্যবহার করে আমাকে সঠিক নামস্থান পোস্ট-ক্রিয়েশন সরবরাহ করতে দেয়।
টেমপ্লেট:
/* Created by Gnemlock */
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace NAMESPACE
{
public class #SCRIPTNAME# : MonoBehaviour
{
/// <summary>This method will be called at the start of each frame where this
/// instance of <see cref="NAMESPACE.#SCRIPTNAME#"/> is enabled.</summary>
void Update ()
{
#NOTRIM#
}
}
}
namespace NAMESPACE.UTILITY
{
#if UNITY_EDITOR
[CustomEditor(typeof(#SCRIPTNAME#))] public class #SCRIPTNAME#Editor : Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector();
#SCRIPTNAME# s#SCRIPTNAME# = target as #SCRIPTNAME#;
}
}
#endif
}
আউটপুট:
/* Created by Gnemlock */
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace MyNamespace
{
public class UpdatedClass : MonoBehaviour
{
/// <summary>This method will be called at the start of each frame where this
/// instance of <see cref="MyNamespace.UpdatedClass"/> is enabled.</summary>
void Update ()
{
}
}
}
namespace MyNamespace.UTILITY
{
#if UNITY_EDITOR
[CustomEditor(typeof(UpdatedClass))] public class UpdatedClassEditor : Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector();
UpdatedClass sUpdatedClass = target as UpdatedClass;
}
}
#endif
}