本文整理汇总了C#中FlatRedBall.Glue.SaveClasses.NamedObjectSave.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# NamedObjectSave.Clone方法的具体用法?C# NamedObjectSave.Clone怎么用?C# NamedObjectSave.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FlatRedBall.Glue.SaveClasses.NamedObjectSave
的用法示例。
在下文中一共展示了NamedObjectSave.Clone方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DragDropNosIntoElement
private static bool DragDropNosIntoElement(NamedObjectSave movingNos, IElement elementMovingInto)
{
bool succeeded = true;
// moving to another element, so let's copy
NamedObjectSave clonedNos = movingNos.Clone();
UpdateNosAfterDragDrop(clonedNos, elementMovingInto);
elementMovingInto.NamedObjects.Add(clonedNos);
var referenceCheck = ProjectManager.VerifyReferenceGraph(elementMovingInto);
if (referenceCheck == ProjectManager.CheckResult.Failed)
{
succeeded = false;
// VerifyReferenceGraph (currently) shows a popup so we don't have to here
//MessageBox.Show("This movement would result in a circular reference");
elementMovingInto.NamedObjects.Remove(clonedNos);
}
if (succeeded)
{
// If an object which was on a Layer
// is moved into another Element, then
// the cloned object probably shouldn't
// be on a layer. Not sure if we want to
// see if there is a Layer with the same-name
// but we maybe shouldn't assume that they mean
// the same thing.
clonedNos.LayerOn = null;
BaseElementTreeNode treeNodeForElementMovedInto = GlueState.Self.Find.ElementTreeNode(elementMovingInto);
treeNodeForElementMovedInto.UpdateReferencedTreeNodes();
CodeGeneratorIElement.GenerateElementDerivedAndReferenced(elementMovingInto);
MessageBox.Show("Copied\n" + movingNos + "\n\nto\n" + clonedNos);
}
return succeeded;
}
示例2: AddSetByDerivedNos
private static void AddSetByDerivedNos(INamedObjectContainer namedObjectContainer,
NamedObjectSave namedObjectSetByDerived, bool instantiatedByBase)
{
NamedObjectSave existingNamedObject = null;
foreach (NamedObjectSave namedObjectInDerived in namedObjectContainer.NamedObjects)
{
if (namedObjectInDerived.InstanceName == namedObjectSetByDerived.InstanceName)
{
existingNamedObject = namedObjectInDerived;
break;
}
}
if (existingNamedObject != null)
{
existingNamedObject.DefinedByBase = true;
existingNamedObject.InstantiatedByBase = instantiatedByBase;
}
else
{
NamedObjectSave namedObjectSave = namedObjectSetByDerived.Clone();
namedObjectSave.SetDefinedByBaseRecursively(true);
namedObjectSave.SetInstantiatedByBaseRecursively(instantiatedByBase);
// This can't be set by derived because an object it inherits from has that already set
namedObjectSave.SetSetByDerivedRecursively(false);
namedObjectContainer.NamedObjects.Add(namedObjectSave);
}
}