Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
IUIElementUpdate.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using SiliconStudio.Core.Mathematics;
4 using SiliconStudio.Paradox.Games;
5 
6 namespace SiliconStudio.Paradox.UI
7 {
8  /// <summary>
9  /// Interface for the update of the UIElements.
10  /// </summary>
11  public interface IUIElementUpdate
12  {
13  /// <summary>
14  /// Update the time-based state of the <see cref="UIElement"/>.
15  /// </summary>
16  /// <param name="time">The current time of the game</param>
17  void Update(GameTime time);
18 
19  /// <summary>
20  /// Recursively update the world matrix of the <see cref="UIElement"/>.
21  /// </summary>
22  /// <param name="parentWorldMatrix">The world matrix of the parent.</param>
23  /// <param name="parentWorldChanged">Boolean indicating if the world matrix provided by the parent changed</param>
24  void UpdateWorldMatrix(ref Matrix parentWorldMatrix, bool parentWorldChanged);
25 
26  /// <summary>
27  /// Recursively update the <see cref="UIElement.RenderOpacity"/>, <see cref="UIElement.DepthBias"/> and <see cref="UIElement.IsHierarchyEnabled"/> state fields of the <see cref="UIElement"/>.
28  /// </summary>
29  /// <param name="elementBias">The depth bias value for the current element computed by the parent</param>
30  void UpdateElementState(int elementBias);
31 
32  /// <summary>
33  /// Recursively update the reference to the <see cref="UISystem"/> managing the <see cref="UIElement"/>.
34  /// </summary>
35  /// <param name="system"></param>
36  void UpdateUISystemReference(UISystem system);
37  }
38 }
Interface for the update of the UIElements.
Current timing used for variable-step (real time) or fixed-step (game time) games.
Definition: GameTime.cs:31
Interface of the UI system.
Definition: UISystem.cs:20
Represents a 4x4 mathematical matrix.
Definition: Matrix.cs:47