public OidWrapper(IOid oid) { SurfaceUtils.AssertNotNull(oid, "Oid is null"); this.oid = oid; }
/// <inheritdoc /> public override void Initialize(LayoutElementsContainer layout) { base.Initialize(layout); _isValid = IsValid; if (!_isValid) { return; } // Show all effect parameters grouped by the emitter track name var effect = (ParticleEffect)Values[0]; var groups = layout.Group("Parameters"); groups.Panel.Open(false); var parameters = effect.Parameters; var parametersGroups = parameters.GroupBy(x => x.EmitterIndex); foreach (var parametersGroup in parametersGroups) { var trackName = parametersGroup.First().TrackName; var group = groups.Group(trackName); group.Panel.Open(false); var data = SurfaceUtils.InitGraphParameters(parametersGroup); SurfaceUtils.DisplayGraphParameters(group, data, (instance, parameter, tag) => ((ParticleEffect)instance).GetParameterValue(trackName, parameter.Name), (instance, value, parameter, tag) => ((ParticleEffect)instance).SetParameterValue(trackName, parameter.Name, value), Values, (instance, parameter, tag) => ((ParticleEffectParameter)tag).DefaultValue); } }
public NakedObjectSpecificationWrapper(ITypeSpec spec, INakedObjectsSurface surface, INakedObjectsFramework framework) { SurfaceUtils.AssertNotNull(spec, "Spec is null"); SurfaceUtils.AssertNotNull(surface, "Surface is null"); SurfaceUtils.AssertNotNull(framework, "framework is null"); Surface = surface; this.spec = spec; this.framework = framework; }
public NakedObjectAssociationWrapper(IAssociationSpec assoc, INakedObjectsSurface surface, INakedObjectsFramework framework) { SurfaceUtils.AssertNotNull(assoc, "Assoc is null"); SurfaceUtils.AssertNotNull(framework, "framework is null"); SurfaceUtils.AssertNotNull(surface, "surface is null"); this.assoc = assoc; this.framework = framework; Surface = surface; }
public override void Initialize(LayoutElementsContainer layout) { var window = (ParticleEmitterWindow)Values[0]; var parameters = window.Preview.PreviewActor.Parameters; var data = SurfaceUtils.InitGraphParameters(parameters); SurfaceUtils.DisplayGraphParameters(layout, data, (instance, parameter, tag) => ((ParticleEmitterWindow)instance).Preview.PreviewActor.GetParameterValue(string.Empty, parameter.Name), (instance, value, parameter, tag) => ((ParticleEmitterWindow)instance).Preview.PreviewActor.SetParameterValue(string.Empty, parameter.Name, value), Values); }
private static T MapErrors<T>(Func<T> f) { try { return f(); } catch (NakedObjectsSurfaceException) { throw; } catch (Exception e) { throw SurfaceUtils.Map(e); } }
protected NakedObjectWrapper(INakedObject nakedObject, INakedObjectsSurface surface, INakedObjectsFramework framework) { SurfaceUtils.AssertNotNull(nakedObject, "NakedObject is null"); SurfaceUtils.AssertNotNull(surface, "Surface is null"); SurfaceUtils.AssertNotNull(framework, "framework is null"); this.nakedObject = nakedObject; this.framework = framework; Surface = surface; }
public NakedObjectActionParameterWrapper(IActionParameterSpec nakedObjectActionParameter, INakedObjectsSurface surface, INakedObjectsFramework framework, string overloadedUniqueId) { SurfaceUtils.AssertNotNull(nakedObjectActionParameter, "Action Parameter is null"); SurfaceUtils.AssertNotNull(framework, "framework is null"); SurfaceUtils.AssertNotNull(overloadedUniqueId, "overloadedUniqueId is null"); SurfaceUtils.AssertNotNull(surface, "surface is null"); this.nakedObjectActionParameter = nakedObjectActionParameter; this.framework = framework; this.overloadedUniqueId = overloadedUniqueId; Surface = surface; }
public NakedObjectActionWrapper(IActionSpec action, INakedObjectsSurface surface, INakedObjectsFramework framework, string overloadedUniqueId) { SurfaceUtils.AssertNotNull(action, "Action is null"); SurfaceUtils.AssertNotNull(framework, "framework is null"); SurfaceUtils.AssertNotNull(overloadedUniqueId, "overloadedUniqueId is null"); SurfaceUtils.AssertNotNull(surface, "surface is null"); this.action = action; this.framework = framework; this.overloadedUniqueId = overloadedUniqueId; Surface = surface; }
private Tuple<IActionSpec, string> GetActionInternal(string actionName, INakedObject nakedObject) { if (string.IsNullOrWhiteSpace(actionName)) { throw new BadRequestNOSException(); } IActionSpec[] actions = nakedObject.Spec.GetActionLeafNodes().Where(p => p.IsVisible(nakedObject)).ToArray(); IActionSpec action = actions.SingleOrDefault(p => p.Id == actionName) ?? SurfaceUtils.GetOverloadedAction(actionName, nakedObject.Spec); if (action == null) { throw new ActionResourceNotFoundNOSException(actionName); } return new Tuple<IActionSpec, string>(action, SurfaceUtils.GetOverloadedUId(action, nakedObject.Spec)); }
// // Surfaces & Co // public static Surface JoinWith(this Surface surf, double tolerance, params Surface[] others) { List <Entity> list = new List <Entity>(others.Length + 1); if (surf.Faces.Length != 0 || surf.Points.Count != 0) { list.Add(surf); } list.AddRange(others); surf.CloneFrom(SurfaceUtils.JoinSurfaces2(list, tolerance)); return(surf); }
private Tuple<IActionSpec, ITypeSpec, IActionParameterSpec, string> GetActionParameterTypeInternal(string typeName, string actionName, string parmName) { if (string.IsNullOrWhiteSpace(typeName) || string.IsNullOrWhiteSpace(actionName) || string.IsNullOrWhiteSpace(parmName)) { throw new BadRequestNOSException(); } ITypeSpec spec = GetDomainTypeInternal(typeName); Tuple<IActionSpec, string> actionAndUid = SurfaceUtils.GetActionandUidFromSpec(spec, actionName, typeName); IActionParameterSpec parm = actionAndUid.Item1.Parameters.SingleOrDefault(p => p.Id == parmName); if (parm == null) { throw new TypeActionParameterResourceNotFoundNOSException(parmName, actionName, typeName); } return new Tuple<IActionSpec, ITypeSpec, IActionParameterSpec, string>(actionAndUid.Item1, spec, parm, actionAndUid.Item2); }
private Tuple<ActionContext, ITypeSpec> GetActionTypeInternal(string typeName, string actionName) { if (string.IsNullOrWhiteSpace(typeName) || string.IsNullOrWhiteSpace(actionName)) { throw new BadRequestNOSException(); } ITypeSpec spec = GetDomainTypeInternal(typeName); var actionAndUid = SurfaceUtils.GetActionandUidFromSpec(spec, actionName, typeName); var actionContext = new ActionContext { Action = actionAndUid.Item1, VisibleParameters = FilterParmsForContributedActions(actionAndUid.Item1, spec, actionAndUid.Item2), OverloadedUniqueId = actionAndUid.Item2 }; return new Tuple<ActionContext, ITypeSpec>(actionContext, spec); }
/// <inheritdoc /> public override void Initialize(LayoutElementsContainer layout) { base.Initialize(layout); // Show instanced parameters to view/edit at runtime if (Values.IsSingleObject && Editor.Instance.StateMachine.IsPlayMode) { var group = layout.Group("Parameters"); group.Panel.Open(false); group.Panel.IndexInParent -= 2; var animatedModel = (AnimatedModel)Values[0]; var parameters = animatedModel.Parameters; var data = SurfaceUtils.InitGraphParameters(parameters); SurfaceUtils.DisplayGraphParameters(group, data, (instance, parameter, tag) => ((AnimatedModel)instance).GetParameterValue(parameter.Identifier), (instance, value, parameter, tag) => ((AnimatedModel)instance).SetParameterValue(parameter.Identifier, value), Values); } }
private ObjectContext GetObjectContext(INakedObject nakedObject) { if (nakedObject == null) { return null; } IActionSpec[] actions = nakedObject.Spec.GetActionLeafNodes().Where(p => p.IsVisible(nakedObject)).ToArray(); var objectSpec = nakedObject.Spec as IObjectSpec; IAssociationSpec[] properties = objectSpec == null ? new IAssociationSpec[] { } : objectSpec.Properties.Where(p => p.IsVisible(nakedObject)).ToArray(); return new ObjectContext(nakedObject) { VisibleActions = actions.Select(a => new {action = a, uid = SurfaceUtils.GetOverloadedUId(a, nakedObject.Spec)}).Select(a => new ActionContext { Action = a.action, Target = nakedObject, VisibleParameters = FilterParmsForContributedActions(a.action, nakedObject.Spec, a.uid), OverloadedUniqueId = a.uid }).ToArray(), VisibleProperties = properties.Select(p => new PropertyContext { Property = p, Target = nakedObject }).ToArray() }; }
public VersionWrapper(IVersion version) { SurfaceUtils.AssertNotNull(version, "Version is null"); this.version = version; }
public INakedObjectActionSurface[] GetActionLeafNodes() { var actionsAndUid = SurfaceUtils.GetActionsandUidFromSpec(spec); return(actionsAndUid.Select(a => new NakedObjectActionWrapper(a.Item1, Surface, framework, a.Item2 ?? "")).Cast <INakedObjectActionSurface>().ToArray()); }
/// <inheritdoc /> public override void OnLoaded() { base.OnLoaded(); // Update title and the tooltip var typeName = (string)Values[0]; TooltipText = typeName; var type = TypeUtils.GetType(typeName); if (type) { GetBox(0).CurrentType = type; Title = (_isUnpacking ? "Unpack " : "Pack ") + type.Name; TooltipText = SurfaceUtils.GetVisualScriptTypeDescription(type); } else { Title = (_isUnpacking ? "Unpack " : "Pack ") + typeName; } // Update the boxes int fieldsLength; if (type) { // Generate boxes for all structure fields var fields = type.GetMembers(BindingFlags.Public | BindingFlags.Instance).Where(x => x.IsField).ToArray(); fieldsLength = fields.Length; for (var i = 0; i < fieldsLength; i++) { var field = fields[i]; MakeBox(i + 1, field.Name, field.ValueType); } // Remove any not used boxes for (int i = fieldsLength + 2; i < 32; i++) { var box = GetBox(i); if (box == null) { break; } RemoveElement(box); } // Save structure layout if (fieldsLength == 0) { // Skip allocations if structure is empty Values[1] = Utils.GetEmptyArray <byte>(); } else { using (var stream = new MemoryStream()) using (var writer = new BinaryWriter(stream)) { writer.Write((byte)1); // Version writer.Write(fieldsLength); // Fields count for (int i = 0; i < fieldsLength; i++) { Utilities.Utils.WriteStr(writer, fields[i].Name, 11); // Field type Utilities.VariantUtils.WriteVariantType(writer, fields[i].ValueType); // Field type } Values[1] = stream.ToArray(); } } } else if (Values[1] is byte[] data && data.Length != 0 && data[0] == 1) { // Recreate node boxes based on the saved structure layout to preserve the connections using (var stream = new MemoryStream(data)) using (var reader = new BinaryReader(stream)) { reader.ReadByte(); // Version fieldsLength = reader.ReadInt32(); // Fields count for (int i = 0; i < fieldsLength; i++) { var fieldName = Utilities.Utils.ReadStr(reader, 11); // Field name var fieldType = Utilities.VariantUtils.ReadVariantType(reader); // Field type MakeBox(i + 1, fieldName, new ScriptType(fieldType)); } } } // Update node size ResizeAuto(); }
public ConsentWrapper(IConsent consent) { SurfaceUtils.AssertNotNull(consent, "Consent is null"); this.consent = consent; }