public static string GetReferenceString(XmlObjectNode referenceObject) { if (referenceObject is XmlLookReference) { return(GetLookReferenceString((referenceObject as XmlLookReference).Look)); } if (referenceObject is XmlSoundReference) { return(GetSoundReferenceString((referenceObject as XmlSoundReference).Sound)); } if (referenceObject is XmlSpriteReference) { return(GetSpriteReferenceString((referenceObject as XmlSpriteReference))); } if (referenceObject is XmlUserVariableReference) { return(GetVariableReferenceString(referenceObject as XmlUserVariableReference)); } if (referenceObject is XmlLoopBeginBrickReference) { var loopBeginBrickRef = referenceObject as XmlLoopBeginBrickReference; if (loopBeginBrickRef.LoopBeginBrick is XmlForeverBrick) { return(GetForeverBrickReferenceString(loopBeginBrickRef.LoopBeginBrick)); } else { return(GetRepeatBrickReferenceString(loopBeginBrickRef.LoopBeginBrick)); } } if (referenceObject is XmlLoopEndBrickReference) { var loopEndBrickRef = referenceObject as XmlLoopEndBrickReference; if (loopEndBrickRef.LoopEndBrick is XmlForeverLoopEndBrick) { return(GetForeverLoopEndBrickReferenceString(loopEndBrickRef.LoopEndBrick)); } else { return(GetRepeatLoopEndBrickReferenceString(loopEndBrickRef.LoopEndBrick)); } } if (referenceObject is XmlIfLogicBeginBrickReference) { return(GetIfLogicBeginBrickReferenceString(referenceObject as XmlIfLogicBeginBrickReference)); } if (referenceObject is XmlIfLogicElseBrickReference) { return(GetIfLogicElseBrickReferenceString(referenceObject as XmlIfLogicElseBrickReference)); } if (referenceObject is XmlIfLogicEndBrickReference) { return(GetIfLogicEndBrickReferenceString(referenceObject as XmlIfLogicEndBrickReference)); } return(""); }
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); }