792 {
794 if (constructionPart)
795 {
796
797 string zoneName;
798 if (!DamageSystem.GetDamageZoneFromComponentName(
m_EntityParent, partName, zoneName))
799 return false;
800
801 float currentZoneHealthLevel =
m_EntityParent.GetHealthLevel(zoneName);
803 return false;
804
806 if (!part.
CanBeRepaired(currentZoneHealthLevel, tool, player))
807 return false;
808
809 if (!player)
810 return true;
811
812
814 return false;
815
816
818 return false;
819
820 if (!
m_EntityParent.IsFacingPlayerEx(player, partName) && !player.GetInputController().CameraIsFreeLook())
821 {
822
823 if (!
g_Game.IsDedicatedServer())
824 {
825 if (facingCheck)
826 {
828 return false;
829 }
830 }
831
834 return true;
835 }
836 }
837
838 return false;
839 }
ConstructionPart GetConstructionPart()
bool HasMaterials(string part_name, bool repairing=false)
bool ConstructionDirectionCheck(PlayerBase player, ConstructionPart part, EConstructionDirCheckType type)
void SetTargetPart(ConstructionPart target_part)
bool CanBeRepaired(int zoneHealthLevel, ItemBase tool=null, PlayerBase player=null)
Instanced construction part data classes for dynamic data, statics now stored on EntityType level in ...