/// <summary> /// Initializes a new instance of the <see cref="EntityComponentEventArgs"/> struct. /// </summary> /// <param name="entity">The entity.</param> /// <param name="componentKey">The component key.</param> /// <param name="previousComponent">The previous component.</param> /// <param name="newComponent">The new component.</param> public EntityComponentEventArgs(Entity entity, PropertyKey componentKey, EntityComponent previousComponent, EntityComponent newComponent) { Entity = entity; ComponentKey = componentKey; PreviousComponent = previousComponent; NewComponent = newComponent; }
private static void OnAbsolutePositionChanged(object propertyOwner, PropertyKey<Vector3> propertyKey, Vector3 propertyOldValue) { var element = (UIElement)propertyOwner; element.DependencyProperties.Set(useAbsolutionPositionPropertyKey, true); InvalidateCanvasMeasure(propertyOwner, propertyKey, propertyOldValue); }
private static void InvalidateParentGridMeasure(object propertyowner, PropertyKey<int> propertykey, int propertyoldvalue) { var element = (UIElement)propertyowner; var parentGridBase = element.Parent as GridBase; parentGridBase?.InvalidateMeasure(); }
protected static void InvalidateCanvasMeasure(object propertyOwner, PropertyKey<Vector3> propertyKey, Vector3 propertyOldValue) { var element = (UIElement)propertyOwner; var parentCanvas = element.Parent as Canvas; if (parentCanvas != null) parentCanvas.InvalidateMeasure(); }
public static string ComputePropertyKeyName(ITagTypeResolver tagResolver, PropertyKey propertyKey) { var className = tagResolver.TagFromType(propertyKey.OwnerType); var sb = new StringBuilder(className.Length + 1 + propertyKey.Name.Length); sb.Append(className, 1, className.Length - 1); // Ignore initial '!' sb.Append('.'); sb.Append(propertyKey.Name); return sb.ToString(); }
private static void InvalidateTrackBackground(object propertyowner, PropertyKey<UIImage> propertykey, UIImage propertyoldvalue) { var slider = (Slider)propertyowner; slider.InvalidateMeasure(); if (propertyoldvalue != null) propertyoldvalue.IdealSizeChanged -= slider.OnIdealSizeChanged; if(slider.TrackBackgroundImage != null) slider.TrackBackgroundImage.IdealSizeChanged += slider.OnIdealSizeChanged; }
private static void InvalidateTrackBackground(object propertyowner, PropertyKey<ISpriteProvider> propertykey, ISpriteProvider propertyoldvalue) { var slider = (Slider)propertyowner; slider.InvalidateMeasure(); if (propertyoldvalue != null) propertyoldvalue.GetSprite().SizeChanged -= slider.OnSizeChanged; if(slider.TrackBackgroundImage != null) slider.TrackBackgroundImage.GetSprite().SizeChanged += slider.OnSizeChanged; }
private static void ContentInvalidationCallback(object propertyOwner, PropertyKey<UIElement> propertyKey, UIElement oldContent) { var presenter = (ContentPresenter)propertyOwner; if(oldContent == presenter.Content) return; if (oldContent != null) SetVisualParent(oldContent, null); if (presenter.Content != null) SetVisualParent(presenter.Content, presenter); presenter.InvalidateMeasure(); }
private static void InvalidateFont(object propertyOwner, PropertyKey propertyKey, object propertyOldValue) { var element = (TextBlock)propertyOwner; element.InvalidateMeasure(); }
private static void RepeatTextInvalidationCallback(object propertyOwner, PropertyKey<bool> propertyKey, bool propertyOldValue) { var scrollingText = (ScrollingText)propertyOwner; scrollingText.ResetDisplayingText(); }
private static void InvalidateCharacterNumber(object propertyOwner, PropertyKey<uint> propertyKey, uint propertyOldValue) { var element = (UIElement)propertyOwner; element.InvalidateMeasure(); }
private static void OnToggleImageInvalidated(object propertyOwner, PropertyKey propertyKey, object propertyOldValue) { var toggle = (ToggleButton)propertyOwner; toggle.OnToggleImageInvalidated(); }
public EntityComponentReference(EntityComponent entityComponent) { this.entity = new EntityReference { Id = entityComponent.Entity.Id }; this.component = entityComponent.GetDefaultKey(); this.value = entityComponent; }
public EntityComponentReference(EntityReference entity, PropertyKey component) { this.entity = entity; this.component = component; this.value = null; }
private static void OnAspectImageInvalidated(object propertyOwner, PropertyKey<Sprite> propertyKey, Sprite propertyOldValue) { var button = (Button)propertyOwner; button.OnAspectImageInvalidated(); }
protected EntityProcessor(PropertyKey[] requiredKeys) { UpdateProfilingKey = new ProfilingKey(GameProfilingKeys.GameUpdate, this.GetType().Name); DrawProfilingKey = new ProfilingKey(GameProfilingKeys.GameDraw, this.GetType().Name); this.requiredKeys = requiredKeys; }
/// <summary> /// Pushes a tag to a component and restore it after using it. See remarks for usage. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="component">The component.</param> /// <param name="key">The key.</param> /// <param name="value">The value.</param> /// <returns>PropertyTagRestore<T>.</returns> /// <remarks> /// This method is used to set save a property value from <see cref="ComponentBase.Tags"/>, set a new value /// and restore it after. The returned object must be disposed once the original value must be restored. /// </remarks> public static PropertyTagRestore <T> PushTagAndRestore <T>([NotNull] this ComponentBase component, [NotNull] PropertyKey <T> key, T value) { // TODO: Not fully satisfied with the name and the extension point (on ComponentBase). We need to review this a bit more var restorer = new PropertyTagRestore <T>(component, key); component.Tags.Set(key, value); return(restorer); }
public EntityComponentPropertyAccessor(PropertyKey propertyKey) { this.propertyKey = propertyKey; }
public abstract void Invalidate(object propertyOwner, PropertyKey propertyKey, object propertyOldValue);
private static void TickFrequencyInvalidated(object propertyowner, PropertyKey<float> propertykey, float propertyoldvalue) { var slider = (Slider)propertyowner; if (slider.TickFrequency < 1) slider.TickFrequency = 1; slider.Value = slider.value; // snap to tick if enabled }
private static void InvalidateMinLines(object propertyOwner, PropertyKey<int> propertyKey, int propertyOldValue) { var editText = (EditText)propertyOwner; editText.OnMinLinesChanged(); }
private static void InvalidateIsReadOnly(object propertyOwner, PropertyKey<bool> propertykey, bool propertyoldvalue) { var editText = (EditText)propertyOwner; editText.OnIsReadOnlyChanged(); }
private static void InvalidateFont(object propertyOwner, PropertyKey<SpriteFont> propertyKey, SpriteFont propertyOldValue) { var element = (UIElement)propertyOwner; element.InvalidateMeasure(); }
private static void InvalidationCallback(object propertyOwner, PropertyKey<Orientation> propertyKey, Orientation propertyOldValue) { var element = (UIElement)propertyOwner; element.InvalidateMeasure(); }
private static void ValidateExtremum(object propertyowner, PropertyKey<float> propertykey, float propertyoldvalue) { var slider = (Slider)propertyowner; if (slider.Maximum < slider.Minimum) { slider.DependencyProperties.Set(propertykey, propertyoldvalue); // ReSharper disable once NotResolvedInText throw new ArgumentOutOfRangeException("Maximum should be greater or equal than Minimum."); } }