diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2017-08-07 18:22:29 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2017-08-07 18:22:29 -0400 |
| commit | daa59a7835c350a09dcb207c714acf57828137f3 (patch) | |
| tree | ae2c00da0e546447ca17a9c5d8492310e5e93f27 /lua/entities/info_edit_townienode | |
| download | artery_editor-daa59a7835c350a09dcb207c714acf57828137f3.tar.gz artery_editor-daa59a7835c350a09dcb207c714acf57828137f3.tar.bz2 artery_editor-daa59a7835c350a09dcb207c714acf57828137f3.zip | |
Inital Commit
Diffstat (limited to 'lua/entities/info_edit_townienode')
| -rw-r--r-- | lua/entities/info_edit_townienode/cl_init.lua | 74 | ||||
| -rw-r--r-- | lua/entities/info_edit_townienode/init.lua | 54 | ||||
| -rw-r--r-- | lua/entities/info_edit_townienode/shared.lua | 13 |
3 files changed, 141 insertions, 0 deletions
diff --git a/lua/entities/info_edit_townienode/cl_init.lua b/lua/entities/info_edit_townienode/cl_init.lua new file mode 100644 index 0000000..87d4201 --- /dev/null +++ b/lua/entities/info_edit_townienode/cl_init.lua @@ -0,0 +1,74 @@ +if engine.ActiveGamemode() ~= "sandbox" then return end + +include("shared.lua") + +ENT.RenderGroup = RENDERGROUP_BOTH + +function ENT:Draw() + render.SetColorMaterial() + render.DrawSphere( self:GetPos(), 10, 30, 30, Color( 0, 175, 175, 100 ) ) + +end + +local function syncentity(ent,data) + print("sending data to server") + net.Start("edit_townienode_update") + net.WriteEntity(ent) + net.WriteTable(data) + net.SendToServer() +end + +net.Receive("edit_navnode",function() + local who = net.ReadEntity() + local data = net.ReadTable() + + local editorframe = vgui.Create("DFrame") + editorframe:SetSize(640,480) + editorframe:SetDraggable(true) + editorframe:MakePopup() + editorframe.OnClose = function(self) + syncentity(who,data) + end + + local editor = vgui.Create("DPanel",editorframe) + editor:Dock(FILL) + + local namelabel = vgui.Create("DLabel",editor) + namelabel:SetText("Name:") + namelabel:SetDark(true) + namelabel:Dock(TOP) + local nametext = vgui.Create("DTextEntry",editor) + nametext:Dock(TOP) + nametext:SetText(data.Name) + nametext:SetUpdateOnType(true) + nametext.OnValueChange = function(self,value) + data.Name = value + end + + local onreachedlabel = vgui.Create("DLabel",editor) + onreachedlabel:SetText("OnReached()") + onreachedlabel:SetDark(true) + onreachedlabel:Dock(TOP) + local onreachedtext = vgui.Create("DTextEntry",editor) + onreachedtext:SetHeight(150) + onreachedtext:Dock(TOP) + onreachedtext:SetMultiline(true) + onreachedtext:SetText(data.OnReached) + onreachedtext:SetTabbingDisabled(true) + onreachedtext.OnValueChange = function(self,value) + data.OnReached = value + end + + local isfinlabel = vgui.Create("DLabel",editor) + isfinlabel:SetText("IsFinished()") + isfinlabel:SetDark(true) + isfinlabel:Dock(TOP) + local isfintext = vgui.Create("DTextEntry",editor) + isfintext:SetHeight(150) + isfintext:Dock(TOP) + isfintext:SetMultiline(true) + isfintext:SetText(data.IsDone) + isfintext.OnValueChange = function(self,value) + data.IsDone = value + end +end) diff --git a/lua/entities/info_edit_townienode/init.lua b/lua/entities/info_edit_townienode/init.lua new file mode 100644 index 0000000..e4702da --- /dev/null +++ b/lua/entities/info_edit_townienode/init.lua @@ -0,0 +1,54 @@ +if engine.ActiveGamemode() ~= "sandbox" then return end + +AddCSLuaFile( "cl_init.lua" ) -- Make sure clientside +AddCSLuaFile( "shared.lua" ) -- and shared scripts are sent. + +include('shared.lua') + +ENT.default_data = { + Model = "models/humans/Group02/Male_03.mdl", + NavNodes = {}, + Pos = nil +} + +ENT.edit_data = { + Size = HULL_TINY, + Type = "navnode", + Model = "models/editor/ground_node.mdl", + get_default_code = function(who) + local default_navnode = [[ + + + + +local node = { + ["Name"] = "%s", --@tagname + ["Position"] = Vector(%f, %f, %f), --@tagpos + ["OnReached"] = function(npc) + + end, + ["IsDone"] = function(npc) + + end, +} +nrequire("sv_npcsystem.lua").CreateNavNode(node) + ]] + local pos = who:GetPos() + local name = "Default Node" + return string.format(default_navnode,name,pos.x,pos.y,pos.z) + end +} +local init = ENT.Initalize +function ENT:Initalize() + print("In towniespawn's initalize") + init(self) +end + +function ENT:OnSave() + print("Node's OnSave was called") + local newtxt = file.Read(self.File,"DATA") + print("new text was",newtxt) + local newname = newtxt:match("%[\"Name\"%] = \"(.-)\", %-%-@tagname") + print("new name is,",newname) + self.Name = newname +end diff --git a/lua/entities/info_edit_townienode/shared.lua b/lua/entities/info_edit_townienode/shared.lua new file mode 100644 index 0000000..2197cb6 --- /dev/null +++ b/lua/entities/info_edit_townienode/shared.lua @@ -0,0 +1,13 @@ +if engine.ActiveGamemode() ~= "sandbox" then return end + +ENT.Type = "anim" +ENT.Base = "info_programmable_base" + +ENT.PrintName= "Townie Node" +ENT.Author= "Apickx" +ENT.Contact= "cogarr.net" +ENT.Purpose= "Set a point of intrest" +ENT.Instructions= "Make sure the npc knows to go to this node" +ENT.Spawnable = true +ENT.AdminSpawnable = false +ENT.Category = "Artery" |
