mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
Upload
This commit is contained in:
103
lua/pac3/editor/client/logic.lua
Normal file
103
lua/pac3/editor/client/logic.lua
Normal file
@@ -0,0 +1,103 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
pace.current_part = NULL
|
||||
pace.properties = NULL
|
||||
pace.tree = NULL
|
||||
|
||||
local L = pace.LanguageString
|
||||
local alreadyInCall
|
||||
|
||||
function pace.PopulateProperties(part)
|
||||
if pace.properties:IsValid() then
|
||||
pace.properties:Populate(part:GetProperties())
|
||||
for k,v in pairs(pace.extra_populates) do
|
||||
v.func(v.pnl)
|
||||
end
|
||||
pace.extra_populates = {}
|
||||
|
||||
pace.Editor:InvalidateLayout()
|
||||
end
|
||||
end
|
||||
|
||||
function pace.OnDraw()
|
||||
if not pace.editing_viewmodel and not pace.editing_hands then
|
||||
pace.mctrl.HUDPaint()
|
||||
end
|
||||
end
|
||||
|
||||
local function post_draw_view_model()
|
||||
if alreadyInCall then return end
|
||||
|
||||
if pace.editing_viewmodel and not pace.editing_hands then
|
||||
cam.Start2D()
|
||||
|
||||
alreadyInCall = true
|
||||
pace.mctrl.HUDPaint()
|
||||
alreadyInCall = false
|
||||
|
||||
cam.End2D()
|
||||
end
|
||||
end
|
||||
|
||||
local function post_draw_player_hands()
|
||||
if alreadyInCall then return end
|
||||
|
||||
if not pace.editing_viewmodel and pace.editing_hands then
|
||||
cam.Start2D()
|
||||
|
||||
alreadyInCall = true
|
||||
pace.mctrl.HUDPaint()
|
||||
alreadyInCall = false
|
||||
|
||||
cam.End2D()
|
||||
end
|
||||
end
|
||||
|
||||
function pace.OnOpenEditor()
|
||||
alreadyInCall = false
|
||||
pace.SetViewPos(pac.LocalPlayer:EyePos())
|
||||
pace.SetViewAngles(pac.LocalPlayer:EyeAngles())
|
||||
pace.EnableView(true)
|
||||
|
||||
if table.Count(pac.GetLocalParts()) == 0 then
|
||||
pace.Call("CreatePart", "group", L"my outfit")
|
||||
end
|
||||
|
||||
pace.TrySelectPart()
|
||||
|
||||
pace.ResetView()
|
||||
|
||||
pac.AddHook("PostDrawPlayerHands", "pace_viewmodel_edit", post_draw_player_hands)
|
||||
pac.AddHook("PostDrawViewModel", "pace_viewmodel_edit", post_draw_view_model)
|
||||
end
|
||||
|
||||
function pace.OnCloseEditor()
|
||||
pace.EnableView(false)
|
||||
pace.StopSelect()
|
||||
pace.SafeRemoveSpecialPanel()
|
||||
|
||||
pac.RemoveHook("PostDrawViewModel", "pace_viewmodel_edit")
|
||||
pac.RemoveHook("PostDrawPlayerHands", "pace_viewmodel_edit")
|
||||
end
|
||||
|
||||
function pace.TrySelectPart()
|
||||
local part = select(2, next(pac.GetLocalParts()))
|
||||
|
||||
local found = pac.GetPartFromUniqueID(pac.Hash(pac.LocalPlayer), pace.current_part_uid)
|
||||
|
||||
if found:IsValid() and found:GetPlayerOwner() == part:GetPlayerOwner() then
|
||||
part = found
|
||||
end
|
||||
|
||||
if part then
|
||||
pace.Call("PartSelected", part)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user