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
427 {
428 int componentIndex = -1;
429 int proxyBoneIdx = -1;
430 vector cursorHitPos = vector.Zero;
431
432 array<string> selectionNames = new array<string>();
433
434 Object targetObject = null;
435 Object targetParent = null;
436
438 {
439 ctx.
Write(action_data.m_MainItem);
440 }
441
443 {
444
445 targetObject = action_data.m_Target.GetObject();
446 ctx.
Write(targetObject);
447 targetParent = action_data.m_Target.GetParent();
448 ctx.
Write(targetParent);
449 componentIndex = action_data.m_Target.GetComponentIndex();
450 ctx.
Write(componentIndex);
451 cursorHitPos = action_data.m_Target.GetCursorHitPos();
452 ctx.
Write(cursorHitPos);
453 }
455 {
458 Entity entParent = Entity.Cast(action_data.m_Target.GetParent());
459 if (entParent)
460 {
461 action_data.m_Target.GetObject().GetActionComponentNameList(action_data.m_Target.GetComponentIndex(), selectionNames);
462 for (int s = 0; s < selectionNames.Count(); s++)
463 {
464 proxyBoneIdx = entParent.GetBoneIndex(selectionNames[s]);
465 if( proxyBoneIdx > -1 )
466 {
467 break;
468 }
469 }
470 }
471
472 ctx.
Write(proxyBoneIdx);
473 targetParent = action_data.m_Target.GetParent();
474 ctx.
Write(targetParent);
475 componentIndex = action_data.m_Target.GetComponentIndex();
476 ctx.
Write(componentIndex);
477 cursorHitPos = action_data.m_Target.GetCursorHitPos();
478 ctx.
Write(cursorHitPos);
479 }
480 }
bool IsUsingProxies()
not using plane object - it's using multiple proxies
proto bool Write(void value_out)