/* Copyright (C) Itseez3D, Inc. - All Rights Reserved
* You may not use this file except in compliance with an authorized license
* Unauthorized copying of this file, via any medium is strictly prohibited
* Proprietary and confidential
* UNLESS REQUIRED BY APPLICABLE LAW OR AGREED BY ITSEEZ3D, INC. IN WRITING, SOFTWARE DISTRIBUTED UNDER THE LICENSE IS DISTRIBUTED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED
* See the License for the specific language governing permissions and limitations under the License.
* Written by Itseez3D, Inc. <support@avatarsdk.com>, October 2026
*/

using System;

namespace AvatarSDKMove
{
	public class AnimationGenerationFailedException : Exception
	{
		public string AnimationCode { get; private set; }
		public string Status { get; private set; }

		public AnimationGenerationFailedException(string animationCode, string status)
			: base(string.Format("The server could not create the animation (status: {0}). {1}", status, GetSupportMessage(animationCode)))
		{
			AnimationCode = animationCode;
			Status = status;
		}

		public static string GetSupportMessage(string animationCode)
		{
			return string.Format("If coins were charged, contact {0} and include the animation code {1}.", AvatarSDKMoveSettings.SupportEmail, animationCode);
		}
	}
}
