private void DisplayState(BattalionStateVisuals visuals)
 {
     if (visuals == null)
     {
         primaryVisual.SetActive(false);
         return;
     }
     primaryVisual.SetActive(true);
     hitpoints.text = GetHPText(visuals.State);
     moral.text     = GetMPText(visuals.State);
     PlaceVisual(visuals);
 }
    private void PlaceVisual(BattalionStateVisuals visuals)
    {
        float xPos    = visuals.State.Position.X;
        float sideVal = visuals.Side == BattleSide.Left ? -1 : 1;

        xPos += .5f;
        xPos *= sideVal;
        float zPos = visuals.State.Position.Y;

        zPos -= zPos > 0 ? .5f : -.5f;
        primaryVisual.transform.localPosition = new Vector3(xPos, zPos, 0);
        mat.SetFloat("_Flip", visuals.Side == BattleSide.Left ? 0 : 1);
    }
 internal void InsertState(BattalionState state, BattleRound battleRound, int index)
 {
     states[index] = new BattalionStateVisuals(state, battleRound);
 }