void CopyValue(EntityBase from, EntityBase to) { foreach (var item in from.m_compDict) { if (item.Value is MomentComponentBase) { MomentComponentBase mc = (MomentComponentBase)item.Value; MomentComponentBase copy = mc.DeepCopy(); to.ChangeComp(item.Key, copy); } } }
void CopyValue(ComponentBase[] from, EntityBase to) { for (int i = 0; i < from.Length; i++) { if (from[i] is MomentComponentBase) { MomentComponentBase mc = (MomentComponentBase)from[i]; //MomentComponentBase copy = mc.DeepCopy(); to.ChangeComp(mc.GetType().ToString(), mc); } } }
public void SaveComp(EntityBase entity) { foreach (var item in entity.CompDict) { if (item.Value is MomentComponentBase) { MomentComponentBase mc = (MomentComponentBase)item.Value; compList.Add(mc.DeepCopy()); } else { compList.Add(item.Value); } } }
public void SaveComp(EntityBase entity) { compList = new List <ComponentBase>(); foreach (var item in entity.comps) { if (item == null) { continue; } if (item is MomentComponentBase) { MomentComponentBase mc = (MomentComponentBase)item; compList.Add(mc.DeepCopy()); } else { compList.Add(item); } } }