public override void OnStart()
 {
     base.OnStart();
     _tuple = new ComponentTuple <ScriptComponent>(_entityManager);
     _tuple.Group.SubscribeOnEntityAdded(this);
     _tuple.Group.SubscribeOnEntityRemoved(this);
 }
Beispiel #2
0
 private IEnumerable <PPtr <Component> > FetchComponents()
 {
     if (File.Layout.GameObject.IsComponentTuple)
     {
         return(ComponentTuple.Select(t => t.Item2));
     }
     else
     {
         return(Component.Select(t => t.Component));
     }
 }
Beispiel #3
0
        public override IEnumerable <PPtr <Object> > FetchDependencies(DependencyContext context)
        {
            foreach (PPtr <Object> asset in base.FetchDependencies(context))
            {
                yield return(asset);
            }

            GameObjectLayout layout = context.Layout.GameObject;

            if (layout.IsComponentTuple)
            {
                foreach (PPtr <Object> asset in context.FetchDependencies(ComponentTuple.Select(t => t.Item2), layout.ComponentName))
                {
                    yield return(asset);
                }
            }
            else
            {
                foreach (PPtr <Object> asset in context.FetchDependencies(Component, layout.ComponentName))
                {
                    yield return(asset);
                }
            }
        }
Beispiel #4
0
 public override void OnStart()
 {
     base.OnStart();
     _tuple = new ComponentTuple <IABehaviourComponent, ControllerComponent, PositionComponent>(_entityManager);
 }
 public override void OnStart()
 {
     base.OnStart();
     _tuple = new ComponentTuple <PositionComponent, ViewComponent, MovementPhysicsComponent, JumpComponent>(_entityManager);
     _tuple.Group.SubscribeOnEntityAdded(this);
 }
 public override void OnStart()
 {
     base.OnStart();
     _tuple = new ComponentTuple <ControllerComponent, JumpComponent, PositionComponent, DelegatePhysicsComponent>(_entityManager);
 }
 public override void OnStart()
 {
     base.OnStart();
     _tuple = new ComponentTuple <DelegatePhysicsComponent, LimitVelocityComponent>(_entityManager);
 }
Beispiel #8
0
        protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
            YAMLMappingNode  node   = base.ExportYAMLRoot(container);
            GameObjectLayout layout = container.ExportLayout.GameObject;

            node.AddSerializedVersion(layout.Version);
            if (layout.IsComponentTuple)
            {
                node.Add(layout.ComponentName, ComponentTuple.ExportYAML(container, (t) => (int)t));
            }
            else
            {
                node.Add(layout.ComponentName, Component.ExportYAML(container));
            }

            if (layout.IsActiveFirst)
            {
                node.Add(layout.IsActiveName, IsActive);
            }

            node.Add(layout.LayerName, Layer);
            if (layout.IsNameFirst)
            {
                node.Add(layout.NameName, Name);
            }
            if (layout.HasTag)
            {
                node.Add(layout.TagName, Tag);
            }
            else
            {
                node.Add(layout.TagStringName, TagString);
            }

            if (layout.HasIcon && layout.IsIconFirst)
            {
                node.Add(layout.IconName, Icon.ExportYAML(container));
            }
            if (layout.HasNavMeshLayer)
            {
                node.Add(layout.NavMeshLayerName, NavMeshLayer);
                node.Add(layout.StaticEditorFlagsName, StaticEditorFlags);
            }
            if (!layout.IsNameFirst)
            {
                node.Add(layout.NameName, Name);
            }
            if (!layout.IsActiveFirst)
            {
                node.Add(layout.IsActiveName, IsActive);
            }
            if (layout.HasIsStatic)
            {
                node.Add(layout.IsStaticName, IsStatic);
            }
            if (layout.HasIcon && !layout.IsIconFirst)
            {
                node.Add(layout.IconName, Icon.ExportYAML(container));
            }
            return(node);
        }
Beispiel #9
0
        public override void Write(AssetWriter writer)
        {
            base.Write(writer);

            GameObjectLayout layout = writer.Layout.GameObject;

            if (layout.IsComponentTuple)
            {
                ComponentTuple.Write(writer, (t) => (int)t);
            }
            else
            {
                Component.Write(writer);
            }

            if (layout.IsActiveFirst)
            {
                writer.Write(IsActive);
            }
            writer.Write(Layer);
            if (layout.IsNameFirst)
            {
                writer.Write(Name);
            }

            if (layout.HasTag)
            {
                writer.Write(Tag);
            }
#if UNIVERSAL
            else
            {
                writer.Write(TagString);
            }
            if (layout.HasIcon && layout.IsIconFirst)
            {
                Icon.Write(writer);
            }
            if (layout.HasNavMeshLayer)
            {
                writer.Write(NavMeshLayer);
                writer.Write(StaticEditorFlags);
            }
#endif
            if (!layout.IsNameFirst)
            {
                writer.Write(Name);
            }
            if (!layout.IsActiveFirst)
            {
                writer.Write(IsActive);
            }


#if UNIVERSAL
            if (layout.HasIsStatic)
            {
                writer.Write(IsStatic);
            }
            if (layout.HasIcon && !layout.IsIconFirst)
            {
                Icon.Write(writer);
            }
#endif
        }
Beispiel #10
0
 public override void OnStart()
 {
     base.OnStart();
     _tuple = new ComponentTuple <TargetingComponent, PositionComponent>(_entityManager);
 }
Beispiel #11
0
 public override void OnStart()
 {
     base.OnStart();
     tuple = new ComponentTuple <InputComponent, ControllerComponent>(_entityManager);
 }
 public override void OnStart()
 {
     base.OnStart();
     _tuple = new ComponentTuple <ControllerComponent, MovementPhysicsComponent>(_entityManager);
 }