public override Component clone() { Behavior beh = new Behavior(); beh.script = script; return beh; }
internal bool createInstance(GameObject obj) { if (script != null) { Type type = Assembly.GetEntryAssembly().GetType(script.name); try { instance = (Behavior)Activator.CreateInstance(type); instance.gameObject = obj; IEnumerable<FieldInfo> fl = type.GetFields(); foreach (FieldInfo field in fl) { if (fields.ContainsKey(field.Name)) { field.SetValue(instance, fields[field.Name]); } } return true; } catch { return false; } } else return false; }