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
433 {
434 int componentIndex = -1;
435 int proxyBoneIdx = -1;
436 vector cursorHitPos = vector.Zero;
437
438 array<string> selectionNames = new array<string>();
439
440 Object targetObject = null;
441 Object targetParent = null;
442 string surfaceName;
443
445 {
446 ctx.
Write(action_data.m_MainItem);
447 }
448
450 {
451
452 targetObject = action_data.m_Target.GetObject();
453 ctx.
Write(targetObject);
454 targetParent = action_data.m_Target.GetParent();
455 ctx.
Write(targetParent);
456 componentIndex = action_data.m_Target.GetComponentIndex();
457 ctx.
Write(componentIndex);
458 cursorHitPos = action_data.m_Target.GetCursorHitPos();
459 ctx.
Write(cursorHitPos);
460 surfaceName = action_data.m_Target.GetSurfaceName();
461 ctx.
Write(surfaceName);
462 }
464 {
467 Entity entParent = Entity.Cast(action_data.m_Target.GetParent());
468 if (entParent)
469 {
470 action_data.m_Target.GetObject().GetActionComponentNameList(action_data.m_Target.GetComponentIndex(), selectionNames);
471 for (int s = 0; s < selectionNames.Count(); s++)
472 {
473 proxyBoneIdx = entParent.GetBoneIndex(selectionNames[s]);
474 if( proxyBoneIdx > -1 )
475 {
476 break;
477 }
478 }
479 }
480
481 ctx.
Write(proxyBoneIdx);
482 targetParent = action_data.m_Target.GetParent();
483 ctx.
Write(targetParent);
484 componentIndex = action_data.m_Target.GetComponentIndex();
485 ctx.
Write(componentIndex);
486 cursorHitPos = action_data.m_Target.GetCursorHitPos();
487 ctx.
Write(cursorHitPos);
488 surfaceName = action_data.m_Target.GetSurfaceName();
489 ctx.
Write(surfaceName);
490 }
491 }
bool IsUsingProxies()
not using plane object - it's using multiple proxies
proto bool Write(void value_out)