unity怎么引入命名空间_Unity将默认命名空间添加到脚本模板?

I got a question. I just found Unitys Script template for C# Scripts.

And to get the Script name you write #SCRIPTNAME# so it looks like this:

using UnityEngine;

using System.Collections;

public class #SCRIPTNAME# : MonoBehaviour

{

void Start ()

{

}

void Update ()

{

}

}

Than it would create the script with the right name, but is there somthing like #FOLDERNAME# So I can put it in the right namespace dirrectly when creating the script?

解决方案

There is no built-in template variables like #FOLDERNAME#.

According to this post, there are only 3 magic variables.

"#NAME#"

"#SCRIPTNAME#"

"#SCRIPTNAME_LOWER#"

But you can always hook into the creation process of a script and append the namespace yourself using AssetModificationProcessor.

Here is an example that adds some custom data to the created script.

//Assets/Editor/KeywordReplace.cs

using UnityEngine;

using UnityEditor;

using System.Collections;

public class KeywordReplace : UnityEditor.AssetModificationProcessor

{

public static void OnWillCreateAsset ( string path )

{

path = path.Replace( ".meta", "" );

int index = path.LastIndexOf( "." );

string file = path.Substring( index );

if ( file != ".cs" && file != ".js" && file != ".boo" ) return;

index = Application.dataPath.LastIndexOf( "Assets" );

path = Application.dataPath.Substring( 0, index ) + path;

file = System.IO.File.ReadAllText( path );

file = file.Replace( "#CREATIONDATE#", System.DateTime.Now + "" );

file = file.Replace( "#PROJECTNAME#", PlayerSettings.productName );

file = file.Replace( "#SMARTDEVELOPERS#", PlayerSettings.companyName );

System.IO.File.WriteAllText( path, file );

AssetDatabase.Refresh();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值