mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-23 10:05:14 +00:00
make copying use deep copies lol
This commit is contained in:
parent
fb39a7c5fe
commit
e2956f7c29
2 changed files with 31 additions and 25 deletions
|
@ -54,6 +54,12 @@ namespace HeavenStudio
|
||||||
return this.MemberwiseClone();
|
return this.MemberwiseClone();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Entity DeepCopy()
|
||||||
|
{
|
||||||
|
//lol the AI generated this
|
||||||
|
return JsonConvert.DeserializeObject<Entity>(JsonConvert.SerializeObject(this));
|
||||||
|
}
|
||||||
|
|
||||||
public object this[string propertyName]
|
public object this[string propertyName]
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|
|
@ -572,12 +572,6 @@ namespace HeavenStudio.Editor.Track
|
||||||
GameManager.instance.SortEventsList();
|
GameManager.instance.SortEventsList();
|
||||||
|
|
||||||
tempEntity = en;
|
tempEntity = en;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GameManager.instance.Beatmap.entities.Add(entity);
|
|
||||||
GameManager.instance.SortEventsList();
|
|
||||||
}
|
|
||||||
|
|
||||||
// default param value
|
// default param value
|
||||||
var game = EventCaller.instance.GetMinigame(eventName.Split(0));
|
var game = EventCaller.instance.GetMinigame(eventName.Split(0));
|
||||||
|
@ -603,6 +597,12 @@ namespace HeavenStudio.Editor.Track
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GameManager.instance.Beatmap.entities.Add(entity);
|
||||||
|
GameManager.instance.SortEventsList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
eventObjs.Add(eventObj);
|
eventObjs.Add(eventObj);
|
||||||
|
|
||||||
|
@ -613,7 +613,7 @@ namespace HeavenStudio.Editor.Track
|
||||||
|
|
||||||
public TimelineEventObj CopyEventObject(Beatmap.Entity e)
|
public TimelineEventObj CopyEventObject(Beatmap.Entity e)
|
||||||
{
|
{
|
||||||
Beatmap.Entity clone = (Beatmap.Entity) e.Clone();
|
Beatmap.Entity clone = e.DeepCopy();
|
||||||
TimelineEventObj dup = AddEventObject(clone.datamodel, false, new Vector3(clone.beat, -clone.track * Timeline.instance.LayerHeight()), clone, true, RandomID());
|
TimelineEventObj dup = AddEventObject(clone.datamodel, false, new Vector3(clone.beat, -clone.track * Timeline.instance.LayerHeight()), clone, true, RandomID());
|
||||||
|
|
||||||
return dup;
|
return dup;
|
||||||
|
|
Loading…
Reference in a new issue