public override void SetInitialState()
{
m_Current = new DesignState(this, GetEmptyFoundation());
// explicitly unused in StaticHousing
m_Design = null;
m_Backup = null;
//init the other two design states just so they don't crash the base's serilization
MultiComponentList y = new MultiComponentList(m_Current.Components);
MultiComponentList x = new MultiComponentList(StaticHouseHelper.GetComponents(m_HouseBlueprintID));
//merge x into y.
//first, remove all in y
for (int i = y.List.Length - 1; i >= 0; i--)
{
y.Remove(y.List[i].m_ItemID, y.List[i].m_OffsetX, y.List[i].m_OffsetY, y.List[i].m_OffsetZ);
}
//then add all the ones we want to the list
for (int i = 0; i < x.List.Length; ++i)
{
y.Add(x.List[i].m_ItemID, x.List[i].m_OffsetX, x.List[i].m_OffsetY, x.List[i].m_OffsetZ,true);
}
m_Current.Components = y;
return;
}