static int Insert(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); Spine.ExposedList <Spine.Animation> obj = (Spine.ExposedList <Spine.Animation>)ToLua.CheckObject <Spine.ExposedList <Spine.Animation> >(L, 1); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); Spine.Animation arg1 = (Spine.Animation)ToLua.CheckObject <Spine.Animation>(L, 3); obj.Insert(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
/// <summary>Caches information about bones and constraints. Must be called if bones or constraints are added /// or removed.</summary> public void UpdateCache() { ExposedList <Bone> bones = this.bones; ExposedList <IUpdatable> updateCache = this.updateCache; ExposedList <IkConstraint> ikConstraints = this.ikConstraints; ExposedList <TransformConstraint> transformConstraints = this.transformConstraints; int ikConstraintsCount = ikConstraints.Count; int transformConstraintsCount = transformConstraints.Count; updateCache.Clear(); for (int i = 0, n = bones.Count; i < n; i++) { Bone bone = bones.Items[i]; updateCache.Add(bone); for (int ii = 0; ii < ikConstraintsCount; ii++) { IkConstraint ikConstraint = ikConstraints.Items[ii]; if (bone == ikConstraint.bones.Items[ikConstraint.bones.Count - 1]) { updateCache.Add(ikConstraint); break; } } } for (int i = 0; i < transformConstraintsCount; i++) { TransformConstraint transformConstraint = transformConstraints.Items[i]; for (int ii = updateCache.Count - 1; i >= 0; ii--) { IUpdatable updateable = updateCache.Items[ii]; if (updateable == transformConstraint.bone || updateable == transformConstraint.target) { updateCache.Insert(ii + 1, transformConstraint); break; } } } }