Exemple #1
0
        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);
        }