Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ParameterContainerExtensions.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 System;
4 using System.Collections;
5 using System.Collections.Generic;
6 using System.IO;
7 using System.Linq;
8 using System.Reflection;
9 using System.Text;
10 using System.Text.RegularExpressions;
11 using SiliconStudio.Core.Mathematics;
12 using SiliconStudio.Paradox.Diffs;
13 using SiliconStudio.Paradox.Effects.Data;
14 using SiliconStudio.Paradox.Engine;
15 using SiliconStudio.Paradox.EntityModel;
16 using SiliconStudio.Paradox.DataModel;
17 using SiliconStudio.Paradox.Effects;
18 using SiliconStudio.Paradox.Games;
19 using SiliconStudio.Core.Extensions;
20 using SiliconStudio.Core.Serialization;
21 using SiliconStudio.Core.Serialization.Assets;
22 using SiliconStudio.Core.Serialization.Contents;
23 using SiliconStudio.Core.Serialization.Serializers;
24 using SiliconStudio.Core.IO;
25 using System.Diagnostics;
26 
27 namespace SiliconStudio.Paradox.EntityModel
28 {
30  {
31  public ParameterCollection DefaultParameters { get; set; }
32  public Dictionary<ParameterKey, FieldInfo> Keys { get; set; }
33  }
34 
36  {
38 
40  {
41  DefaultSceneSerializerSelector = new SerializerSelector()
42  .RegisterProfile("Default");
43  }
44 
45  public static HashSet<Entity> CollectEntityTree(Entity entity)
46  {
47  var entities = new HashSet<Entity>();
48  CollectEntityTreeHelper(entity, entities);
49  return entities;
50  }
51 
52  private static void CollectEntityTreeHelper(Entity entity, HashSet<Entity> entities)
53  {
54  // Already processed
55  if (!entities.Add(entity))
56  return;
57 
58  var transformationComponent = entity.Transformation;
59  if (transformationComponent != null)
60  {
61  foreach (var child in transformationComponent.Children)
62  {
63  CollectEntityTreeHelper(child.Entity, entities);
64  }
65  }
66  }
67  }
68 }
Game entity. It usually aggregates multiple EntityComponent
Definition: Entity.cs:28
SiliconStudio.Paradox.Input.Keys Keys
Serializer context. It holds DataSerializer{T} objects and their factories.
A container to handle a hierarchical collection of effect variables.