static void GenAMessage(Info info) { TextFile tf = new TextFile(null, "// auto gen"); tf.Add("using UnityEngine;"); tf.Add("using UnityEngine.UI;"); tf.AddLine(); TextFile tfNs = tf.Add("namespace jsb").BraceIn(); { TextFile tfC = tfNs.Add("public class {0} : MonoBehaviour", info.className).BraceIn(); { TextFile tfM = tfC.Add("public void {0}", info.signature).BraceIn(); { tfM.Add("JSComponent[] coms = GetComponents<JSComponent>();") .Add("if (coms == null || coms.Length == 0)") .BraceIn() .Add("Destroy(this);") .Add("return;") .BraceOut() .AddLine() .Add("foreach (var com in coms)"); TextFile tfF = tfM.BraceIn(); { tfF.Add("com.RecvMsg({0});", info.argList); } tfF.BraceOut(); } tfM.BraceOut(); } tfC.BraceOut(); } tfNs.BraceOut(); string s = tf.Format(-1); File.WriteAllText(CsDir + "/" + info.className + ".cs", s); }