get proxy bone idx from parent and selection we are looking at ID is used for synchronisation to server where it's translated back to object
465 {
466#ifdef ENABLE_LOGGING
468 {
469 Debug.
ActionLog(
"STS = " + action_data.
m_Player.GetSimulationTimeStamp(),
this.ToString() ,
"n/a",
"WriteToContext", action_data.
m_Player.ToString() );
470 }
471#endif
472 int componentIndex = -1;
473 int proxyBoneIdx = -1;
475
477
478 Object targetObject = null;
479 Object targetParent = null;
480
482 {
484 }
485
487 {
488
489 targetObject = action_data.
m_Target.GetObject();
490 ctx.
Write(targetObject);
491 targetParent = action_data.
m_Target.GetParent();
492 ctx.
Write(targetParent);
493 componentIndex = action_data.
m_Target.GetComponentIndex();
494 ctx.
Write(componentIndex);
495 cursorHitPos = action_data.
m_Target.GetCursorHitPos();
496 ctx.
Write(cursorHitPos);
497 }
499 {
503 if (entParent)
504 {
505 action_data.
m_Target.GetObject().GetActionComponentNameList(action_data.
m_Target.GetComponentIndex(), selectionNames);
506 for (int s = 0; s < selectionNames.Count(); s++)
507 {
508 proxyBoneIdx = entParent.GetBoneIndex(selectionNames[s]);
509 if( proxyBoneIdx > -1 )
510 {
511 break;
512 }
513 }
514 }
515
516 ctx.
Write(proxyBoneIdx);
517 targetParent = action_data.
m_Target.GetParent();
518 ctx.
Write(targetParent);
519 componentIndex = action_data.
m_Target.GetComponentIndex();
520 ctx.
Write(componentIndex);
521 cursorHitPos = action_data.
m_Target.GetCursorHitPos();
522 ctx.
Write(cursorHitPos);
523 }
524 }
bool IsUsingProxies()
not using plane object - it's using multiple proxies
ref ActionTarget m_Target
static void ActionLog(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
static bool IsActionLogEnable()
proto bool Write(void value_out)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.