public void PrepareAndExecute(Delegate PrepareCallback, Delegate UserCallback) { String LMethodName = getText(); Admin.GetServerMethodParameters((TDBXReader MetaDatas) => { parameters = new List <DSRESTParameter>(); bool Cicla = true; bool IsEqual = false; while (MetaDatas.next()) { if (Cicla && IsEqual) { break; } if (LMethodName.Equals(MetaDatas.getValue("MethodAlias").GetAsString())) { IsEqual = true; Cicla = false; DSRESTParameter p = new DSRESTParameter( MetaDatas.getValue("Name").GetAsString(), //param.Name, MetaDatas.getValue("DBXParameterDirection").GetAsInt32(), //param.Direction, MetaDatas.getValue("DBXType").GetAsInt32(), //param.DBXType, MetaDatas.getValue("ParameterTypeName").GetAsString()); //param.TypeName); parameters.Add(p); } else { Cicla = true; } } PrepareCallback.DynamicInvoke(); Connection.execute(this, Admin, UserCallback); }); }
public override void Save(SaveContext saveContext) { base.Save(saveContext); var utility = saveContext.Utility; saveContext.WriteObjectListPointerPlaceholder(Meshes); // Materials saveContext.WriteDICTPointerPlaceholder(ModelMaterials); // Shapes saveContext.WriteObjectListPointerPlaceholder(Shapes); // Mesh Node Visibilities saveContext.WriteObjectListPointerPlaceholder(MeshNodeVisibilities); utility.Write(Flags); utility.Write((uint)FaceCulling); utility.Write(LayerId); // Load a Skeleton if this model has one if (HasSkeleton) { saveContext.WritePointerPlaceholder(Skeleton); } ///////////////////////////// // Begin saving dependent data // Save Lists saveContext.SaveAndMarkReference(Meshes); saveContext.SaveAndMarkReference(Shapes); saveContext.SaveAndMarkReference(MeshNodeVisibilities); // I'm not SURE this is where this goes (no test data at the moment I'm writing this) but all lists seem to follow here // Save DICT headers saveContext.SaveAndMarkReference(MetaDatas); saveContext.SaveAndMarkReference(AnimGroup); saveContext.SaveAndMarkReference(ModelMaterials); // Now for other interior data... MetaDatas?.SaveEntries(saveContext); AnimGroup?.SaveEntries(saveContext); Meshes.SaveList(saveContext); ModelMaterials?.SaveEntries(saveContext); Shapes.SaveList(saveContext); MeshNodeVisibilities.SaveList(saveContext); if (HasSkeleton) { saveContext.SaveAndMarkReference(Skeleton); } }