using UnityEngine;
using System;
using System.Collections.Generic;

namespace mgaia.Utils
{
    internal static class Constants
    {
        internal const string ASSET_DIRECTORY_SEPARATOR = @"\";
        internal const string RESOURCE_DIRECTORY_SEPARATOR = "/";
        internal const string FILE_NAME_WITH_EXTENSION_FORMAT = "{0}.{1}";
        internal const string DOT = ".";
        internal const string ASSETS_FOLDER_NAME = "Assets";
        internal const string RESOURCES_FOLDER_NAME = "Resources";
        internal const string CLEAR_ARRAY_TITLE = "Clear array";
        internal const string ARRAY_PROPERTY_PATH = "Array";
        internal const float PAUSED_TIME_SCALE = 0f;
        internal const float NORMAL_TIME_SCALE = 1f;
        internal const string SCHEDULER_OBJECT_NAME = "GameScheduler";
        internal const string NEXT_FRAME_SCHEDULER_NAME = "NextFrameScheduler";
        internal const string MENU_MANAGER_OBJECT_NAME = "MenuManager";
        internal const uint INFINITY_NUMBER_OF_TIMES_TO_CALL = 0;
        internal const string ASSET_FILE_NAME_FORMAT = "asset";
        internal const int LEFT_MOUSE_BUTTON_INDEX = 0;
        internal const string LOCALE_FOLDER_NAME = "Locale";
		internal const string UNITY_3D_PACKAGE_IDENTIFIER = "com.unity3d.player.UnityPlayer";
		internal const string FACEBOOK_PROFILE_INTENT_FORMAT = "fb://profile/{0}";
		internal const string FACEBOOK_PROFILE_URL_FORMAT = "http://www.facebook.com/{0}";
		internal const string FACEBOOK_PACKAGE_IDENTIFIER = "com.facebook.katana";
        internal const string TWITTER_PROFILE_INTENT_FORMAT = "twitter://user?screen_name={0}";
        internal const string TWITTER_PROFILE_URL_FORMAT = "https://twitter.com/#!/{0}";
        internal const string TWITTER_PACKAGE_IDENTIFIER = "com.twitter.android";
        internal const string AMAZON_IDENTIFIER_STRING = "AMAZON";

        internal const string LOWER_CASE_NORMAL_CHARACTERS = "abcdefghijklmnopqrstuvwxyz";
        internal const string UPPER_CASE_NORMAL_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        internal const string LOWER_CASE_ACCENTUADED_CHARACTERS = "äàáâãçéêíöóôõüúñ";
        internal const string UPPER_CASE_ACCENTUADED_CHARACTERS = "ÄÀÁÂÃÇÉÊÍÖÓÔÕÜÚ";
        internal const string SPACE_ACCENTS_SYMBOLS_AND_MARKS = " !'(),-.:;?¿¡";
        internal const string NUMBERS = "0123456789";
        internal const string CHARACTERS_STRING =
            LOWER_CASE_NORMAL_CHARACTERS +
            UPPER_CASE_NORMAL_CHARACTERS +
            LOWER_CASE_ACCENTUADED_CHARACTERS +
            UPPER_CASE_ACCENTUADED_CHARACTERS +
            SPACE_ACCENTS_SYMBOLS_AND_MARKS +
            NUMBERS;

        private static char _sNewLine;
        private static char _sBlank;

        internal static char NewLine
        {
            get { return _sNewLine; }
        }

        internal static char Blank
        {
            get { return _sBlank; }
        }

        static Constants()
        {
            char.TryParse("\n", out _sNewLine);
            char.TryParse(" ", out _sBlank);
        }
    }
}