private void InitializeKnockdownLoop() { string animName = Owner.AnimSet.GetKnockdowAnim(KnockdownState.Loop, Owner.BlackBoard.weaponSelected); CrossFade(animName, 0.05f);; EndOfStateTime = KnockdownEndTime; _status = KnockdownStatus.LOOP; }
void InitializeGetUp() { string animName = Agent.AnimSet.GetKnockdowAnim(KnockdownState.Up, Agent.BlackBoard.weaponSelected); Phenix.Unity.Utilities.Tools.PlayAnimation(Agent.AnimEngine, animName, 0.05f); _endOfStateTime = Time.timeSinceLevelLoad + Agent.AnimEngine[animName].length * 0.9f; _status = KnockdownStatus.GET_UP; Agent.EnableCollisions(); }
void InitializeLying() { string animName = Agent.AnimSet.GetKnockdowAnim(KnockdownState.Loop, Agent.BlackBoard.weaponSelected); Phenix.Unity.Utilities.Tools.PlayAnimation(Agent.AnimEngine, animName, 0.05f); _endOfStateTime = _lyingEndTime; _status = KnockdownStatus.LYING; Agent.DisableCollisions(); }
void InitializeDeath() { string animName = Agent.AnimSet.GetKnockdowAnim(KnockdownState.Fatality, Agent.BlackBoard.weaponSelected); Phenix.Unity.Utilities.Tools.PlayAnimation(Agent.AnimEngine, animName, 0.1f); _endOfStateTime = Time.timeSinceLevelLoad + Agent.AnimEngine[animName].length * 0.9f; _status = KnockdownStatus.DEATH; Agent.BlackBoard.motionType = MotionType.DEATH; }
private void InitializeKnockdownUp() { string animName = Owner.AnimSet.GetKnockdowAnim(KnockdownState.Up, Owner.BlackBoard.weaponSelected); CrossFade(animName, 0.05f); EndOfStateTime = Time.timeSinceLevelLoad + Owner.AnimEngine[animName].length * 0.9f; _status = KnockdownStatus.END; }
private void InitializeDeath() { string animName = Owner.AnimSet.GetKnockdowAnim(KnockdownState.Fatality, Owner.BlackBoard.weaponSelected); CrossFade(animName, 0.1f); EndOfStateTime = Time.timeSinceLevelLoad + Owner.AnimEngine[animName].length * 0.9f; _status = KnockdownStatus.DEATH; Owner.BlackBoard.motionType = MotionType.DEATH; }
protected override void Initialize(AgentAction action) { base.Initialize(action); _agentAction = Owner.BlackBoard.curAction as AgentActionKnockdown; string animName = Owner.AnimSet.GetKnockdowAnim(KnockdownState.Down, Owner.BlackBoard.weaponSelected); StartRotation = Owner.Transform.rotation; StartPosition = Owner.Transform.position; Vector3 dir = _agentAction.attacker.Position - Owner.Transform.position; float angle = 0; if (dir.sqrMagnitude > 0.1f * 0.1f) { dir.Normalize(); angle = Vector3.Angle(Owner.Transform.forward, dir); } else { dir = Owner.Transform.forward; } FinalRotation.SetLookRotation(dir); RotationTime = angle / 500.0f; FinalPosition = StartPosition + _agentAction.impuls; MoveTime = Owner.AnimEngine[animName].length * 0.4f; RotationOk = RotationTime == 0; PositionOK = MoveTime == 0; CurrentRotationTime = 0; CurrentMoveTime = 0; CrossFade(animName, 0.05f); EndOfStateTime = Time.timeSinceLevelLoad + Owner.AnimEngine[animName].length * 0.9f; KnockdownEndTime = EndOfStateTime + _agentAction.time; _status = KnockdownStatus.START; }
protected override void Initialize(FSMEvent ev = null) { _eventKnockDown = ev as AnimFSMEventKnockDown; string animName = Agent.AnimSet.GetKnockdowAnim(KnockdownState.Down, Agent.BlackBoard.weaponSelected); _startRotation = Agent.Transform.rotation; _startPosition = Agent.Transform.position; Vector3 dir = _eventKnockDown.attacker.Position - Agent.Transform.position; float angle = 0; if (dir.sqrMagnitude > 0.1f * 0.1f) { dir.Normalize(); angle = Vector3.Angle(Agent.Transform.forward, dir); } else { dir = Agent.Transform.forward; } _finalRotation.SetLookRotation(dir); _rotationTime = angle / 500.0f; _finalPosition = _startPosition + _eventKnockDown.impuls; _moveTime = Agent.AnimEngine[animName].length * 0.4f; _rotationOk = (_rotationTime == 0); _positionOK = (_moveTime == 0); _curRotationTime = 0; _curMoveTime = 0; Phenix.Unity.Utilities.Tools.PlayAnimation(Agent.AnimEngine, animName, 0.05f); _endOfStateTime = Time.timeSinceLevelLoad + Agent.AnimEngine[animName].length * 0.9f; _lyingEndTime = _endOfStateTime + _eventKnockDown.lyingTime; _status = KnockdownStatus.FALL_DOWN; }