---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by HUAFEI2.
--- DateTime: 2020/6/12 15:40
---

---@class LBaseActor
LBaseActor = LBaseActor or class("LBaseActor");

function LBaseActor:ctor(kActor)
	LOG_I("LBaseActor:ctor()", self, kActor);
end

function LBaseActor:dtor()
	LOG_I("LBaseActor:dtor()");
end

---@return AActor
function LBaseActor:GetKActor()
	return nil;
end

---@return Core::FAttributeSet
function LBaseActor:GetAttributeSet()
	return nil;
end

---@return number
function LBaseActor:GetId()
	return 0;
end

---@return string
function LBaseActor:GetType()
	return "LBaseActor";
end

---@return string
function LBaseActor:ToString()
	return self:GetType()..self:GetId();
end

---@param actorId number
function LBaseActor:SetId(actorId)
	--
end

---@return string
function LBaseActor:GetName()
	return self.m_name;
end

---@param name string
function LBaseActor:SetName(name)
	if name then
		self.m_name = name;
	end
end

---@return boolean 
function LBaseActor:IsValid()
	return false;
end

---@param fX number 
---@param fY number 
---@param fZ number 
---@return boolean 
function LBaseActor:SetWorldPosition(fX, fY, fZ, bTeleport)
	return false;
end

---@return boolean 
---@return number fX 
---@return number fY
---@return number fZ 
function LBaseActor:GetWorldPosition()
	return false, 0, 0, 0;
end

---@param fPitch number
---@param fYaw number
---@param fRoll number 
---@return boolean 
function LBaseActor:SetWorldRotation(fPitch, fYaw, fRoll, bTeleport)
	return false;
end

---@return boolean
---@return number fPitch
---@return number fYaw
---@return number fRoll 
function LBaseActor:GetWorldRotation()
	return false, 0, 0, 0;
end

---@param fX number 
---@param fY number 
---@param fZ number 
---@param bTeleport boolean @default value:false 
---@return boolean 
function LBaseActor:SetWorldScale(fX, fY, fZ, bTeleport)
	return false;
end

---@return boolean 
---@return number fX 
---@return number fY 
---@return number fZ 
function LBaseActor:GetWorldScale()
	return false, 0, 0, 0;
end

---@param fX number 
---@param fY number 
---@param fZ number 
---@param bTeleport boolean @default value:false 
---@return boolean 
function LBaseActor:SetLocalPosition(fX, fY, fZ, bTeleport)
	return false;
end

---@return boolean 
---@return number fX 
---@return number fY 
---@return number fZ 
function LBaseActor:GetLocalPosition()
	return false, 0, 0, 0;
end

---@param fPitch number
---@param fYaw number
---@param fRoll number 
---@return boolean 
function LBaseActor:SetLocalRotation(fPitch, fYaw, fRoll, bTeleport)
	return false;
end

---@return boolean
---@return number fPitch
---@return number fYaw
---@return number fRoll 
function LBaseActor:GetLocalRotation()
	return false, 0, 0, 0;
end

---@param fX number 
---@param fY number 
---@param fZ number 
---@return boolean 
function LBaseActor:SetLocalScale(fX, fY, fZ)
	return false;
end

---@return boolean 
---@return number fX 
---@return number fY 
---@return number fZ 
function LBaseActor:GetLocalScale()
	return false, 0, 0, 0;
end

---@param bVisible boolean 
---@return boolean 
function LBaseActor:SetVisible(bVisible)
	return false;
end

---@return boolean 
function LBaseActor:IsVisible()
	return false;
end

-----------------------------------------ATTACHMENT ABOUT-----------------------------------------

---@return boolean
function LBaseActor:IsUsingAbsolutePosition()
	return false;
end

---@return boolean
function LBaseActor:IsUsingAbsoluteRotation()
	return false;
end

---@return boolean
function LBaseActor:IsUsingAbsoluteScale()
	return false;
end

---@param bAbsolutePosition boolean
---@param bAbsoluteRotation boolean
---@param bAbsoluteScale boolean
---@return boolean
function LBaseActor:SetAbsolute(bAbsolutePosition, bAbsoluteRotation, bAbsoluteScale)
	return false;
end

---@return LBaseActor
function LBaseActor:GetAttachParent()
	return nil;
end

---@param lActor LBaseActor
---@param szBoneName string
---@param eAttachRule number
---@return boolean 
function LBaseActor:AttachToBone(lActor, szBoneName, eAttachRule)
    return false;
end

---@param lActor LBaseActor
---@param szSocketName string
---@param eAttachRule number
---@return boolean
function LBaseActor:AttachToSocket(lActor, szSocketName, eAttachRule)
	return false;
end

---@param lActor LBaseActor
---@param szAnchorPointName string
---@param eAttachRule number
---@return boolean
function LBaseActor:AttachToAnchorPoint(lActor, szAnchorPointName, eAttachRule)
	return false;
end

---@param lActor LBaseActor
---@param eAttachRule number
---@return boolean
function LBaseActor:AttachToParent(lActor, eAttachRule)
	return false;
end

---@return boolean
function LBaseActor:DetachFromParent()
	return false;
end

---@return number
function LBaseActor:GetRoleType()
    return 0;
end

---@return ECollisionType
function LBaseActor:GetCollisionType()
	return nil;
end

---@param eType ECollisionType
---@return boolean
function LBaseActor:SetCollisionType(eType)
	return false;
end

---@param eType bSimulate
---@return boolean
function LBaseActor:SetSimulatePhysics(bSimulate)
	return false;
end

---@return boolean
function LBaseActor:IsSimulatePhysics()
	return false;
end
