public GameObject_Save(GameObject GO) { name = GO.name; id = GO.GetInstanceID(); transform = new Transform_Save(GO.transform); var Components_go = GO.GetComponents <MonoBehaviour>(); foreach (var Component in Components_go) { if (Component is ISavable) { var C = Activator.CreateInstance(Component.GetType()); (Component as ISavable).GetModel().CopyData((C as ISavable).GetModel()); Components.Add((C as ISavable).GetModel()); } } }
public override bool Equals(object obj) { Transform_Save In = (Transform_Save)obj; if (In == null) { return(false); } var Fields = GetType().GetFields(); foreach (FieldInfo F in Fields) { if (!F.GetValue(this).Equals(F.GetValue(In))) { return(false); } } return(true); }