- AddCSLuaFile("cl_init.lua")
- AddCSLuaFile("shared.lua")
- include("shared.lua")
-   
- ENT.WireDebugName = "No Name" 
- function ENT:Think() 
- 	if(not Wire_DisableOverlayTextUpdate and self.NextOverlayTextTime and CurTime() >= self.NextOverlayTextTime) then 
- 		if(self.NextOverlayText) then 
- 			//self.BaseClass.BaseClass.SetOverlayText(self, self.NextOverlayText) 
- 			self.Entity:SetNetworkedBeamString("GModOverlayText",self.NextOverlayText)
- 			self.NextOverlayText = nil 
- 			self.NextOverlayTextTime = CurTime() + (self.OverlayDelay or 0.4) + math.random()*(self.OverlayRandom or 0.2) 
- 			if(Wire_SlowerOverlayTextUpdate) then 
- 				self.NextOverlayTextTime = self.NextOverlayTextTime + 1 //add a sec between updates 
- 			end 
- 		else 
- 			self.NextOverlayText = nil 
- 			self.NextOverlayTextTime = nil 
- 		end 
- 	end 
- end 
-   
- function ENT:SetOverlayText(txt) 
- 	if(Wire_DisableOverlayTextUpdate) then return end 
- 	if(Wire_FastOverlayTextUpdate) then 
- 		self.Entity:SetNetworkedBeamString("GModOverlayText",txt,true) //send it now, damn it!
- 	else 
- 		if(self.NextOverlayTextTime) then 
- 			self.NextOverlayText = txt 
- 		else 
- 			self.Entity:SetNetworkedBeamString("GModOverlayText",txt)
- 			self.NextOverlayText = nil 
- 			if(not self.OverlayDelay or self.OverlayDelay > 0 or Wire_SlowerOverlayTextUpdate or  not SinglePlayer() or Wire_ForceDelayOverlayTextUpdate) then 
- 				self.NextOverlayTextTime = CurTime() + (self.OverlayDelay or 0.6) + math.random()*(self.OverlayRandom or 0.2) 
- 			end 
- 		end 
- 	end 
- end 
-   
- function ENT:OnRemove() 
- 	Wire_Remove(self.Entity) 
- end 
-   
- function ENT:OnRestore() 
-     Wire_Restored(self.Entity) 
- end 
-   
- function ENT:BuildDupeInfo() 
- 	return WireLib.BuildDupeInfo(self.Entity) 
- end 
-   
- function ENT:ApplyDupeInfo(ply, ent, info, GetEntByID) 
- 	WireLib.ApplyDupeInfo( ply, ent, info, GetEntByID ) 
- end 
-   
- function ENT:PreEntityCopy() 
- 	//build the DupeInfo table and save it as an entity mod 
- 	local DupeInfo = self:BuildDupeInfo() 
- 	if(DupeInfo) then 
- 		duplicator.StoreEntityModifier(self.Entity,"WireDupeInfo",DupeInfo) 
- 	end 
- end 
-   
- function ENT:PostEntityPaste(Player,Ent,CreatedEntities) 
- 	//apply the DupeInfo 
- 	if(Ent.EntityMods and Ent.EntityMods.WireDupeInfo) then 
- 		Ent:ApplyDupeInfo(Player, Ent, Ent.EntityMods.WireDupeInfo, function(id) return CreatedEntities[id] end) 
- 	end 
- end