public static void Rotate90(CardModel cardModel)
        {
            if (cardModel == null || (cardModel.IsOnline && !cardModel.hasAuthority))
            {
                return;
            }

            cardModel.transform.rotation *= Quaternion.Euler(0, 0, -90);
            if (cardModel.IsOnline)
            {
                cardModel.CmdUpdateRotation(cardModel.transform.rotation);
            }
        }
        public static void ResetRotation(CardModel cardModel)
        {
            if (cardModel == null || (cardModel.IsOnline && !cardModel.hasAuthority))
            {
                return;
            }

            cardModel.transform.rotation = Quaternion.identity;
            if (cardModel.IsOnline)
            {
                cardModel.CmdUpdateRotation(cardModel.transform.rotation);
            }
        }
        public static void ToggleRotation90(CardModel cardModel)
        {
            if (cardModel == null || (cardModel.IsOnline && !cardModel.hasAuthority))
            {
                return;
            }

            bool isVertical = cardModel.transform.rotation.Equals(Quaternion.identity);

            cardModel.transform.rotation = isVertical ? Quaternion.AngleAxis(90, Vector3.back) : Quaternion.identity;
            if (cardModel.IsOnline)
            {
                cardModel.CmdUpdateRotation(cardModel.transform.rotation);
            }
        }