Khoatv: update localization

parent 2beec70b
fileFormatVersion: 2
guid: 9fa130cb2d25a644cbb5d6d9154f87fc
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e8b53981984e36a44b69e98aeef13ac5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ff7619a3930a08940871ad5fe5e05b8e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: c5f929f43d0b2be469ba2e25feb577d8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: bb0b755e26db104499d69d891d1808c1
folderAsset: yes
timeCreated: 1471377850
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641258, b: 0.5748172, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 0
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringMode: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &13319336
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 13319338}
- component: {fileID: 13319337}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &13319337
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 13319336}
m_Enabled: 1
serializedVersion: 8
m_Type: 1
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &13319338
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 13319336}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &619329258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 619329260}
- component: {fileID: 619329259}
m_Layer: 0
m_Name: Console Example
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &619329259
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 619329258}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2f0769cae9d5e9043894b61c30b62f2d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &619329260
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 619329258}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1022568277
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1022568280}
- component: {fileID: 1022568279}
- component: {fileID: 1022568278}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1022568278
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1022568277}
m_Enabled: 1
--- !u!20 &1022568279
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1022568277}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.23713954, g: 0.5436139, b: 0.6886792, a: 0}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1022568280
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1022568277}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1256226303
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4832275356553110, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4832275356553110, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4832275356553110, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4832275356553110, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4832275356553110, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4832275356553110, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4832275356553110, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4832275356553110, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: cee21f0e68bcb2c4598a8ea73c378a10, type: 3}
fileFormatVersion: 2
guid: 6f7d5cf559ffa604aa967a5c58dd3a3e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
namespace GoogleSheetsForUnity
{
[DisallowMultipleComponent]
public class ConsoleExample : MonoBehaviour
{
public struct LogMsg
{
public string logString;
public string stackTrace;
public string logType;
public string logNumber;
public string sessionId;
}
public const string TABLE_NAME = "ConsoleLog";
public enum TABLE_HEADERS { logNumber, logType, logString, stackTrace, sessionId }
private List<LogMsg> _logMsgQueue;
private bool _processing;
private float _interval;
private int _logCounter;
private static string sessionUuid;
private void OnEnable()
{
// We dont want the asset to write logs on Unity Console, that would create a loop.
Drive.debugMode = false;
Application.logMessageReceivedThreaded += AddToQueue;
}
private void OnDisable()
{
Drive.debugMode = true;
Application.logMessageReceivedThreaded -= AddToQueue;
}
private void Start()
{
_logMsgQueue = new List<LogMsg>();
_processing = false;
_interval = 0.05f;
_logCounter = 1;
if (string.IsNullOrEmpty(sessionUuid))
sessionUuid = System.Guid.NewGuid().ToString().Substring(0, 8); // Let's use a cutdown version of the uuid
}
private void OnGUI()
{
GUILayout.BeginArea(new Rect(10, 10, 600, 1000));
GUILayout.BeginHorizontal();
GUILayout.Space(10f);
GUILayout.BeginVertical();
GUILayout.Label("This example will send all Unity Console Output to a worksheet on the spreadsheet defined at the DriveConnection prefab." +
"The Logs are not expected to arrive in order, but they are sent with a number so the worksheet can be sorted by that index to read them properly." +
"However, have in mind that the number resets each time the scene is played." +
"\n\nNote that Google Sheets For Unity operations are not reported on Unity console on this example, to prevent a loop.", GUILayout.MaxWidth(600f));
if (GUILayout.Button("1) Create Log Table", GUILayout.MinHeight(20f), GUILayout.MaxWidth(200f)))
{
CreateConsoleLogTable();
}
if (GUILayout.Button("2) Send Test Logs", GUILayout.MinHeight(20f), GUILayout.MaxWidth(200f)))
{
TestConsoleMessages();
}
GUILayout.EndVertical();
GUILayout.EndHorizontal();
GUILayout.EndArea();
}
public void CreateConsoleLogTable()
{
var logFields = Enum.GetNames(typeof(TABLE_HEADERS));
Drive.CreateTable(logFields, TABLE_NAME);
}
public void TestConsoleMessages()
{
Debug.LogFormat("------------ Sending Tests Logs. Session uid: {0}. Date: {1}. ------------", sessionUuid, DateTime.Now);
Debug.Log("Log Test");
Debug.LogAssertion("Assertion Test");
Debug.LogError("Error Test");
Debug.LogWarning("Warning Test");
print("Print Test");
try
{
int byZero = 0;
int a = 4 / byZero;
Debug.Log(a);
}
catch (System.Exception e)
{
Debug.LogException(e);
}
Debug.Log("------------ Tests Logs Finished ------------");
}
// Avoid flooding the web service. Sets a small pause before
// firing next call (See 'internal' field member).
private void AddToQueue(string logString, string stackTrace, LogType logType)
{
LogMsg msg = new LogMsg
{
logString = logString,
stackTrace = stackTrace,
logType = logType.ToString(),
logNumber = _logCounter.ToString(),
sessionId = sessionUuid
};
_logCounter++;
_logMsgQueue.Add(msg);
if (!_processing)
StartCoroutine(ProcessQueue());
}
private IEnumerator ProcessQueue()
{
_processing = true;
while (_logMsgQueue.Count > 0)
{
string jsonLog = JsonUtility.ToJson(_logMsgQueue[0]);
Drive.CreateObject(jsonLog, TABLE_NAME);
_logMsgQueue.RemoveAt(0);
yield return new WaitForSeconds(_interval);
}
_processing = false;
}
}
}
fileFormatVersion: 2
guid: 2f0769cae9d5e9043894b61c30b62f2d
timeCreated: 1461082077
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 366c429f6efa3544896dbb8e8285e89e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a188cc99072bf204fb747c38f28d2d60
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 176e37287adab5b4c80a5f9bfc603a4a, type: 3}
m_Name: LocalizationData
m_EditorClassIdentifier:
missingTranslation: Translation not found for that key.
missingKey: Key not found in the localization data.
localizationTableName: Localization
localizationData:
- key: MAINMENU_KEY
english: Main Menu
spanish: Menu Principal
- key: PLAY_BTN_KEY
english: Play
spanish: Jugar
- key: OPTIONS_BTN_KEY
english: Options
spanish: Opciones
- key: EXIT_BTN_KEY
english: Exit Game
spanish: Salir
- key: LANG_ENGLISH_BTN_KEY
english: English
spanish: "Ingl\xE9s"
- key: LANG_SPANISH_BTN_KEY
english: Spanish
spanish: "Espa\xF1ol"
fileFormatVersion: 2
guid: 5741c1d17c0c09d4295c9fdb57daa823
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using UnityEngine;
namespace GoogleSheetsForUnity
{
/// <summary>
/// Example of Unity Editor use for updating a local data storage (based on a ScriptableObject).
/// This class represents each text element on the game to be translated. Select the LocalizationData
/// asset, go to the inspector, click on the gear icon, and select an option from the menu as needed:
///
/// * "Create Drive Localization Table"
/// * "Upload Localization Table"
/// * "Download Localization Table"
///
/// </summary>
[Serializable]
public class Localization
{
public string key;
public string english;
public string spanish;
}
// List of available languages.
public enum Languages
{
english = 0,
spanish = 1,
}
//[CreateAssetMenu(fileName = "LocalizationData", menuName = "Google Sheets For Unity/Localization Data Example Asset")]
public class LocalizationDataSO : ScriptableObject
{
public string missingTranslation = "Translation not found for that key.";
public string missingKey = "Key not found in the localization data.";
public string localizationTableName = "Localization";
public List<Localization> localizationData;
// Overwrites local translation data with the table obtained from the cloud.
[ContextMenu("Download Localization Table")]
private void RetrieveCloudData()
{
// Suscribe for catching cloud responses.
Drive.responseCallback += HandleDriveResponse;
// Make the query.
Drive.GetTable(localizationTableName, false);
}
// Creates a new localization table on the cloud.
[ContextMenu("Create Drive Localization Table")]
private void CreateTable()
{
// Suscribe to Drive event to get the Drive response.
Drive.responseCallback += HandleDriveResponse;
string[] tableHeaders = new string[] { "key", "english", "spanish" };
Drive.CreateTable(tableHeaders, localizationTableName, false);
}
[ContextMenu("Upload Localization Table")]
private void AddAllKeysToTable()
{
// Suscribe to Drive event to get the Drive response.
Drive.responseCallback += HandleDriveResponse;
string jsonData = JsonHelper.ToJson(localizationData.ToArray());
Drive.CreateObjects(jsonData, localizationTableName, false);
}
// Processes the data received from the cloud.
private void HandleDriveResponse(Drive.DataContainer dataContainer)
{
if (dataContainer.objType != localizationTableName)
return;
// First check the type of answer.
if (dataContainer.QueryType == Drive.QueryType.getTable)
{
string rawJSon = dataContainer.payload;
Debug.Log("Data from Google Drive received.");
// Parse from json to the desired object type.
Localization[] localization = JsonHelper.ArrayFromJson<Localization>(rawJSon);
localizationData = new List<Localization>(localization);
}
if (dataContainer.QueryType != Drive.QueryType.createTable || dataContainer.QueryType != Drive.QueryType.createObjects)
{
Debug.Log(dataContainer.msg);
}
Drive.responseCallback -= HandleDriveResponse;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 176e37287adab5b4c80a5f9bfc603a4a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 790fde5aaa491ff4c9fa5c37c36d282d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using UnityEngine.Events;
namespace GoogleSheetsForUnity
{
/*
Localization Example. Simple implementation of a localization system using
Spreadsheets as support for game translation data. The advantage of having
the localization data available directly in a Google Drive Spreadsheet are
big: data entry, review, distribution, collaboration, etc.
*/
public class LocalizationManager : MonoBehaviour
{
public LocalizationDataSO localizationDataSO;
private Languages _currentLanguage = Languages.english; // Default Language.
public Languages CurrentLanguage { get { return _currentLanguage; } }
// Callback for when the language is changed.
public static UnityAction OnLanguageSet;
#region Simple Singleton
private static LocalizationManager _instance;
public static LocalizationManager Instance
{
get
{
if (_instance == null)
{
var go = new GameObject("LocalizationManager");
_instance = go.AddComponent<LocalizationManager>();
}
return _instance;
}
}
private void Awake()
{
if (_instance != null && _instance != this)
Destroy(gameObject);
_instance = this;
}
#endregion
public void SetCurrentLanguage(Languages language)
{
_currentLanguage = language;
if (OnLanguageSet != null)
OnLanguageSet();
}
public void SetCurrentLanguage(string languageCode)
{
if (languageCode == "EN")
SetCurrentLanguage(Languages.english);
if (languageCode == "ES")
SetCurrentLanguage(Languages.spanish);
}
public string GetLocalizedValue(string key)
{
Localization localization = localizationDataSO.localizationData.Find((loc) => loc.key == key);
if (localization == null)
return localizationDataSO.missingKey;
switch (_currentLanguage)
{
case Languages.english:
return localization.english;
case Languages.spanish:
return localization.spanish;
default:
return localizationDataSO.missingTranslation;
}
}
}
}
fileFormatVersion: 2
guid: be6e285a14a3dee4fb18819ff590340e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using UnityEngine.UI;
namespace GoogleSheetsForUnity
{
public class LocalizedText : MonoBehaviour
{
public string key;
public Localization localization;
private void OnEnable()
{
LocalizationManager.OnLanguageSet += LocalizeText;
}
private void OnDisable()
{
LocalizationManager.OnLanguageSet -= LocalizeText;
}
private void Start()
{
LocalizeText();
}
private void LocalizeText()
{
Text text = GetComponent<Text>();
text.text = LocalizationManager.Instance.GetLocalizedValue(key);
}
}
}
fileFormatVersion: 2
guid: 695a3593c6deacd48a5f9871fb88e897
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 225ab7a2aeea4a2498f9316e9728e48e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 68c573f8a00e83248b78b59d004cfd4d
timeCreated: 1463068294
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e1cab3f1f5856bd4f949547d3121049e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using UnityEditor;
using UnityEngine;
namespace GoogleSheetsForUnity
{
/// <summary>
/// We use ScriptableObjects for connection data, so the app can have multiple connection presets, that can be interchangeable.
/// </summary>
[CreateAssetMenu(fileName = "ConnectionData", menuName = "Google Sheets For Unity/Connection Data Asset", order = 0)]
public class ConnectionData : ScriptableObject
{
[Tooltip("URL of the webapp deployed on Google Drive.")]
public string webServiceUrl = "";
[Tooltip("The Id of the spreadsheet to be used for the objects & tables operations. If more than one spreadsheet are required, different connections can be made, or the spreadsheet Ids manually stated on the requests forms.")]
public string spreadsheetId = "";
[Tooltip("The password to use on the individual queries. Will not be used if the connection is set to useSessionContext.")]
public string servicePassword = "";
[Tooltip("The time in seconds before declaring the connection as timed out.")]
public float timeOutLimit = 15f;
[Tooltip("WWW Request type: true will use POST and false will use GET.")]
public bool usePOST = true;
}
}
fileFormatVersion: 2
guid: 9f04c21fb45517a4491e832aacc90e6e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: b90efdc9533a17846b9a69a919502f01
timeCreated: 1472656314
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using UnityEngine;
using System.Collections.Generic;
using UnityEngine.Networking;
namespace GoogleSheetsForUnity
{
public class DriveConnection : MonoBehaviour
{
public ConnectionData connectionData;
public void ExecuteRequest(UnityWebRequest www, Dictionary<string, string> postData)
{
StartCoroutine(CoExecuteRequest(www, postData));
}
private IEnumerator CoExecuteRequest(UnityWebRequest www, Dictionary<string, string> postData)
{
www.SendWebRequest();
float elapsedTime = 0.0f;
while (!www.isDone)
{
elapsedTime += Time.deltaTime;
if (elapsedTime >= connectionData.timeOutLimit)
{
Drive.HandleError("Operation timed out, connection aborted. Check your internet connection and try again.", elapsedTime);
yield break;
}
yield return null;
}
if (www.isNetworkError)
{
Drive.HandleError("Connection error after " + elapsedTime.ToString() + " seconds: " + www.error, elapsedTime);
yield break;
}
Drive.ProcessResponse(www.downloadHandler.text, elapsedTime);
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 4d6e98db625ad0d448c94ccc2d8d8d70
timeCreated: 1463058328
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
#if UNITY_EDITOR
using System.Collections.Generic;
using UnityEditor;
using UnityEngine.Networking;
namespace GoogleSheetsForUnity
{
public class DriveConnectionEditor : Editor
{
public ConnectionData connectionData;
private UnityWebRequest _www;
private double _elapsedTime = 0.0f;
private double _startTime = 0.0f;
public void ExecuteRequest(UnityWebRequest www, Dictionary<string, string> form)
{
EditorApplication.update += EditorUpdate;
_startTime = EditorApplication.timeSinceStartup;
_www = www;
_www.SendWebRequest();
}
private void EditorUpdate()
{
while (!_www.isDone)
{
_elapsedTime = EditorApplication.timeSinceStartup - _startTime;
if (_elapsedTime >= connectionData.timeOutLimit)
{
Drive.ProcessResponse("TIME_OUT", (float)_elapsedTime);
EditorApplication.update -= EditorUpdate;
}
return;
}
if (_www.isNetworkError)
{
Drive.ProcessResponse("Connection error after " + _elapsedTime.ToString() + " seconds: " + _www.error, (float)_elapsedTime);
return;
}
Drive.ProcessResponse(_www.downloadHandler.text, (float)_elapsedTime);
EditorApplication.update -= EditorUpdate;
}
}
}
#endif
\ No newline at end of file
fileFormatVersion: 2
guid: 886368a694a48284fa00aca8f9ce57c4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences:
- connectionData: {fileID: 11400000, guid: 4d4eb2acc3d7ee34b9d3e5490491c684, type: 2}
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LocalizationData : ScriptableObject
{
public string key;
public string en;
public string vi;
public string ko;
public string ja;
public string fr;
public string de;
public string pt;
public string hi;
public string ar;
public string ru;
public string it;
public string es;
public string zh;
public string th;
}
fileFormatVersion: 2
guid: e34fbc00d16be9f4db7ad7b247a8462e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: f57c1ff4bde242d4ca40318b30fe0478
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!850595691 &4890085278179872738
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Update Data SceneSettings
serializedVersion: 3
m_GIWorkflowMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 1
m_UsingShadowmask: 1
m_BakeBackend: 1
m_LightmapMaxSize: 1024
m_BakeResolution: 40
m_Padding: 2
m_TextureCompression: 1
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 2
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_FinalGather: 0
m_FinalGatherRayCount: 256
m_FinalGatherFiltering: 1
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVREnvironmentSampleCount: 500
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRMinBounces: 2
m_PVREnvironmentMIS: 0
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
fileFormatVersion: 2
guid: b458fcb5eb5c7ec40821bb440a1b32bc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4890085278179872738
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 523fdc79b93808e4a9e1e340862b1020
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9f04c21fb45517a4491e832aacc90e6e, type: 3}
m_Name: ConnectionData
m_EditorClassIdentifier:
webServiceUrl: https://script.google.com/macros/s/AKfycbzgfn2hkLro7FHfmnZA75nUEZSZsX-rRW1oafY6gQWJQlDS_WjM/exec
spreadsheetId: 1p9BcsMAkPKahpvZBTdUbFDDQI_elM4wUncQZ55r54wQ
servicePassword: passcode
timeOutLimit: 15
usePOST: 1
fileFormatVersion: 2
guid: 334761933f5d37543b94066d22d863f2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_SourcePrefab: {fileID: 0}
m_RootGameObject: {fileID: 1022902508820650}
m_IsPrefabAsset: 1
--- !u!1 &1022902508820650
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 6
m_Component:
- component: {fileID: 4832275356553110}
- component: {fileID: 114307827547646986}
m_Layer: 0
m_Name: DriveConnection
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4832275356553110
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1022902508820650}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &114307827547646986
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1022902508820650}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4d6e98db625ad0d448c94ccc2d8d8d70, type: 3}
m_Name:
m_EditorClassIdentifier:
connectionData: {fileID: 11400000, guid: 334761933f5d37543b94066d22d863f2, type: 2}
fileFormatVersion: 2
guid: cee21f0e68bcb2c4598a8ea73c378a10
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: fc6902f44a2c5b346a040e57925dd29f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: achievement
m_EditorClassIdentifier:
key: achievement
en: Achievement
vi: "Th\xE0nh t\xEDch"
ko: "\uC131\uCDE8"
ja: "\u6210\u679C"
fr: "R\xE9alisation"
de: Leistung
pt: "Realiza\xE7\xE3o"
hi: "\u0909\u092A\u0932\u092C\u094D\u0927\u093F"
ar: "\u0645\u0648\u0647\u0644\u0627\u062A"
ru: "\u0414\u043E\u0441\u0442\u0438\u0436\u0435\u043D\u0438\u0435"
it: Risultato
es: Logro
zh: "\u6210\u5C31"
th: "\u0E1C\u0E25\u0E2A\u0E31\u0E21\u0E24\u0E17\u0E18\u0E34\u0E4C"
fileFormatVersion: 2
guid: 303f83e29cb8a774da9d8b973ca7c735
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: armory
m_EditorClassIdentifier:
key: armory
en: Armory
vi: "\u0110\u1EA1n"
ko: "\uBCD1\uAE30\uACE0"
ja: "\u6B66\u5668"
fr: Arsenal
de: Waffenkammer
pt: Arsenal
hi: "\u0936\u0938\u094D\u0930\u0936\u093E\u0932\u093E"
ar: "\u0623\u0633\u0644\u062D\u0629"
ru: "\u041E\u0440\u0443\u0436\u0438\u0442\u0435\u043B\u044C"
it: Armeria.
es: Arsenal
zh: "\u519B\u68B0\u5E93"
th: "\u0E04\u0E25\u0E31\u0E07\u0E41\u0E2A\u0E07"
fileFormatVersion: 2
guid: 279a23e56b0b3314a9427ac31ee78bb5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: arsenal
m_EditorClassIdentifier:
key: arsenal
en: Arsenal
vi: "V\u0169 kh\xED"
ko: "\uBCD1\uAE30\uACE0"
ja: "\u5175\u5668"
fr: Arsenal
de: Arsenal
pt: Arsenal.
hi: "\u0936\u0938\u094D\u0924\u094D\u0930\u093E\u0917\u093E\u0930"
ar: "\u0627\u0631\u0633\u0646\u0627\u0644"
ru: "\u0410\u0440\u0441\u0435\u043D\u0430\u043B"
it: Arsenale
es: Arsenal
zh: "\u5175\u5DE5\u5382"
th: "\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E0B\u0E19\u0E2D\u0E25"
fileFormatVersion: 2
guid: 4ba58cc0cdab2f142814092c984b08a4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: autofill
m_EditorClassIdentifier:
key: autofill
en: Auto Fill
vi: "T\u1EF1 \u0111\u1ED9ng "
ko: "\uC790\uB3D9 \uCC44\uC6B0\uAE30"
ja: "\u30AA\u30FC\u30C8\u30D5\u30A3\u30EB"
fr: Remplissage automatique
de: Auto Fill
pt: "Preenchimento autom\xE1tico"
hi: "\u0938\u094D\u0935\u0924: \u092D\u0930\u0928\u093E"
ar: "\u0645\u0644\u0621 \u0627\u0644\u0633\u064A\u0627\u0631\u0627\u062A"
ru: "\u0410\u0432\u0442\u043E\u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435"
it: Riempimento automatico
es: "Relleno autom\xE1tico"
zh: "\u81EA\u52A8\u586B\u5145"
th: "\u0E40\u0E15\u0E34\u0E21\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34"
fileFormatVersion: 2
guid: 761d5602dfbf6ab4391568158a912246
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: basic
m_EditorClassIdentifier:
key: basic
en: Basic
vi: "C\u01A1 b\u1EA3n"
ko: "\uAE30\uCD08\uC801\uC778"
ja: "\u57FA\u672C"
fr: De base
de: Basic
pt: "B\xE1sico"
hi: "\u092C\u0941\u0928\u093F\u092F\u093E\u0926\u0940"
ar: "\u0623\u0633\u0627\u0633\u064A"
ru: "\u0411\u0430\u0437\u043E\u0432\u044B\u0439"
it: Di base
es: "B\xE1sico"
zh: "\u57FA\u672C\u7684"
th: "\u0E02\u0E31\u0E49\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E10\u0E32\u0E19"
fileFormatVersion: 2
guid: ab29817c78f98024fb64a893d497a536
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: claim
m_EditorClassIdentifier:
key: claim
en: Claim
vi: "Nh\u1EADn"
ko: "\uC8FC\uC7A5\uD558\uB2E4"
ja: "\u8ACB\u6C42"
fr: "R\xE9clamer"
de: Beanspruchen
pt: Alegar
hi: "\u0926\u093E\u0935\u093E"
ar: "\u0645\u0637\u0627\u0644\u0628\u0629"
ru: "\u0422\u0440\u0435\u0431\u043E\u0432\u0430\u0442\u044C"
it: Reclamo
es: Afirmar
zh: "\u5BA3\u79F0"
th: "\u0E40\u0E23\u0E35\u0E22\u0E01\u0E23\u0E49\u0E2D\u0E07"
fileFormatVersion: 2
guid: 02baac9c68489bd4bb669438fdc70b9c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: collectorpack
m_EditorClassIdentifier:
key: collectorpack
en: Comet Collector Pack
vi: "G\xF3i thu th\u1EADp sao"
ko: "\uD61C\uC131 \uCF5C\uB809\uD130 \uD329"
ja: "\u5F57\u661F\u30B3\u30EC\u30AF\u30BF\u30FC\u30D1\u30C3\u30AF"
fr: Pack Collector Comet
de: Comet Collector Pack
pt: Pacote de colecionador de cometa.
hi: "\u0927\u0942\u092E\u0915\u0947\u0924\u0941 \u0915\u0932\u0947\u0915\u094D\u091F\u0930
\u092A\u0948\u0915"
ar: "\u0645\u0630\u0646\u0628 \u062C\u0627\u0645\u0639 \u062D\u0632\u0645\u0629"
ru: "\u041A\u043E\u043B\u043B\u0435\u043A\u0442\u043E\u0440 \u043A\u043E\u043C\u0435\u0442\u044B
\u043F\u0430\u043A\u0435\u0442"
it: COMETY Collector Pack.
es: Paquete de coleccionistas de cometa
zh: "\u5F57\u661F\u6536\u96C6\u5668\u5305"
th: Comet Collector Pack
fileFormatVersion: 2
guid: 4a9edcc94bd107441a56bbe67f482fc3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: comingsoon
m_EditorClassIdentifier:
key: comingsoon
en: Coming soon
vi: "S\u1EAFp c\xF3"
ko: "\uACE7 \uC81C\uACF5\uD569\uB2C8\uB2E4"
ja: "\u8FD1\u65E5\u516C\u958B"
fr: "Bient\xF4t disponible"
de: Kommt bald
pt: Em breve
hi: "\u091C\u0932\u094D\u0926 \u0906 \u0930\u0939\u093E \u0939\u0948"
ar: "\u0642\u0631\u064A\u0628\u0627"
ru: "\u0412\u0441\u043A\u043E\u0440\u0435"
it: Prossimamente
es: "Pr\xF3ximamente"
zh: "\u5373\u5C06\u63A8\u51FA"
th: "\u0E40\u0E23\u0E47\u0E27 \u0E46 \u0E19\u0E35\u0E49"
fileFormatVersion: 2
guid: 7a24fc35df243a747bb9da0b231f3667
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: crackerpack
m_EditorClassIdentifier:
key: crackerpack
en: Planets Cracker Pack
vi: "G\xF3i ph\xE1 h\u1EE7y c\xE1c h\xE0nh tinh"
ko: "\uD589\uC131 \uD06C\uB798\uCEE4 \uD329"
ja: "\u60D1\u661F\u30AF\u30E9\u30C3\u30AB\u30FC\u30D1\u30C3\u30AF"
fr: Planets Cracker Pack
de: Planeten Cracker Packung.
pt: Planets Cracker Pack.
hi: "\u0917\u094D\u0930\u0939 \u0915\u094D\u0930\u0948\u0915\u0930 \u092A\u0948\u0915"
ar: "\u0643\u0648\u0627\u0643\u0628 \u062D\u0632\u0645\u0629 \u0627\u0644\u0645\u0641\u0631\u0642\u0639"
ru: "\u041F\u043B\u0430\u043D\u0435\u0442\u044B \u0432\u0437\u043B\u043E\u043C\u0449\u0438\u043A
\u043F\u0430\u043A\u0435\u0442"
it: Planet Cracker Pack.
es: Planetas Pack de galletas
zh: "\u884C\u661F\u997C\u5E72\u5305"
th: "\u0E41\u0E1E\u0E47\u0E04\u0E41\u0E04\u0E23\u0E01\u0E40\u0E01\u0E2D\u0E23\u0E4C\u0E14\u0E32\u0E27\u0E40\u0E04\u0E23\u0E32\u0E30\u0E2B\u0E4C"
fileFormatVersion: 2
guid: 34c9ac66e1ea7c64094fad723913c6d7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: dailyreward
m_EditorClassIdentifier:
key: dailyreward
en: Daily Reward
vi: "Ph\u1EA7n th\u01B0\u1EDFng h\xE0ng ng\xE0y"
ko: "\uB9E4\uC77C \uBCF4\uC0C1"
ja: "\u6BCE\u65E5\u306E\u5831\u916C"
fr: "R\xE9compense quotidienne"
de: "T\xE4gliche Belohnung"
pt: "Recompensa di\xE1ria"
hi: "\u0926\u0948\u0928\u093F\u0915 \u0907\u0928\u093E\u092E"
ar: "\u0645\u0643\u0627\u0641\u0623\u0629 \u0627\u0644\u064A\u0648\u0645\u064A\u0629"
ru: "\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0430\u044F \u043D\u0430\u0433\u0440\u0430\u0434\u0430"
it: Ricompensa giornaliera
es: Recompensa diaria
zh: "\u6BCF\u65E5\u5956\u52B1"
th: "\u0E23\u0E32\u0E07\u0E27\u0E31\u0E25\u0E1B\u0E23\u0E30\u0E08\u0E33\u0E27\u0E31\u0E19"
fileFormatVersion: 2
guid: 4901434a266c2334387f07432f7d2e73
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: day
m_EditorClassIdentifier:
key: day
en: Day
vi: "Ng\xE0y"
ko: "\uB0AE"
ja: "\u65E5"
fr: Jour
de: Tag
pt: Dia
hi: "\u0926\u093F\u0928"
ar: "\u064A\u0648\u0645"
ru: "\u0414\u0435\u043D\u044C"
it: Giorno
es: "D\xEDa"
zh: "\u65E5"
th: "\u0E27\u0E31\u0E19"
fileFormatVersion: 2
guid: bb48eb80dabfd5e47afe61cd223c6bfb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e34fbc00d16be9f4db7ad7b247a8462e, type: 3}
m_Name: defeat
m_EditorClassIdentifier:
key: defeat
en: Defeat
vi: Thua
ko: "\uD328\uBC30\uC2DC\uD0A4\uB2E4"
ja: "\u6557\u5317"
fr: "D\xE9faite"
de: Verlust
pt: Derrota
hi: "\u0939\u093E\u0930"
ar: "\u0647\u0632\u064A\u0645\u0629"
ru: "\u041F\u043E\u0440\u0430\u0436\u0435\u043D\u0438\u0435"
it: La sconfitta
es: Fracaso
zh: "\u6253\u8D25"
th: "\u0E04\u0E27\u0E32\u0E21\u0E1E\u0E48\u0E32\u0E22\u0E41\u0E1E\u0E49"
fileFormatVersion: 2
guid: 121752901c5ee894cbbbfc91e1aa595f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 003d875b4ea60284a847939cb0891b12
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment