1#include "Game/LiveActor/ActorJointCtrl.hpp"
2#include "Game/LiveActor/DynamicJointCtrl.hpp"
3#include "Game/LiveActor/FaceJointCtrl.hpp"
4#include "Game/LiveActor/IKJointCtrl.hpp"
5#include "Game/LiveActor/LiveActor.hpp"
7ActorJointCtrl::ActorJointCtrl(
LiveActor *pActor) {
17 mFaceJointCtrl->init();
18 mJointCtrlHolder = ActorJoint::createIKJointCtrlHolder(mActor);
20 if (mJointCtrlHolder) {
25void ActorJointCtrl::startDynamicCtrl(
const char *pName, s32 val) {
26 mJointCtrlKeeper->startCtrl(pName, val);
28void ActorJointCtrl::endDynamicCtrl(
const char *pName, s32 val) {
29 mJointCtrlKeeper->endCtrl(pName, val);
32void ActorJointCtrl::resetDynamicCtrl() {
33 mJointCtrlKeeper->reset();
36void ActorJointCtrl::startFaceCtrl(s32 val) {
37 mFaceJointCtrl->startCtrl(val);
40void ActorJointCtrl::endFaceCtrl(s32 val) {
41 mFaceJointCtrl->endCtrl(val);
44void ActorJointCtrl::setIKEndPosition(
const char *pName,
const TVec3f &a2, f32 a3) {
45 mJointCtrlHolder->setEndPosition(pName, a2, a3);
48void ActorJointCtrl::setIKEndDirection(
const char *pName,
const TVec3f &a2, f32 a3) {
49 mJointCtrlHolder->setEndDirection(pName, a2, a3);
52void ActorJointCtrl::endIKCtrlAll() {
53 mJointCtrlHolder->endCtrlAll();
56void ActorJointCtrl::update() {
61void ActorJointCtrl::startUpdate() {
62 if (mJointCtrlHolder) {
63 mJointCtrlHolder->startUpdate();
73void ActorJointCtrl::endUpdate() {
74 if (mJointCtrlKeeper) {
75 mJointCtrlKeeper->update();
79 mFaceJointCtrl->update();
82 if (mJointCtrlHolder) {
83 mJointCtrlHolder->endUpdate();
89void ActorJointCtrl::setCallBackFunction() {
91 if (mJointCtrlKeeper) {
92 mJointCtrlKeeper->setCallBackFunction();
96 mFaceJointCtrl->setCallBackFunction();
99 if (mJointCtrlHolder) {
100 mJointCtrlHolder->setCallBackFunction();
The basis of a drawable actor that can contain states (see: Nerve)