/// <summary> /// �����ָ����Actor /// </summary> /// <param name="act">Ҫ����Actor</param> /// <param name="ray">����</param> /// <param name="layerid">������IJ�</param> /// <param name="pos">���ߴ�Actor�ϵĵ������</param> /// <returns>�Ƿ��Actor</returns> public static bool IntersectActor(Actor act, ref Ray ray, LayerID layerid, out Vector3 pos) { if (LayerID.Min <= layerid && layerid < LayerID.Max) { return ICall_IntersectWorld_IntersectActor(act, ref ray, LayerMark.ConvertToMark(layerid), out pos); } pos = Vector3.Zero; return false; }
private static extern void ICall_Actor_SetWorldTransform(Actor self, ref Matrix44 matrix);
private static extern bool ICall_Scene_RemoveActor(Scene self, Actor pActor);
private static extern void ICall_AnimationComponent_RemoveAttachedActor(AnimationComponent self, Actor actor);
/// <summary> /// 移除挂接物体 /// </summary> /// <param name="actor">想要移除的Actor</param> public void RemoveAttachedActor(Actor actor) { ICall_AnimationComponent_RemoveAttachedActor(this, actor); }
private static extern void ICall_Actor_GetLocalPos(Actor self, out Vector3 outPos);
private static extern void ICall_Actor_GetLocalScale(Actor self, out Vector3 outScale);
private static extern int ICall_Actor_FindChildIndex(Actor self, UInt32 fastId);
private static extern bool ICall_Actor_GetActiveControl(Actor self);
private static extern void ICall_Actor_Deactive(Actor self, bool forceActiveControlofChild);
private static extern Actor ICall_Actor_FindChild(Actor self, UInt32 fastId);
private static extern void ICall_Actor_Bind(Actor self);
private static extern void ICall_Actor_AddChild(Actor self, Actor child);
private static extern void ICall_Actor_Yaw(Actor self, float angle);
private static extern UInt32 ICall_Actor_GetLayerID(Actor self);
private static extern Actor ICall_Actor_GetChild(Actor self, int index);
private static extern void ICall_Actor_GetLocalBoundingBox(Actor self, out BoundingBox bb);
private static extern int ICall_Actor_GetChildCount(Actor self);
private static extern void ICall_Actor_GetLocalRotation(Actor self, out Quaternion outRot);
private static extern Component ICall_Actor_GetComponentByName(Actor self, String sName);
private static extern void ICall_AnimationComponent_AddAttachedActor(AnimationComponent self, Actor actor, String skelName);
private static extern UInt32 ICall_Actor_GetFastId(Actor self);
/// <summary> /// 添加挂接物体 /// </summary> /// <param name="actor">需要挂接上去的Actor</param> /// <param name="skelName">挂接目标骨骼</param> public void AddAttachedActor(Actor actor, String skelName) { ICall_AnimationComponent_AddAttachedActor(this, actor, skelName); }
private static extern byte[] ICall_Actor_GetGuid(Actor self);
private static extern bool ICall_Scene_AddActor(Scene self, Actor pActor);
private static extern bool ICall_Actor_GetInheritRotation(Actor self);
private static extern bool ICall_IntersectWorld_IntersectActor(Actor act, ref Ray ray, uint selectMark, out Vector3 pos);
private static extern bool ICall_Actor_GetInheritScale(Actor self);
/// <summary> /// ��ȡ������ָ��(����)Actor�Ľ��� /// </summary> /// <param name="act">Ҫ����Actor</param> /// <param name="ray">Ҫ��������</param> /// <param name="mark">Actor�Ĺ��˲�(ֻ��������Actor���������)</param> /// <param name="pos">������Actor�Ľ���</param> /// <returns>������Actor�Ƿ��н���</returns> public static bool IntersectActor(Actor act, ref Ray ray, LayerMark mark, out Vector3 pos) { return ICall_IntersectWorld_IntersectActor(act, ref ray, mark.MarkAsUINT, out pos); }
private static extern void ICall_Actor_SetWorldScale(Actor self, ref Vector3 rot);