public object BuildObject(ObjectBuilders.IObjectBuilderBuildObjectContext <int> context, int address, ObjectBuilders.IBuiltDependencies <int> dependencies) { if (!dependencies.TryGetDependency("data", out var dataDependency)) { throw new InvalidOperationException(); } return(dataDependency.BuiltObject); }
public ObjectBuilders.IDependencySet <int> GetAdditionalDependencies(ObjectBuilders.IObjectBuilderGetAdditionalDependenciesContext <int> context, int address, ObjectBuilders.IBuiltDependencies <int> dependencies) { return(null); }
public ObjectBuilders.IDependencySet <int> GetAdditionalDependencies(ObjectBuilders.IObjectBuilderGetAdditionalDependenciesContext <int> context, int address, ObjectBuilders.IBuiltDependencies <int> dependencies) { if (!dependencies.TryGetDependency("redirect", out var redirectDependency)) { throw new InvalidOperationException("No redirect value found"); } var newAddress = (int)redirectDependency.BuiltObject; var additionalDependencies = new ObjectBuilders.DependencySet <int>(); additionalDependencies.AddDependency("data", newAddress); additionalDependencies.RecursiveMode = false; return(additionalDependencies); }
public object BuildObject(ObjectBuilders.IObjectBuilderBuildObjectContext <int> context, int address, ObjectBuilders.IBuiltDependencies <int> dependencies) { if (!dependencies.TryGetDependency("data", out var dependency)) { throw new InvalidOperationException("No dependency called data found"); } var d = (string)dependency.BuiltObject; return("Wrapped " + d); }