protected override void OnUpdate()
            {
                Entities.ForEach((TextMeshProUGUI c0) => {
                    var entity = GetPrimaryEntity(c0);

                    DstEntityManager.AddComponentData(entity, new BuildTextTag {
                    });
                    DstEntityManager.AddComponentData(entity, new Dimensions   {
                        Value = c0.rectTransform.Int2Size()
                    });
                    DstEntityManager.AddComponentData(entity, new AppliedColor {
                        Value = c0.color
                    });
                    DstEntityManager.AddComponentData(entity, new TextFontID   {
                        Value = c0.font.GetInstanceID()
                    });
                    DstEntityManager.AddComponentData(entity, new TextOptions  {
                        Size      = (ushort)c0.fontSize,
                        Style     = c0.fontStyle,
                        Alignment = c0.alignment.FromTextAnchor()
                    });

                    DstEntityManager.AddComponentObject(entity, c0.font.material);
                    AddTextData(entity, c0.text);
                });
            }
Beispiel #2
0
 protected override void OnUpdate()
 {
     Entities.WithAll <LightConversionOptIn>().ForEach((Light light) =>
     {
         var entity = GetPrimaryEntity(light);
         DstEntityManager.AddComponentObject(entity, light);
     });
 }
Beispiel #3
0
 protected override void OnUpdate()
 {
     Entities.ForEach((Sink sink, ParticleSystem ps, ParticleSystemRenderer psr) =>
     {
         // Every scene needs a Sink, so it can drive the DAG sorting.
         var sinkEntity = GetPrimaryEntity(sink);
         DstEntityManager.AddComponent <DagIsStale>(sinkEntity);
         DstEntityManager.AddComponentObject(sinkEntity, ps);
         DstEntityManager.AddComponentObject(sinkEntity, psr);
     });
 }
Beispiel #4
0
        protected override void OnUpdate()
        {
            if (TextureBin.TryLoadTextureBin("TextureBin", out TextureBin textureBin))
            {
                var binEntity = GetPrimaryEntity(textureBin);

                if (!DstEntityManager.HasComponent <TextureBin>(binEntity))
                {
                    DstEntityManager.AddComponentObject(binEntity, textureBin);
                }
            }
        }
        protected override void OnUpdate()
        {
            Entities.ForEach((Image image) => {
                TextureBin.TryLoadTextureBin("TextureBin", out TextureBin textureBin);

                var texture    = image.sprite != null ? image.sprite.texture : Texture2D.whiteTexture;
                var imageIndex = textureBin.Add(texture);

                var entity   = GetPrimaryEntity(image);
                var material = image.material != null ? image.material : Canvas.GetDefaultCanvasMaterial();
                DstEntityManager.AddComponentObject(entity, material);

                // TODO: Internally this would need a look up table...
                // DstEntityManager.AddSharedComponentData(entity, new MaterialID { Value = material.GetInstanceID() });

                var rectSize = image.rectTransform.Int2Size();

                DstEntityManager.AddComponentData(entity, new TextureKey   {
                    Value = imageIndex
                });
                DstEntityManager.AddComponentData(entity, new AppliedColor {
                    Value = image.color
                });
                DstEntityManager.AddComponentData(entity, new Dimensions   {
                    Value = rectSize
                });

                var spriteTexture = image.sprite;
                var spriteRes     = spriteTexture != null ?
                                    new int2(spriteTexture.texture.width, spriteTexture.texture.height) :
                                    rectSize;

                DstEntityManager.AddComponentData(entity, new DefaultSpriteResolution {
                    Value = spriteRes
                });

                var spriteData = SpriteData.FromSprite(image.sprite);
                DstEntityManager.AddComponentData(entity, spriteData);

                // TODO: Does not handle image slicing
                DstEntityManager.AddBuffer <MeshVertexData>(entity).ResizeUninitialized(4);
                DstEntityManager.AddBuffer <TriangleIndexElement>(entity).ResizeUninitialized(6);
            });
        }
Beispiel #6
0
        public override void OnTargetUpdate()
        {
            CurrentArchetype           = default;
            CurrentKitResource         = default;
            CurrentArchetypeResource   = default;
            CurrentGameGraphicResource = default;

            if (!TryGetComponent(out m_Animation))
            {
                m_Animation = gameObject.AddComponent <UnitVisualAnimation>();
                if (!DstEntityManager.HasComponent(BackendEntity, typeof(UnitVisualAnimation)))
                {
                    DstEntityManager.AddComponentObject(BackendEntity, m_Animation);
                }
            }

            m_Animation.OnBackendSet(this);
            DstEntityManager.AddComponentData(BackendEntity, RuntimeAssetDisable.All);
        }