using System; using System.Collections.Generic; using UnityEngine; using wf; [Serializable] public class AMTranslationKey : AMKey { public bool setInterpolation(int _interp) { if (_interp != this.interp) { this.interp = _interp; return true; } return false; } public bool setPosition(Vector3 position) { if (position != this.position) { this.position = position; return true; } return false; } public override AMKey CreateClone() { AMTranslationKey amtranslationKey = ScriptableObject.CreateInstance(); amtranslationKey.frame = this.frame; amtranslationKey.position = this.position; amtranslationKey.interp = this.interp; amtranslationKey.easeType = this.easeType; amtranslationKey.customEase = new List(this.customEase); return amtranslationKey; } public override void CreateFromStringData(string data_text) { string[] array = data_text.Split(new char[] { ':' }); if (array.Length == 0 || array[0] != "Translation") { return; } int num = 1; this.frame = int.Parse(array[num++]); this.position = Parse.Vector3(array[num++]); this.interp = int.Parse(array[num++]); this.easeType = int.Parse(array[num++]); int num2 = int.Parse(array[num++]); this.customEase = new List(); for (int i = 0; i < num2; i++) { this.customEase.Add(float.Parse(array[num++])); } } public override string ToStringData() { List list = new List(); list.Add("Translation"); list.Add(this.frame.ToString()); list.Add(this.position.ToString("G")); list.Add(this.interp.ToString()); list.Add(this.easeType.ToString()); list.Add(this.customEase.Count.ToString()); foreach (float num in this.customEase) { list.Add(num.ToString()); } string text = list[0]; for (int i = 1; i < list.Count; i++) { text = text + ":" + list[i]; } return text; } public static string[] InterpolationNames = new string[] { "Curve", "Linear" }; public Vector3 position; public int interp; public enum Interpolation { Curve, Linear } }