Pokemon3D.Entities.System.Components.ModelEntityComponent.SetTexture C# (CSharp) Method

SetTexture() public method

public SetTexture ( int index ) : void
index int
return void
        public void SetTexture(int index)
        {
            if (index >= _regions.Count) return;

            var region = _regions[index];
            _drawableElement.Material.DiffuseTexture = region.Texture;
            if (region.Rectangle.HasValue)
            {
                var rectangle = region.Rectangle.Value;
                _drawableElement.Material.TexcoordOffset = region.Texture.GetTexcoordsFromPixelCoords(rectangle.X, rectangle.Y);
                _drawableElement.Material.TexcoordScale = region.Texture.GetTexcoordsFromPixelCoords(rectangle.Width, rectangle.Height);
            }
            else
            {
                _drawableElement.Material.TexcoordOffset = Vector2.Zero;
                _drawableElement.Material.TexcoordScale = Vector2.One;
            }
        }

Usage Example

 private void OnUpdateAnimationFrame(int textureIndex)
 {
     _modelComponent = _modelComponent ?? ReferringEntity.GetComponent<ModelEntityComponent>();
     if (_modelComponent != null && textureIndex < _modelComponent.Regions.Count)
     {
         _modelComponent.SetTexture(textureIndex);
     }
 }
All Usage Examples Of Pokemon3D.Entities.System.Components.ModelEntityComponent::SetTexture