1#include "Game/NameObj/NameObjExecuteHolder.hpp"
2#include "Game/NameObj/NameObjListExecutor.hpp"
3#include "Game/LiveActor/LiveActor.hpp"
4#include "Game/Scene/SceneObjHolder.hpp"
5#include "Game/System/GameSystem.hpp"
6#include "Game/SingletonHolder.hpp"
8NameObjExecuteInfo::NameObjExecuteInfo() {
19void NameObjExecuteInfo::setConnectInfo(
NameObj *pObj,
int a2,
int a3,
int a4,
int a5) {
21 mExecutedObject = pObj;
30 _A = exec->registerDrawBuffer((
LiveActor*)pObj, a4);
34 exec->incrementCheckMovement(pObj, a2);
38 exec->incrementCheckCalcAnim(pObj, a3);
42 exec->incrementCheckDraw(pObj, a5);
46void NameObjExecuteInfo::initConnectting() {
64void NameObjExecuteInfo::requestConnect(u8 *pData) {
81void NameObjExecuteInfo::requestDisconnect(u8 *pData,
bool a2) {
106void NameObjExecuteInfo::executeRequirementConnectMovement() {
112void NameObjExecuteInfo::executeRequirementDisconnectMovement() {
118void NameObjExecuteInfo::executeRequirementConnectDraw() {
124void NameObjExecuteInfo::executeRequirementDisconnectDraw() {
130void NameObjExecuteInfo::executeRequirementDisconnectDrawDelay() {
136void NameObjExecuteInfo::requestMovementOn(
int a1) {
142 MR::requestMovementOn(mExecutedObject);
145void NameObjExecuteInfo::requestMovementOff(
int a1) {
151 MR::requestMovementOff(mExecutedObject);
154void NameObjExecuteInfo::findLightInfo()
const {
158void NameObjExecuteInfo::connectToScene() {
163 exec->addToMovement(mExecutedObject, _6);
167 exec->addToCalcAnim(mExecutedObject, _7);
171void NameObjExecuteInfo::disconnectToScene() {
176 exec->removeToMovement(mExecutedObject, _5);
180 exec->removeToCalcAnim(mExecutedObject, _7);
184void NameObjExecuteInfo::connectToDraw() {
189 exec->addToDraw(mExecutedObject, _8);
193 exec->addToDrawBuffer((
LiveActor*)mExecutedObject, _9, _A);
197void NameObjExecuteInfo::disconnectToDraw() {
202 exec->removeToDraw(mExecutedObject, _8);
206 exec->removeToDrawBuffer((
LiveActor*)mExecutedObject, _9, _A);
210void NameObjExecuteHolder::registerActor(
NameObj *pObj,
int a2,
int a3,
int a4,
int a5) {
211 mExecuteArray[_14].setConnectInfo(pObj, a2, a3, a4, a5);
216void NameObjExecuteHolder::initConnectting() {
217 for (s32 i = 0; i < mExecuteCount; i++) {
218 mExecuteArray[i].initConnectting();
222void NameObjExecuteHolder::connectToScene(
NameObj *pObj) {
226 inf->requestConnect((u8*)&inf->_4);
231void NameObjExecuteHolder::connectToDraw(
NameObj *pObj) {
235 inf->requestConnect((u8*)&inf->_5);
240void NameObjExecuteHolder::disconnectToScene(
NameObj *pObj) {
244 inf->requestDisconnect((u8*)&inf->_4,
false);
249void NameObjExecuteHolder::disconnectToDraw(
NameObj *pObj) {
253 inf->requestDisconnect((u8*)&inf->_5,
false);
258bool NameObjExecuteHolder::isConnectToDraw(
const NameObj *pObj)
const {
271void NameObjExecuteHolder::executeRequirementConnectMovement() {
273 for (s32 i = 0; i < mExecuteCount; i++) {
274 mExecuteArray[i].executeRequirementConnectMovement();
281void NameObjExecuteHolder::executeRequirementDisconnectMovement() {
283 for (s32 i = 0; i < mExecuteCount; i++) {
284 mExecuteArray[i].executeRequirementDisconnectMovement();
291void NameObjExecuteHolder::executeRequirementConnectDraw() {
293 for (s32 i = 0; i < mExecuteCount; i++) {
294 mExecuteArray[i].executeRequirementConnectDraw();
301void NameObjExecuteHolder::executeRequirementDisconnectDraw() {
303 for (s32 i = 0; i < mExecuteCount; i++) {
304 mExecuteArray[i].executeRequirementDisconnectDraw();
311void NameObjExecuteHolder::executeRequirementDisconnectDrawDelay() {
313 for (s32 i = 0; i < mExecuteCount; i++) {
314 mExecuteArray[i].executeRequirementDisconnectDrawDelay();
321void NameObjExecuteHolder::requestMovementOn(
int idx) {
322 for (s32 i = 0; i < mExecuteCount; i++) {
323 mExecuteArray[i].requestMovementOn(idx);
327void NameObjExecuteHolder::requestMovementOff(
int idx) {
328 for (s32 i = 0; i < mExecuteCount; i++) {
329 mExecuteArray[i].requestMovementOff(idx);
343 void registerNameObjToExecuteHolder(
NameObj *pObj,
int a2,
int a3,
int a4,
int a5) {
344 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->registerActor(pObj, a2, a3, a4, a5);
347 void initConnectting() {
348 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->initConnectting();
351 void connectToSceneTemporarily(
NameObj *pObj) {
352 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->connectToScene(pObj);
355 void disconnectToSceneTemporarily(
NameObj *pObj) {
356 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->disconnectToScene(pObj);
359 void connectToDrawTemporarily(
NameObj *pObj) {
360 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->connectToDraw(pObj);
363 void disconnectToDrawTemporarily(
NameObj *pObj) {
364 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->disconnectToDraw(pObj);
367 bool isConnectToDrawTemporarily(
const NameObj *pObj) {
368 return reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->isConnectToDraw(pObj);
371 void executeRequirementConnectMovement() {
372 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->executeRequirementConnectMovement();
375 void executeRequirementDisconnectMovement() {
376 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->executeRequirementDisconnectMovement();
379 void executeRequirementConnectDraw() {
380 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->executeRequirementConnectDraw();
383 void executeRequirementDisconnectDraw() {
384 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->executeRequirementDisconnectDraw();
387 void executeRequirementDisconnectDrawDelay() {
388 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->executeRequirementDisconnectDrawDelay();
391 void requestMovementOnWithCategory(
int category) {
392 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->requestMovementOn(category);
395 void requestMovementOffWithCategory(
int category) {
396 reinterpret_cast<NameObjExecuteHolder*
>(MR::getSceneObjHolder()->getObj(SceneObj_NameObjExecuteHolder))->requestMovementOff(category);
399 void MR::findActorLightInfo(
const LiveActor *pActor) {
400 MR::getSceneObj<NameObjExecuteHolder*>(SceneObj_NameObjExecuteHolder)->getConnectToSceneInfo(pActor)->findLightInfo();
404NameObjExecuteHolder::NameObjExecuteHolder(
int count) :
NameObj(
"connectToScene情報保持") {
405 mExecuteCount = count;
416NameObjExecuteHolder::~NameObjExecuteHolder() {
The basis of a drawable actor that can contain states (see: Nerve)
The most basic form of an object.
s16 mExecutorIdx
The index into the NameObjExecuteInfo array.
Class that executes NameObjCategoryList instances.