/*********************************************** * override ***********************************************/ public override void OnTargetChange() { if (target == null) { PSLogger.Log("target is null"); return; } EditorCurveBinding[] bindings = AnimationUtility.GetAnimatableBindings(target, target.transform.root.gameObject); List <EditorCurveBinding> list = new List <EditorCurveBinding> (); for (int i = 0; i < this.propertyMuscleName.Length; i++) { for (int j = 0; j < bindings.Length; j++) { if (bindings [j].propertyName == this.propertyMuscleName [i]) { bindings [j].path = ""; list.Add(bindings [j]); break; } } } curveBindings = list.ToArray(); }
public void WriteMuscleValue(int index, float value) { if (curveBindings == null) { OnTargetChange(); } if (clip == null || curveBindings == null) { PSLogger.Log("clip or curveBindings is null"); return; } Undo.RecordObject(clip, clip.name); if (muscleToggle [index]) { this.SetEditorCurve(curveBindings [index], value); } else { AnimationUtility.SetEditorCurve(clip, curveBindings [index], null); } ResampleAnimation(); }
protected override void BeginProcessing() { base.BeginProcessing(); Logger = new PSLogger(this); XrmConnectionManager xrmConnection = new XrmConnectionManager( Logger); OrganizationService = xrmConnection.Connect( ConnectionString, Timeout); }
public override void OnUpdateValue() { if (target == null || clip == null) { PSLogger.Log("target is null"); return; } this.muscleToggle = new bool[this.muscleCount]; this.muscleValue = new float[this.muscleCount]; rootValue = new float[PSMuscleDefine.rootProperty.Length]; rootToggle = new bool[PSMuscleDefine.rootProperty.Length]; rootT = false; rootQ = false; foreach (EditorCurveBinding binding in AnimationUtility.GetCurveBindings(clip)) { //Debug.Log(binding.propertyName); for (int i = 0; i < PSMuscleDefine.rootProperty.Length; i++) { if (binding.propertyName == PSMuscleDefine.rootProperty [i]) { AnimationUtility.GetFloatValue(target, binding, out rootValue [i]); rootToggle [i] = true; if (i < 3) { rootT = true; } else { rootQ = true; } break; } } for (int i = 0; i < this.propertyMuscleName.Length; i++) { if (binding.propertyName == this.propertyMuscleName [i]) { AnimationUtility.GetFloatValue(target, binding, out muscleValue [i]); muscleToggle [i] = true; break; } } } }
private void UpdateValue() { if (reflection == null) { reflection = PSReflectionFactory.GetInstance().GetReflection(); } if (reflection == null) { return; } GameObject newTarget = reflection.GetRootObject(); if (!IsValidTarget(newTarget)) { target = null; return; } if (newTarget != target) { target = newTarget; tabMuscle.SetTarget(target); muscleHandle.SetTarget(target); PSLogger.Log("New Target"); } clip = reflection.GetClip(); time = reflection.GetTime(); frame = reflection.GetFrame(); tabMuscle.SetClip(clip); tabMuscle.SetTimeFrame(time, frame); if (AnimationMode.InAnimationMode() && !onFocus) { tabMuscle.OnUpdateValue(); //tabMuscle.ResampleAnimation(); } }