예제 #1
0
 public override Component clone()
 {
     Behavior beh = new Behavior();
     beh.script = script;
     return beh;
 }
예제 #2
0
        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;
        }