コード例 #1
0
        public static AnimationVisualFeedbackDestroyLayerEvent alloc(AnimationVisualFeedback p_animationVisualFeedback, AnimationLayers p_layerID)
        {
            AnimationVisualFeedbackDestroyLayerEvent l_instance = new AnimationVisualFeedbackDestroyLayerEvent();

            l_instance.AnimationVisualFeedback = p_animationVisualFeedback;
            l_instance.LayerID = p_layerID;
            return(l_instance);
        }
コード例 #2
0
        public static AnimationVisualFeedbackPlayAsyncEvent alloc(AnimationVisualFeedback p_animationVisualFeedback,
                                                                  AnimationLayers p_layerID, IAnimationInput p_animationInput)
        {
            AnimationVisualFeedbackPlayAsyncEvent l_instance = new AnimationVisualFeedbackPlayAsyncEvent();

            l_instance.AnimationVisualFeedback = p_animationVisualFeedback;
            l_instance.LayerID        = p_layerID;
            l_instance.AnimationInput = p_animationInput;
            return(l_instance);
        }
コード例 #3
0
        public static void moveToNavigationNode(Entity p_entity, EventQueue p_eventQueue, List <NavigationNode> p_path)
        {
            AnimationVisualFeedback l_animationVisualFeedback = EntityComponent.get_component <AnimationVisualFeedback>(p_entity);

            if (l_animationVisualFeedback != null)
            {
                EventQueue.enqueueEvent(p_eventQueue, AnimationVisualFeedbackPlayAsyncEvent.alloc(l_animationVisualFeedback,
                                                                                                  AnimationLayers.LOCOMOTION, l_animationVisualFeedback.AnimationVisualFeedbackData.GetAnimation(AnimationLookupTag.LOCOMOTION).GetAnimationInput()));
            }

            var l_pathEnumerator = p_path.GetEnumerator();

            while (l_pathEnumerator.MoveNext())
            {
                EventQueue.enqueueEvent(p_eventQueue, NavigationNodeMoveEvent.alloc(p_entity, l_pathEnumerator.Current));
            }

            if (l_animationVisualFeedback != null)
            {
                EventQueue.enqueueEvent(p_eventQueue, AnimationVisualFeedbackDestroyLayerEvent.alloc(l_animationVisualFeedback, AnimationLayers.LOCOMOTION));
            }
        }
コード例 #4
0
        private void onEntityCreated(Entity p_entity)
        {
            AssociatedEntity = p_entity;
            AssociatedEntity.EntityGameWorldInstanceID = new EntityGameWorldInstanceID()
            {
                ID = GetInstanceID()
            };

            AssociatedEntity.EntityGameWorld = EntityGameWorld.build(TransformComponent.alloc());
            TransformComponentSynchronizer.alloc(AssociatedEntity.EntityGameWorld.RootGround);
            EntityModelTransformSynchronizer = TransformSynchronizer.alloc(transform,
                                                                           AssociatedEntity.EntityGameWorld.RootGround.TransformComponentSynchronizer);
            TransformSynchronizerContainer.TransformSynchronizers.Add(EntityModelTransformSynchronizer);

            MyEvent <Entity> .IEventCallback l_onEntityDestroyed = OnEntityDestroyed.build(this);
            MyEvent <Entity> .register(
                ref this.AssociatedEntity.OnEntityDestroyed,
                ref l_onEntityDestroyed);

            // Initializing Entity components
            EntityDefinition.Initialize(
                ref this.EntityDefinition,
                ref this.AssociatedEntity,
                this.RuntimeObject.RuntimeObjectRootComponent);

            NavigationNode l_randomNavigationNode = NavigationGraphAlgorithm.pickRandomNode(NavigationGraphComponentContainer.UniqueNavigationGraphComponent.NavigationGraph);

            EventQueue.enqueueEvent(EventQueueContainer.TurnTimelineQueue, NavigationNodeWarpEntityEvent.alloc(AssociatedEntity, l_randomNavigationNode));

            AnimationVisualFeedback l_animationVisualFeedbackComponent = EntityComponent.get_component <AnimationVisualFeedback>(AssociatedEntity);

            if (l_animationVisualFeedbackComponent != null)
            {
                EventQueue.enqueueEvent(EventQueueContainer.TurnTimelineQueue,
                                        AnimationVisualFeedbackPlayAsyncEvent.alloc(l_animationVisualFeedbackComponent, AnimationLayers.BASE,
                                                                                    l_animationVisualFeedbackComponent.AnimationVisualFeedbackData.GetAnimation(AnimationLookupTag.IDLE).GetAnimationInput()));
            }
        }