Exemplo n.º 1
0
        /// <summary>
        /// Override of <see cref="Unity.Entities.ComponentSystem.OnUpdate()"/>.
        /// Checks bullet entities who are in summon phase and updates there states.
        /// <para>Only used internally.</para>
        /// </summary>
        protected override void OnUpdate()
        {
            EntityManager manager = World.Active.EntityManager;

            Entities.WithAll <UDEBulletMovements, UDEBulletSummonPhase>().ForEach((Entity entity, ref UDEBulletMovements movement) =>
            {
                if (movement.IsSummoning)
                {
                    UDEBulletECS bullet = manager.GetComponentObject <UDEBulletECS>(entity);
                    if (bullet.halo == null)
                    {
                        movement.IsSummoning = false;
                        manager.RemoveComponent <UDEBulletSummonPhase>(entity);
                        return;
                    }
                    else
                    {
                        if (movement.Time > movement.SummonTime)
                        {
                            movement.Time           = 0;
                            bullet.halo.enabled     = false;
                            bullet.renderer.enabled = true;
                            bullet.collider.enabled = true;
                            movement.IsSummoning    = false;
                            manager.RemoveComponent <UDEBulletSummonPhase>(entity);
                            return;
                        }
                    }
                }
            });
        }
Exemplo n.º 2
0
        protected virtual void OnEnable()
        {
            targetBullet = (UDEBulletECS)target;

            originCharacter   = serializedObject.FindProperty("originCharacter");
            originShotPattern = serializedObject.FindProperty("originShotPattern");
            damage            = serializedObject.FindProperty("damage");

            summonTime = serializedObject.FindProperty("summonTime");
        }