Example #1
0
 /// <summary>
 /// Adds given script as invoker of "Darken Keys" event
 /// </summary>
 /// <param name="invoker">new invoker of event</param>
 public static void AddDarkenKeysInvoker(OutputKey invoker)
 {
     // add invoker to list and add all listeners to this invoker
     darkenKeysInvokers.Add(invoker);
     foreach (UnityAction listener in darkenKeysListeners)
     {
         invoker.AddDarkenKeyListener(listener);
     }
 }
Example #2
0
        protected virtual StringBuilder GetOutputForType(ITypeInfo typeInfo)
        {
            var info     = BridgeTypes.GetNamespaceFilename(typeInfo, this.Emitter);
            var ns       = info.Item1;
            var fileName = info.Item2;
            var module   = info.Item3;

            StringBuilder output = null;
            OutputKey     key    = new OutputKey(fileName, module, ns);

            if (this.ns != null && (this.ns != ns || this.outputKey != null && !this.outputKey.Equals(key)))
            {
                this.EndBlock();
                this.WriteNewLine();
            }

            this.ns        = ns;
            this.outputKey = key;

            if (this.Outputs.ContainsKey(key))
            {
                output = this.Outputs[key];
            }
            else
            {
                if (this.Emitter.Output != null)
                {
                    this.InsertDependencies(this.Emitter.Output);
                }

                output = new StringBuilder();
                this.Emitter.Output = output;

                if (ns != null)
                {
                    if (module == null || module.Type == ModuleType.UMD)
                    {
                        output.Append("declare ");
                    }

                    output.Append("namespace " + ns + " ");
                    this.BeginBlock();
                }

                this.Outputs.Add(key, output);
                this.Emitter.CurrentDependencies = new List <IPluginDependency>();
            }

            return(output);
        }