public static XmlObjectNode GetReferenceObject(XmlObjectNode xmlObject, string reference)
{
if (reference == null)
return null;
if (xmlObject is XmlLookReference)
return GetLookObject(xmlObject as XmlLookReference, reference);
if (xmlObject is XmlSoundReference)
return GetSoundObject(xmlObject as XmlSoundReference, reference);
if (xmlObject is XmlSpriteReference)
return GetSpriteObject(reference);
if (xmlObject is XmlUserVariableReference)
return GetUserVariableObject(xmlObject as XmlUserVariableReference, reference);
if (xmlObject is XmlLoopBeginBrickReference)
{
if (reference.ToLower().Contains("forever"))
return GetForeverBrickObject(xmlObject as XmlLoopBeginBrickReference, reference);
else
return GetRepeatBrickObject(xmlObject as XmlLoopBeginBrickReference, reference);
}
if (xmlObject is XmlLoopEndBrickReference)
{
if (reference.ToLower().Contains("endless"))
return GetForeverLoopEndBrickObject(xmlObject as XmlLoopEndBrickReference, reference);
else
return GetRepeatLoopEndBrickObject(xmlObject as XmlLoopEndBrickReference, reference);
}
if (xmlObject is XmlIfLogicBeginBrickReference)
return GetIfLogicBeginBrickObject(xmlObject as XmlIfLogicBeginBrickReference, reference);
if (xmlObject is XmlIfLogicElseBrickReference)
return GetIfLogicElseBrickObject(xmlObject as XmlIfLogicElseBrickReference, reference);
if (xmlObject is XmlIfLogicEndBrickReference)
return GetIfLogicEndBrickObject(xmlObject as XmlIfLogicEndBrickReference, reference);
return null;
}