Ejemplo n.º 1
0
    public static void RenderBoardTiles(
        EntityManager entityManager,
        Entity boardEntity,
        RenderGameObjects renderGameObjects)
    {
        var tileBuffer = entityManager.GetBuffer <BoardTileEntry>(boardEntity);

        for (int i = 0; i < tileBuffer.Length; i++)
        {
            var boardTile  = tileBuffer[i];
            var tile       = entityManager.GetComponentData <Tile>(boardTile.Entity);
            var renderer   = entityManager.GetComponentObject <ManagedRenderer>(boardTile.Entity);
            var renderTile = renderer.Value.GetComponent <RenderTile>();
            var position   = boardTile.BoardPosition.ToWorldPosition();
            var rotation   = boardTile.CardinalRotation.ToWorldRotation();

            entityManager.SetComponentData(boardTile.Entity, new Translation {
                Value = position
            });
            entityManager.SetComponentData(boardTile.Entity, new Rotation {
                Value = rotation
            });
            renderTile.SetElementalMaterials(renderGameObjects, tile);
            renderer.Value.transform.SetPositionAndRotation(position, rotation);
        }
    }
Ejemplo n.º 2
0
    public static void RenderBoardWizards(
        EntityManager entityManager,
        Entity boardEntity,
        RenderGameObjects renderGameObjects)
    {
        var player1WizardBuffer = entityManager.GetBuffer <BoardPlayer1WizardEntry>(boardEntity);
        var player2WizardBuffer = entityManager.GetBuffer <BoardPlayer2WizardEntry>(boardEntity);

        for (var i = 0; i < player1WizardBuffer.Length; i++)
        {
            var boardWizard  = player1WizardBuffer[i];
            var renderer     = entityManager.GetComponentObject <ManagedRenderer>(boardWizard.Entity);
            var renderWizard = renderer.Value.GetComponent <RenderWizard>();
            var position     = boardWizard.BoardPosition.ToWorldPosition();
            var rotation     = Quaternion.identity;

            entityManager.SetComponentData(boardWizard.Entity, new Translation {
                Value = position
            });
            entityManager.SetComponentData(boardWizard.Entity, new Rotation {
                Value = rotation
            });
            renderWizard.SetMaterialForPlayerIndex(renderGameObjects.Team1Material, renderGameObjects.Team2Material, 0);
            renderWizard.transform.SetPositionAndRotation(position, rotation);
        }

        for (var i = 0; i < player2WizardBuffer.Length; i++)
        {
            var boardWizard  = player2WizardBuffer[i];
            var renderer     = entityManager.GetComponentObject <ManagedRenderer>(boardWizard.Entity);
            var renderWizard = renderer.Value.GetComponent <RenderWizard>();
            var position     = boardWizard.BoardPosition.ToWorldPosition();
            var rotation     = Quaternion.identity;

            entityManager.SetComponentData(boardWizard.Entity, new Translation {
                Value = position
            });
            entityManager.SetComponentData(boardWizard.Entity, new Rotation {
                Value = rotation
            });
            renderWizard.SetMaterialForPlayerIndex(renderGameObjects.Team1Material, renderGameObjects.Team2Material, 1);
            renderWizard.transform.SetPositionAndRotation(position, rotation);
        }
    }
Ejemplo n.º 3
0
    public static void RenderBoardDragons(
        EntityManager entityManager,
        Entity boardEntity,
        RenderGameObjects renderGameObjects)
    {
        var dragonBuffer = entityManager.GetBuffer <BoardDragonEntry>(boardEntity);

        for (var i = 0; i < dragonBuffer.Length; i++)
        {
            var boardDragon = dragonBuffer[i];
            var renderer    = entityManager.GetComponentObject <ManagedRenderer>(boardDragon.Entity);
            var position    = boardDragon.BoardPosition.ToWorldPosition();
            var rotation    = Quaternion.identity;

            entityManager.SetComponentData(boardDragon.Entity, new Translation {
                Value = position
            });
            entityManager.SetComponentData(boardDragon.Entity, new Rotation {
                Value = rotation
            });
            renderer.Value.transform.SetPositionAndRotation(position, rotation);
        }
    }
 public void SetElementalMaterial(RenderGameObjects renderGameObjects, MeshRenderer meshRenderer, in Element element)