Skip to content

Commit

Permalink
optimization Animator.ts comments
Browse files Browse the repository at this point in the history
  • Loading branch information
GuoLei1990 committed Oct 8, 2019
1 parent 3b6fc79 commit 72e8bf3
Showing 1 changed file with 54 additions and 3 deletions.
57 changes: 54 additions & 3 deletions src/layaAir/laya/d3/component/Animator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,13 @@ import { SimpleSingletonList } from "./SimpleSingletonList";
* <code>Animator</code> 类用于创建动画组件。
*/
export class Animator extends Component {
/**@internal */
private static _tempVector30: Vector3 = new Vector3();
/**@internal */
private static _tempVector31: Vector3 = new Vector3();
/**@internal */
private static _tempQuaternion0: Quaternion = new Quaternion();
/**@internal */
private static _tempQuaternion1: Quaternion = new Quaternion();

/** 裁剪模式_始终播放动画。*/
Expand All @@ -53,16 +57,19 @@ export class Animator extends Component {
}
}

/**@internal */
private _speed: number;

/**@internal */
private _keyframeNodeOwnerMap: any;
/**@internal */
private _keyframeNodeOwners: KeyframeNodeOwner[] = [];
/**@internal */
private _updateMark: number;
/**@internal */
private _controllerLayers: AnimatorControllerLayer[];

/**@internal */
_linkSprites: any;

/**@internal */
_avatarNodeMap: any;
/**@internal */
Expand Down Expand Up @@ -108,14 +115,16 @@ export class Animator extends Component {
constructor() {
super();
this._controllerLayers = [];

this._linkSprites = {};
this._speed = 1.0;
this._keyframeNodeOwnerMap = {};
this._updateMark = 0;
}


/**
* @internal
*/
private _linkToSprites(linkSprites: any): void {
for (var k in linkSprites) {
var nodeOwner: Sprite3D = (<Sprite3D>this.owner);
Expand All @@ -134,6 +143,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _addKeyframeNodeOwner(clipOwners: KeyframeNodeOwner[], node: KeyframeNode, propertyOwner: any): void {
var nodeIndex: number = node._indexInList;
var fullPath: string = node.fullPath;
Expand Down Expand Up @@ -222,6 +234,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _updatePlayer(animatorState: AnimatorState, playState: AnimatorPlayState, elapsedTime: number, islooping: boolean): void {
var clipDuration: number = animatorState._clip._duration * (animatorState.clipEnd - animatorState.clipStart);
var lastElapsedTime: number = playState._elapsedTime;
Expand Down Expand Up @@ -253,6 +268,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _eventScript(scripts: Script3D[], events: AnimationEvent[], eventIndex: number, endTime: number, front: boolean): number {
if (front) {
for (var n: number = events.length; eventIndex < n; eventIndex++) {
Expand Down Expand Up @@ -284,6 +302,9 @@ export class Animator extends Component {
return eventIndex;
}

/**
* @internal
*/
private _updateEventScript(stateInfo: AnimatorState, playStateInfo: AnimatorPlayState): void {
var scripts: Script3D[] = ((<Sprite3D>this.owner))._scripts;
if (scripts) {//TODO:play是否也换成此种计算
Expand Down Expand Up @@ -321,6 +342,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _updateClipDatas(animatorState: AnimatorState, addtive: boolean, playStateInfo: AnimatorPlayState, scale: number): void {
var clip: AnimationClip = animatorState._clip;
var clipDuration: number = clip._duration;
Expand All @@ -331,6 +355,9 @@ export class Animator extends Component {
clip._evaluateClipDatasRealTime(clip._nodes, curPlayTime, currentFrameIndices, addtive, frontPlay);
}

/**
* @internal
*/
private _applyFloat(pro: any, proName: string, nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, data: number): void {
if (nodeOwner.updateMark === this._updateMark) {//一定非第一层
if (additive) {
Expand All @@ -356,6 +383,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _applyPositionAndRotationEuler(nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, data: Vector3, out: Vector3): void {
if (nodeOwner.updateMark === this._updateMark) {//一定非第一层
if (additive) {
Expand Down Expand Up @@ -400,6 +430,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _applyRotation(nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, clipRot: Quaternion, localRotation: Quaternion): void {
if (nodeOwner.updateMark === this._updateMark) {//一定非第一层
if (additive) {
Expand Down Expand Up @@ -435,6 +468,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _applyScale(nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, clipSca: Vector3, localScale: Vector3): void {
if (nodeOwner.updateMark === this._updateMark) {//一定非第一层
if (additive) {
Expand Down Expand Up @@ -473,6 +509,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _applyCrossData(nodeOwner: KeyframeNodeOwner, additive: boolean, weight: number, isFirstLayer: boolean, srcValue: any, desValue: any, crossWeight: number): void {
var pro: any = nodeOwner.propertyOwner;
if (pro) {
Expand Down Expand Up @@ -528,6 +567,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _setClipDatasToNode(stateInfo: AnimatorState, additive: boolean, weight: number, isFirstLayer: boolean): void {
var nodes: KeyframeNodeList = stateInfo._clip._nodes;
var nodeOwners: KeyframeNodeOwner[] = stateInfo._nodeOwners;
Expand Down Expand Up @@ -574,6 +616,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _setCrossClipDatasToNode(controllerLayer: AnimatorControllerLayer, srcState: AnimatorState, destState: AnimatorState, crossWeight: number, isFirstLayer: boolean): void {
//TODO:srcNodes、destNodes未使用
var nodeOwners: KeyframeNodeOwner[] = controllerLayer._crossNodesOwners;
Expand Down Expand Up @@ -601,6 +646,9 @@ export class Animator extends Component {
}


/**
* @internal
*/
private _setFixedCrossClipDatasToNode(controllerLayer: AnimatorControllerLayer, destState: AnimatorState, crossWeight: number, isFirstLayer: boolean): void {
var nodeOwners: KeyframeNodeOwner[] = controllerLayer._crossNodesOwners;
var ownerCount: number = controllerLayer._crossNodesOwnersCount;
Expand All @@ -620,6 +668,9 @@ export class Animator extends Component {
}
}

/**
* @internal
*/
private _revertDefaultKeyframeNodes(clipStateInfo: AnimatorState): void {
var nodeOwners: KeyframeNodeOwner[] = clipStateInfo._nodeOwners;
for (var i: number = 0, n: number = nodeOwners.length; i < n; i++) {
Expand Down

0 comments on commit 72e8bf3

Please sign in to comment.