public string GetLocalizedStringForKey(TranslationKey stringKey) { Localization currentLocalization = _localizations.FirstOrDefault(l => l.Language == Application.systemLanguage); return((currentLocalization == default(Localization) ? _localizations.First(l => l.Language == SystemLanguage.English) : currentLocalization).Translations.First(t => t.StringKey == stringKey).TranslatedString); }
public static string GetString(TranslationKey key, CultureInfo culture = null) { if (culture == null) { culture = Culture; } var found = TranslationItems.TryGetValue(key, out var translations); if (!found) { return($"[{culture}]{key}"); } found = translations.TryGetValue(culture.ToString(), out var translation); if (!found) { return($"[{culture}]{key}"); } if (string.IsNullOrEmpty(translation) && translation != "|") { return($"[{culture}]{key}"); } return(translation); }
public override void UpdateSource(IEnumerable <LocalizedContent> localizedContent) { foreach (LocalizedContent lk in localizedContent) { TranslationKey key = lk.LocalizationKey as TranslationKey; TranslationGroupKey groupKey = TranslationGroupKey.CreateManager(2).Load(key.Translation, lk.Group, lk.Key); TranslationValue existingValue = TranslationValue.CreateManager().Load(lk.LocalizationKey as TranslationKey, groupKey); if (existingValue != null) { if (lk.Value == null) { existingValue.Delete(); } else if (!existingValue.Value.Equals(lk.Value)) { existingValue.Value = lk.Value; existingValue.Update(); } } else if (lk.Value != null) { TranslationValue newValue = new TranslationValue(-1, key, groupKey, lk.Value, DateTime.Now, DateTime.Now); newValue.Insert(); } } }
public ILocalization GetLocalization() { try { ILocalization localization = this.HttpContext.Items[MobiLocalizationItemKey] as ILocalization; if (localization != null) { return(localization); } //Language language = this.Session.GetUserSessionLanguage(); Language language = this.Service.ServiceData.FallbackLanguage; KeyValuePair <MobiChat.Data.Localization, ILocalizationProvider> translationMapKeyEntry = (from tmk in this.Runtime.LocalizationProviders where tmk.Key.Application.ID == this.Runtime.ApplicationData.ID && (tmk.Key.Product == null || tmk.Key.Product.ID == this.Service.ServiceData.Product.ID) select tmk).FirstOrDefault(); TranslationKey translationKey = new TranslationKey(translationMapKeyEntry.Key, language, this.Service.ServiceData); localization = translationMapKeyEntry.Value.GetLocalization(translationKey); localization = this.ConfigureTranslationWildcards(localization); this.HttpContext.Items[MobiLocalizationItemKey] = localization; return(localization); } catch (Exception ex) { Log.Error("Exception while creating localization...", ex); return(null); } }
public List <TranslationKey> Load(ISqlConnectionInfo connection, TranslationKey translationKey) { SqlQueryParameters parameters = new SqlQueryParameters(); parameters.Where = "[tk].FallbackTranslationKeyID=@TranslationKeyID"; parameters.Arguments.Add("TranslationKeyID", translationKey.ID); return(this.LoadMany(connection, parameters)); }
public TranslationValue CreateInstance(TranslationKey translationKey, TranslationGroupKey translationGroupKey) { if (!this.HasData) { return(null); } return(new TranslationValue(this.TranslationValueID, translationKey ?? new TranslationKey(this.TranslationKeyID), translationGroupKey ?? new TranslationGroupKey(this.TranslationGroupKeyID), this.Value, this.Updated, this.Created)); }
public TranslationValue Load(ISqlConnectionInfo connection, TranslationKey translationKey, TranslationGroupKey translationGroupKey) { SqlQueryParameters parameters = new SqlQueryParameters(); parameters.Where = "[tv].TranslationGroupKeyID = @TranslationGroupKeyID AND [tv].TranslationKeyID = @TranslationKeyID"; parameters.Arguments.Add("TranslationGroupKeyID", translationGroupKey.ID); parameters.Arguments.Add("TranslationKeyID", translationKey.ID); return(this.Load(connection, parameters)); }
public TranslationValueTemplate(TranslationKey translationKey, TranslationKey fallbackTranslationKey, TranslationGroupKey groupKey) { this._groupkey = groupKey; this._translationKey = translationKey; this._value = TranslationValue.CreateManager().Load(this._translationKey, groupKey); if (fallbackTranslationKey != null) { this._fallbackValue = TranslationValue.CreateManager().Load(fallbackTranslationKey, groupKey); } }
public TranslateBinding(TranslationKey key, bool upperCase, string suffix) { _key = key; _upperCase = upperCase; _suffix = suffix; if (!ServiceProvider.IsDesignMode) { _languageChanged = ServiceProvider.EventAggregator.Subscribe <LanguageChangedNotification>(OnLanguageChanged); } }
public List <TranslationKey> Load(IConnectionInfo connection, TranslationKey translationKey) { ISqlConnectionInfo sqlConnection = connection as ISqlConnectionInfo; if (sqlConnection != null) { return(this.Load(sqlConnection, translationKey)); } using (sqlConnection = new SqlConnectionInfo(connection, this.Type)) return(this.Load(sqlConnection, translationKey)); }
/// <summary> /// Translate message for form /// (Used for variable texts like labels on a form) /// </summary> public static string Translate(this Translation translation, Form form, TranslationKey key, string defaultValue, params object[] args) { try { return(translation.Translate(form.Name, key.ToString(), defaultValue, args)); } catch (Exception ex) { Trace.WriteError("({0}, {1}, {2})", Trace.GetMethodName(), CLASSNAME, ex, form, key, defaultValue); throw new TranslationException(CLASSNAME + $".Translate() failed with error '{ex.Message}'", ex); } }
public override string[] GetKeyValues(ILocalizationKey key) { TranslationKey translationKey = key as TranslationKey; if (translationKey == null) { throw new InvalidCastException("Argument 'key' must be of type TranslationKey to be used in conjunction with 'ClipmobileLocalizationKeyDescriptor'."); } return(new string[] { translationKey.ID.ToString(), translationKey.Language == null ? string.Empty : translationKey.Language.TwoLetterIsoCode, translationKey.Service == null ? string.Empty : translationKey.Service.Name }); }
/// <summary> /// Translate a key /// </summary> public static string Translate(this Translation translation, TranslationKey key, TranslationSubKey subKey, string defaultValue, params object[] args) { try { return(translation.Translate(nameof(TranslationKey.BusinessLayer), $"{key.ToString()}_{subKey.ToString()}", defaultValue, args)); } catch (Exception ex) { Trace.WriteError("({0}, {1})", Trace.GetMethodName(), CLASSNAME, ex, key, defaultValue); throw new TranslationException(CLASSNAME + $".Translate() failed with error '{ex.Message}'", ex); } }
KeyframedAnimationSet CreateAnimationSet() { var trackList = Editor.Parser.ANIC.ChildList; if ((trackList == null) || (trackList.Count <= 0)) { return(null); } KeyframedAnimationSet set = new KeyframedAnimationSet("SetName", 1, PlaybackType.Once, trackList.Count, new CallbackKey[0]); for (int i = 0; i < trackList.Count; i++) { var track = trackList[i]; ScaleKey[] scaleKeys = new ScaleKey[track.scalings.Length]; RotationKey[] rotationKeys = new RotationKey[track.rotations.Length]; TranslationKey[] translationKeys = new TranslationKey[track.translations.Length]; set.RegisterAnimationKeys(track.boneFrame, scaleKeys, rotationKeys, translationKeys); for (int j = 0; j < track.scalings.Length; j++) { float time = track.scalings[j].index; ScaleKey scale = new ScaleKey(); scale.Time = time; scale.Value = track.scalings[j].value; //scaleKeys[j] = scale; set.SetScaleKey(i, j, scale); } for (int j = 0; j < track.rotations.Length; j++) { float time = track.rotations[j].index; RotationKey rotation = new RotationKey(); rotation.Time = time; rotation.Value = track.rotations[j].value; //rotationKeys[j] = rotation; set.SetRotationKey(i, j, rotation); } for (int j = 0; j < track.translations.Length; j++) { float time = track.translations[j].index; TranslationKey translation = new TranslationKey(); translation.Time = time; translation.Value = track.translations[j].value; //translationKeys[j] = translation; set.SetTranslationKey(i, j, translation); } } return(set); }
public override ILocalizationKey GetKey(string[] values) { if (values.Length < 3) { return(null); } //string productName = values[0]; //if (string.IsNullOrEmpty(productName)) // return null; // //string localizationId = values[0]; //if (string.IsNullOrEmpty(localizationId)) // return null; //Data.Localization localization = Data.Localization.CreateManager().Load(Int32.Parse(localizationId)); // //Product product = Product.CreateManager().Load(productName); //if (product == null) // return null; //Translation translation = Translation.CreateManager().Load<Translation>(product); string translationKeyId = values[0]; if (string.IsNullOrEmpty(translationKeyId)) { return(null); } TranslationKey tk = TranslationKey.CreateManager().Load(Int32.Parse(translationKeyId)); Translation translation = tk.Translation; if (translation == null) { return(null); } string languageCode = values[1]; Language language = null; if (!string.IsNullOrEmpty(languageCode)) { language = Language.CreateManager().Load(languageCode, LanguageIdentifier.TwoLetterIsoCode); } string serviceName = values[2]; Service service = null; if (!string.IsNullOrEmpty(serviceName)) { service = Service.CreateManager().Load(serviceName); } return(new TranslationKey(translation, language, service)); }
public ActionResult ApiUpdateTranslationValue(string translationValueKeyID, string translationKeyID, string translationGroupKeyID, string groupName, string groupKey, string value) { int tvalueID, tKeyID, tGroupKeyID; if (!Int32.TryParse(translationValueKeyID, out tvalueID)) { return(this.Json(new { status = false, message = "Argument error 'translationValueKeyID" })); } if (!Int32.TryParse(translationKeyID, out tKeyID)) { return(this.Json(new { status = false, message = "Argument error 'translationKeyID" })); } if (!Int32.TryParse(translationGroupKeyID, out tGroupKeyID)) { return(this.Json(new { status = false, message = "Argument error 'translationGroupKeyID" })); } string message = ""; value = HttpUtility.UrlDecode(value); TranslationValue translationValue; if (tvalueID == -1) { translationValue = new TranslationValue(-1, TranslationKey.CreateManager().Load(tKeyID), TranslationGroupKey.CreateManager().Load(tGroupKeyID), value, DateTime.Now, DateTime.Now); translationValue.Insert(); message = "Translation has been added"; } else { translationValue = TranslationValue.CreateManager().Load(tvalueID); if (translationValue == null) { return(this.Json(new { status = false, message = "Translation value does not exists!" })); } translationValue.Value = value; translationValue.Update(); message = "Translation has been updated"; } Translations.Web.GetGroup(groupName).AssignValue(groupKey, value); //MobiContext.Current.UpdateTranslationsWildcars(); return(this.Json(new { status = true, message = message, id = translationValue.ID, Updated = translationValue.Updated.ToString() })); }
public string GetByKey(TranslationKey key) { if (CurrentLanguage.Translations.ContainsKey(key)) { return(CurrentLanguage.Translations[key].Value); } var s = $"<Translation Key=\"{key}\">{Environment.NewLine}{Environment.NewLine}</Translation>"; if (!MissingTranslations.Contains(s)) { MissingTranslations.Add(s); Debug.WriteLine(MissingString); } return("missing"); }
public string Get(TranslationKey key) { switch (key) { case TranslationKey.Three: return("Fizz"); case TranslationKey.Five: return("Buzz"); case TranslationKey.Both: return("FizzBuzz"); default: return("WTF"); } }
public virtual DialogResult Confirm(TranslationKey translationKey, string caption, string message, MessageBoxButtons buttons, params object[] messageArgs) { // translate caption = Translation.Instance.Translate(translationKey, TranslationSubKey.Caption, caption); message = Translation.Instance.Translate(translationKey, TranslationSubKey.Message, message, messageArgs); const MessageBoxIcon icon = MessageBoxIcon.Question; Trace.WriteInformation("CONFIRM DIALOG SHOW: Display='{0}', Message='{1}', Buttons={2}", Trace.GetMethodName(), CLASSNAME, Text, message, buttons); int timestamp = Environment.TickCount; DialogResult result = new MessageBoxForm(caption, message, buttons, icon, null).ShowDialog(this); Trace.WriteInformation("CONFIRM DIALOG ACK: Display='{0}', Ack Time={1} [ms], Message='{2}', Buttons={3}, Response={4}", Trace.GetMethodName(), CLASSNAME, Text, Environment.TickCount - timestamp, message, buttons, result); return(result); }
public override void ActivateFromMain(EventArgs e) { try { base.ActivateFromMain(e); if (!CurrentUser.HasPermission(ACICategory, ACIOptions.VIEW)) { const TranslationKey transKey = TranslationKey.CommonMessage_NoAuthorization; throw new SecurityException(CurrentUser.User.Username, Translation.Instance.Translate(this, transKey, transKey.GetCommonMessage())); } } catch (Exception ex) { Trace.WriteError("()", Trace.GetMethodName(), CLASSNAME, ex); throw; } }
private LanguageDefintion LoadLanguageDefinition(XmlReader reader) { var name = reader.GetAttribute("Name"); List <Translation> translations = new List <Translation>(); do { reader.Read(); if (reader.IsStartElement("Translation")) { var translationKey = new TranslationKey(reader.GetAttribute("Key")); reader.Read(); reader.MoveToContent(); var translation = new Translation(translationKey, reader.Value.Trim().Replace("\n", (char)10 + "")); translations.Add(translation); } }while (reader.IsStartElement() || reader.Name != "Language"); return(new LanguageDefintion(name, translations)); }
public override void ActivateFromMain(EventArgs e) { try { base.ActivateFromMain(e); if (!CurrentUser.HasPermission(ACICategory, ACIOptions.VIEW)) { const TranslationKey transKey = TranslationKey.CommonMessage_NoAuthorization; throw new SecurityException(CurrentUser.User.Username, Translation.Instance.Translate(transKey, TranslationSubKey.Message, transKey.GetCommonMessage())); } Show(); AddButtonRibbonBars(); Refresh(); } catch (Exception ex) { Trace.WriteError("()", Trace.GetMethodName(), _classname, ex); throw; } }
/// <inheritdoc/> public async Task <MutationResult> Handle(CreateKeyWithValuesCommand request, CancellationToken cancellationToken) { var key = new TranslationKey { Key = request.Key, }; foreach (var value in request.Values) { key.Translations.Add(new TranslationValue { LanguageId = value.LanguageId, Value = value.Value, }); } this.context.Keys.Add(key); await this.context.SaveChangesAsync(cancellationToken); return(new MutationResult(key.Id.ToString())); }
public async Task <int> CreateKey(int projectId, string key) { var existing = await keyRepository.Query() .AnyAsync(k => k.ProjectId == projectId && k.Key == key); if (existing) { throw new IzoConflictException( $"Key '{key}' already exists in project {projectId}" ); } var newKey = new TranslationKey { ProjectId = projectId, Key = key }; await keyRepository.Create(newKey); return(newKey.Id); }
public TranslationTemplateModel(MobiContext context, Translation translation, bool extendedAccess, string groupName) : base(context, extendedAccess) { this._translationKey = TranslationKey.CreateManager().Load(context.Service.ServiceData); if (this._translationKey == null) { this._hasTranslation = false; return; } this.Name = groupName; this._fallbackKey = this._translationKey.FallbackTranslationKey; this._translationGroup = TranslationGroup.CreateManager().Load(translation, groupName); this._values = new List <TranslationValueTemplate>(); List <TranslationGroupKey> groupKeys = TranslationGroupKey.CreateManager().Load(this._translationGroup); foreach (TranslationGroupKey groupKey in groupKeys) { this._values.Add(new TranslationValueTemplate(this._translationKey, this._fallbackKey, groupKey)); } }
IEnumerator DoConvertTake(AMTakeData oldTake, Take newTake, bool isMeta, string assetPath) { newTake.name = oldTake.name; newTake.frameRate = oldTake.frameRate; newTake.endFramePadding = oldTake.endFramePadding; newTake.numLoop = oldTake.numLoop; newTake.loopMode = oldTake.loopMode; newTake.loopBackToFrame = oldTake.loopBackToFrame; newTake.trackCounter = oldTake.track_count; newTake.groupCounter = oldTake.group_count; //go through groups newTake.rootGroup = new Group(); newTake.rootGroup.group_name = oldTake.rootGroup.group_name; newTake.rootGroup.group_id = oldTake.rootGroup.group_id; newTake.rootGroup.elements = new List <int>(oldTake.rootGroup.elements); newTake.rootGroup.foldout = oldTake.rootGroup.foldout; newTake.groupValues = new List <Group>(); foreach (var oldGroup in oldTake.groupValues) { var newGroup = new Group(); newGroup.group_name = oldGroup.group_name; newGroup.group_id = oldGroup.group_id; newGroup.elements = new List <int>(oldGroup.elements); newGroup.foldout = oldGroup.foldout; newTake.groupValues.Add(newGroup); } //go through tracks newTake.trackValues = new List <Track>(); foreach (var oldTrack in oldTake.trackValues) { AddMessage(" - convert track: " + oldTrack.name); Track newTrack = null; if (oldTrack is AMAnimationTrack) { newTrack = new UnityAnimationTrack(); ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newTrack.keys = new List <Key>(); foreach (AMAnimationKey oldKey in oldTrack.keys) { var newKey = new UnityAnimationKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.wrapMode = oldKey.wrapMode; newKey.amClip = oldKey.amClip; newKey.crossfade = oldKey.crossfade; newKey.crossfadeTime = oldKey.crossfadeTime; newTrack.keys.Add(newKey); } } else if (oldTrack is AMAudioTrack) { newTrack = new AudioTrack(); ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newTrack.keys = new List <Key>(); foreach (AMAudioKey oldKey in oldTrack.keys) { var newKey = new AudioKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.audioClip = oldKey.audioClip; newKey.loop = oldKey.loop; newKey.oneShot = oldKey.oneShot; newTrack.keys.Add(newKey); } } else if (oldTrack is AMCameraSwitcherTrack) { newTrack = new CameraSwitcherTrack(); ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newTrack.keys = new List <Key>(); for (int i = 0; i < oldTrack.keys.Count; i++) { var oldKey = (AMCameraSwitcherKey)oldTrack.keys[i]; var newKey = new CameraSwitcherKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.type = oldKey.type; newKey.typeEnd = oldKey.typeEnd; newKey.color = oldKey.color; newKey.colorEnd = oldKey.colorEnd; newKey.cameraFadeType = oldKey.cameraFadeType; newKey.cameraFadeParameters = new List <float>(oldKey.cameraFadeParameters); newKey.irisShape = oldKey.irisShape; newKey.still = oldKey.still; newKey.endFrame = oldKey.endFrame; if (isMeta) { newKey.SetCameraDirect(null, oldKey.cameraTargetPath); newKey.SetCameraEndDirect(null, oldKey.cameraEndTargetPath); } else { newKey.SetCameraDirect(oldKey.getCamera(null), ""); newKey.SetCameraDirect(oldKey.getCameraEnd(null), ""); } newTrack.keys.Add(newKey); } } else if (oldTrack is AMEventTrack) { var newEventTrack = new EventTrack(); newTrack = newEventTrack; ConvertTrackCommonFields(oldTrack, newTrack, false, isMeta); newTrack.keys = new List <Key>(); string eventCompName = null; //TODO: create new tracks per different components from keys //for now we only allow conversion of one component, so the first key will be used. foreach (AMEventKey oldKey in oldTrack.keys) { string keyCompName = oldKey.getComponentName(); if (string.IsNullOrEmpty(eventCompName)) { if (!string.IsNullOrEmpty(keyCompName)) { eventCompName = keyCompName; AddMessage(" - EventTrack using component: " + eventCompName); if (isMeta) { newEventTrack.SetTargetAsComponentDirect(oldTrack.targetPath, null, eventCompName); } else { newEventTrack.SetTargetAsComponentDirect("", oldKey.getComponentRef(), eventCompName); } } } //only add if component matched if (string.IsNullOrEmpty(eventCompName) || keyCompName != eventCompName) { AddMessage(" - Cannot add EventKey with Component: " + eventCompName, Color.yellow); continue; } var newKey = new EventKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.useSendMessage = oldKey.useSendMessage; newKey.methodName = oldKey.methodName; newKey.parameters = new List <EventParameter>(oldKey.parameters.Count); for (int i = 0; i < oldKey.parameters.Count; i++) { var oldParm = oldKey.parameters[i]; var newParm = new EventParameter(); ConvertEventParameter(oldParm, newParm); newKey.parameters.Add(newParm); } newTrack.keys.Add(newKey); } } else if (oldTrack is AMGOSetActiveTrack) { var oldGOTrack = (AMGOSetActiveTrack)oldTrack; var newGOTrack = new GOSetActiveTrack(); newTrack = newGOTrack; ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newGOTrack.startActive = oldGOTrack.startActive; newTrack.keys = new List <Key>(); foreach (AMGOSetActiveKey oldKey in oldTrack.keys) { var newKey = new GOSetActiveKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.setActive = oldKey.setActive; newKey.endFrame = oldKey.endFrame; newTrack.keys.Add(newKey); } } else if (oldTrack is AMMaterialTrack) { var oldMatTrack = (AMMaterialTrack)oldTrack; var newMatTrack = new MaterialTrack(); newTrack = newMatTrack; ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newMatTrack.materialIndex = oldMatTrack.materialIndex; newMatTrack.property = oldMatTrack.property; newMatTrack.propertyType = (MaterialTrack.ValueType)oldMatTrack.propertyType; newTrack.keys = new List <Key>(); foreach (AMMaterialKey oldKey in oldTrack.keys) { var newKey = new MaterialKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.endFrame = oldKey.endFrame; newKey.texture = oldKey.texture; newKey.vector = oldKey.vector; newTrack.keys.Add(newKey); } } else if (oldTrack is AMOrientationTrack) { newTrack = new OrientationTrack(); ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newTrack.keys = new List <Key>(); foreach (AMOrientationKey oldKey in oldTrack.keys) { var newKey = new OrientationKey(); ConvertKeyCommonFields(oldKey, newKey); if (isMeta) { newKey.SetTargetDirect(null, oldKey.GetTargetPath()); } else { newKey.SetTargetDirect(oldKey.GetTarget(null), ""); } newKey.endFrame = oldKey.endFrame; newTrack.keys.Add(newKey); } } else if (oldTrack is AMPropertyTrack) { var oldPropTrack = (AMPropertyTrack)oldTrack; var newPropTrack = new PropertyTrack(); newTrack = newPropTrack; ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newPropTrack.valueType = (PropertyTrack.ValueType)oldPropTrack.valueType; if (oldPropTrack.isPropertySet()) { Component comp = oldPropTrack.GetTargetComp(null); string compName = oldPropTrack.getComponentName(); bool isField = oldPropTrack.isField; string fieldName = oldPropTrack.getMemberName(); if (isMeta) { newPropTrack.SetTargetCompDirect(null, compName, isField, fieldName); } else { newPropTrack.SetTargetCompDirect(comp, compName, isField, fieldName); } } newTrack.keys = new List <Key>(); foreach (AMPropertyKey oldKey in oldTrack.keys) { var newKey = new PropertyKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.endFrame = oldKey.endFrame; newKey.val = oldKey.val; newKey.valString = oldKey.valString; newKey.valObj = oldKey.valObj; newKey.vect4 = oldKey.vect4; newTrack.keys.Add(newKey); } } else if (oldTrack is AMRotationEulerTrack) { var oldRotEulerTrack = (AMRotationEulerTrack)oldTrack; var newRotEulerTrack = new RotationEulerTrack(); newTrack = newRotEulerTrack; ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newRotEulerTrack.axis = (AxisFlags)oldRotEulerTrack.axis; newTrack.keys = new List <Key>(); foreach (AMRotationEulerKey oldKey in oldTrack.keys) { var newKey = new RotationEulerKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.rotation = oldKey.rotation; newKey.endFrame = oldKey.endFrame; newTrack.keys.Add(newKey); } } else if (oldTrack is AMRotationTrack) { newTrack = new RotationTrack(); ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newTrack.keys = new List <Key>(); foreach (AMRotationKey oldKey in oldTrack.keys) { var newKey = new RotationKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.rotation = oldKey.rotation; newKey.endFrame = oldKey.endFrame; newTrack.keys.Add(newKey); } } else if (oldTrack is AMTranslationTrack) { var oldTransTrack = (AMTranslationTrack)oldTrack; var newTransTrack = new TranslationTrack(); newTrack = newTransTrack; ConvertTrackCommonFields(oldTrack, newTrack, true, isMeta); newTransTrack.pixelPerUnit = oldTransTrack.pixelPerUnit; newTransTrack.pixelSnap = oldTransTrack.pixelSnap; newTrack.keys = new List <Key>(); foreach (AMTranslationKey oldKey in oldTrack.keys) { var newKey = new TranslationKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.position = oldKey.position; newKey.endFrame = oldKey.endFrame; newKey.isConstSpeed = oldKey.isConstSpeed; newKey.path = new Vector3[oldKey.path.Length]; System.Array.Copy(oldKey.path, newKey.path, newKey.path.Length); newTrack.keys.Add(newKey); } } else if (oldTrack is AMTriggerTrack) //convert TriggerTrack to EventTrack with TriggerSignal { var newTriggerTrack = new EventTrack(); newTrack = newTriggerTrack; ConvertTrackCommonFields(oldTrack, newTrack, false, isMeta); //grab/create signal for this trigger string signalPath = GetTriggerSignalPath(assetPath); TriggerSignal triggerSignal; if (!mTriggerSignalLookup.TryGetValue(signalPath, out triggerSignal)) { //try to load it if it exists triggerSignal = AssetDatabase.LoadAssetAtPath <TriggerSignal>(signalPath); if (!triggerSignal) { AddMessage(" - Creating Trigger Signal: " + signalPath); triggerSignal = ScriptableObject.CreateInstance <TriggerSignal>(); AssetDatabase.CreateAsset(triggerSignal, signalPath); AssetDatabase.SaveAssets(); yield return(new WaitForFixedUpdate()); } mTriggerSignalLookup.Add(signalPath, triggerSignal); } newTriggerTrack.SetTargetAsObject(triggerSignal); newTrack.keys = new List <Key>(); foreach (AMTriggerKey oldKey in oldTrack.keys) { var newKey = new EventKey(); ConvertKeyCommonFields(oldKey, newKey); newKey.useSendMessage = false; newKey.methodName = "Invoke"; newKey.parameters = new List <EventParameter>(3); newKey.parameters.Add(new EventParameter() { valueType = EventData.ValueType.String, val_string = oldKey.valueString }); newKey.parameters.Add(new EventParameter() { valueType = EventData.ValueType.Integer, val_int = oldKey.valueInt }); newKey.parameters.Add(new EventParameter() { valueType = EventData.ValueType.Float, val_float = oldKey.valueFloat }); newTrack.keys.Add(newKey); } } newTake.trackValues.Add(newTrack); yield return(new WaitForFixedUpdate()); } }
public VerbalStructureDescription(string internalName, TranslationKey name, TranslationKey description) { InternalName = internalName; DescriptionID = description; NameID = name; }
public ToTranslationKeyArgs(TranslationKey originalKey) { OriginalKey = originalKey; }
public Translation(TranslationKey key, string value) { Key = key; Value = value; }
KeyframedAnimationSet CreateAnimationSet() { var trackList = Editor.Parser.ANIC.ChildList; if ((trackList == null) || (trackList.Count <= 0)) { return null; } KeyframedAnimationSet set = new KeyframedAnimationSet("SetName", 1, PlaybackType.Once, trackList.Count, new CallbackKey[0]); for (int i = 0; i < trackList.Count; i++) { var track = trackList[i]; ScaleKey[] scaleKeys = new ScaleKey[track.scalings.Length]; RotationKey[] rotationKeys = new RotationKey[track.rotations.Length]; TranslationKey[] translationKeys = new TranslationKey[track.translations.Length]; set.RegisterAnimationKeys(track.boneFrame, scaleKeys, rotationKeys, translationKeys); for (int j = 0; j < track.scalings.Length; j++) { float time = track.scalings[j].index; ScaleKey scale = new ScaleKey(); scale.Time = time; scale.Value = track.scalings[j].value; //scaleKeys[j] = scale; set.SetScaleKey(i, j, scale); } for (int j = 0; j < track.rotations.Length; j++) { float time = track.rotations[j].index; RotationKey rotation = new RotationKey(); rotation.Time = time; rotation.Value = track.rotations[j].value; //rotationKeys[j] = rotation; set.SetRotationKey(i, j, rotation); } for (int j = 0; j < track.translations.Length; j++) { float time = track.translations[j].index; TranslationKey translation = new TranslationKey(); translation.Time = time; translation.Value = track.translations[j].value; //translationKeys[j] = translation; set.SetTranslationKey(i, j, translation); } } return set; }
private void buttonAnimationKeyframeNew_Click(object sender, EventArgs e) { try { if (listViewAnimationTrack.SelectedItems.Count != 1) { return; } xaAnimationTrack track = (xaAnimationTrack)listViewAnimationTrack.SelectedItems[0].Tag; int animation = Editor.Parser.AnimationSection.TrackList.IndexOf(track); int timeIndex = (int)numericAnimationClipKeyframe.Value; xaAnimationKeyframe keyframe = (xaAnimationKeyframe)Gui.Scripting.RunScript(EditorVar + ".NewKeyframe(track=" + EditorVar + ".Parser.AnimationSection.TrackList[" + animation + "], index=" + timeIndex + ")"); Changed = Changed; int key = track.KeyframeList.IndexOf(keyframe); if (key >= animationSet.GetRotationKeyCount(animationSet.GetAnimationIndex(track.Name))) { if (animationSet != null) { Pause(); renderTimer.Tick -= renderTimer_Tick; Gui.Renderer.RemoveAnimationSet(animationId); animationSet.Dispose(); animationSet = null; } animationSet = CreateAnimationSet(); if (animationSet != null) { animationId = Gui.Renderer.AddAnimationSet(animationSet); renderTimer.Interval = 10; renderTimer.Tick += new EventHandler(renderTimer_Tick); Play(); } } float time = timeIndex; ScaleKey scale = new ScaleKey(); scale.Time = time; scale.Value = keyframe.Scaling; animationSet.SetScaleKey(animation, key, scale); RotationKey rotation = new RotationKey(); rotation.Time = time; rotation.Value = Quaternion.Invert(keyframe.Rotation); animationSet.SetRotationKey(animation, key, rotation); TranslationKey translation = new TranslationKey(); translation.Time = time; translation.Value = keyframe.Translation; animationSet.SetTranslationKey(animation, key, translation); AdvanceTime(0); AddTrackToEditedTracks(track); listViewAnimationTrack.SelectedItems[0].SubItems[1].Text = track.KeyframeList.Count.ToString(); listViewAnimationTrack.SelectedItems[0].SubItems[2].Text = (track.KeyframeList[track.KeyframeList.Count - 1].Index - track.KeyframeList[0].Index + 1).ToString(); DisplayNewKeyframe(true); } catch (Exception ex) { Utility.ReportException(ex); } }
KeyframedAnimationSet CreateAnimationSet() { var trackList = Editor.Parser.AnimationSection.TrackList; if ((trackList == null) || (trackList.Count <= 0)) { return null; } KeyframedAnimationSet set = new KeyframedAnimationSet("SetName", 1, PlaybackType.Once, trackList.Count, new CallbackKey[0]); for (int i = 0; i < trackList.Count; i++) { var track = trackList[i]; var keyframes = track.KeyframeList; ScaleKey[] scaleKeys = new ScaleKey[keyframes.Count]; RotationKey[] rotationKeys = new RotationKey[keyframes.Count]; TranslationKey[] translationKeys = new TranslationKey[keyframes.Count]; for (int k = 0; k < 10; k++) { try { set.RegisterAnimationKeys(k == 0 ? track.Name : track.Name + "_error" + k, scaleKeys, rotationKeys, translationKeys); for (int j = 0; j < keyframes.Count; j++) { float time = keyframes[j].Index; ScaleKey scale = new ScaleKey(); scale.Time = time; scale.Value = keyframes[j].Scaling; //scaleKeys[j] = scale; set.SetScaleKey(i, j, scale); RotationKey rotation = new RotationKey(); rotation.Time = time; rotation.Value = Quaternion.Invert(keyframes[j].Rotation); //rotationKeys[j] = rotation; set.SetRotationKey(i, j, rotation); TranslationKey translation = new TranslationKey(); translation.Time = time; translation.Value = keyframes[j].Translation; //translationKeys[j] = translation; set.SetTranslationKey(i, j, translation); } break; } catch (Exception ex) { switch (k) { case 0: Report.ReportLog("Error in Track: " + track.Name); Utility.ReportException(ex); break; case 9: Report.ReportLog("Aborting to register with different name. Animation will not be displayed."); break; } } } } return set; }
public List <TranslationKey> Load(TranslationKey translationKey) { using (SqlConnectionInfo connection = new SqlConnectionInfo(this.Type)) return(this.Load(connection, translationKey)); }