Skip to content

Commit

Permalink
add ui of pannel
Browse files Browse the repository at this point in the history
  • Loading branch information
zombieJ committed Jul 22, 2018
1 parent 80cdea9 commit 0124a60
Show file tree
Hide file tree
Showing 6 changed files with 116 additions and 356 deletions.
14 changes: 7 additions & 7 deletions scripts/containersWrapper.lua
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ function params.aip_nectar_maker.widget.buttoninfo.validfn(inst)
end


---------------- 暗影包裹 ----------------
---------------- 暗影宝箱 ----------------
params.aip_shadow_chest =
{
widget =
Expand Down Expand Up @@ -138,16 +138,16 @@ for y = 2, 0, -1 do
end

local tmpConfig = {
prompt = "Write on the sign",
--[[prompt = "Write on the sign",
animbank = "ui_board_5x3",
animbuild = "ui_board_5x3",
menuoffset = Vector3(6, -70, 0),
menuoffset = Vector3(6, -70, 0),]]

cancelbtn = { text = "Cancel", cb = nil, control = CONTROL_CANCEL },
middlebtn = { text = "Random", cb = nil, control = CONTROL_MENU_MISC_2 },
acceptbtn = { text = "Write it!", cb = nil, control = CONTROL_ACCEPT },
-- middlebtn = { text = "Random", cb = nil, control = CONTROL_MENU_MISC_2 },
acceptbtn = { text = "Confirm", cb = nil, control = CONTROL_ACCEPT },

config = {
--[[config = {
{
name = "autoCollect",
label = "Auto Collect Item",
Expand All @@ -158,7 +158,7 @@ local tmpConfig = {
},
default = "false",
},
},
},]]
}

function params.aip_shadow_chest.widget.buttoninfo.fn(inst)
Expand Down
22 changes: 8 additions & 14 deletions scripts/hudWrapper.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,18 @@ end

-----------------------------------------------------------------------
local PlayerHud = GLOBAL.require("screens/playerhud")
local ConfigWidget = GLOBAL.require("widgets/aipAutoConfigWidget")

-- 显示自动化配置窗口
function PlayerHud:ShowAIPAutoConfigWidget(inst, config)
if writeable == nil then
return
else
self.writeablescreen = WriteableWidget(self.owner, inst, config)
self:OpenScreenUnderPause(self.writeablescreen)
if TheFrontEnd:GetActiveScreen() == self.writeablescreen then
-- Have to set editing AFTER pushscreen finishes.
self.writeablescreen.edit_text:SetEditing(true)
end
return self.writeablescreen
end
self.aipAutoConfigScreen = ConfigWidget(self.owner, inst, config)
self:OpenScreenUnderPause(self.aipAutoConfigScreen)
return self.aipAutoConfigScreen
end

function PlayerHud:CloseAIPAutoConfigWidget()
if self.writeablescreen then
self.writeablescreen:Close()
self.writeablescreen = nil
if self.aipAutoConfigScreen then
self.aipAutoConfigScreen:Close()
self.aipAutoConfigScreen = nil
end
end
13 changes: 7 additions & 6 deletions scripts/shadowPackageAction.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GLOBAL.require("recipe")

local PlayerHud = GLOBAL.require("screens/playerhud")
local ConfigWidget = GLOBAL.require("widgets/aipConfigWidget")
--local PlayerHud = GLOBAL.require("screens/playerhud")
--local ConfigWidget = GLOBAL.require("widgets/aipConfigWidget")

local function canPackage(inst)
if not inst then
Expand All @@ -22,11 +22,12 @@ local function canPackage(inst)
end

----------------------------------------- 注入 -----------------------------------------
function PlayerHud:ShowAIPAutoConfigWidget(inst, config)
-- 2018-07-22 不知道这段代码干什么用的了,先全部注释了
--[[function PlayerHud:ShowAIPAutoConfigWidget(inst, config)
self.aipAutoConfigScreen = ConfigWidget(self.owner, inst, config)
self:OpenScreenUnderPause(self.aipAutoConfigScreen)
return self.aipAutoConfigScreen
--[[if writeable == nil then
[if writeable == nil then
return
else
self.writeablescreen = WriteableWidget(self.owner, writeable, config)
Expand All @@ -36,15 +37,15 @@ function PlayerHud:ShowAIPAutoConfigWidget(inst, config)
self.writeablescreen.edit_text:SetEditing(true)
end
return self.writeablescreen
end]]
end]
end
function PlayerHud:CloseAIPAutoConfigWidget()
if self.aipAutoConfigScreen then
self.aipAutoConfigScreen:Close()
self.aipAutoConfigScreen = nil
end
end
end]]

---------------------------------------- 搬运者 ----------------------------------------
local old_HAMMER = GLOBAL.ACTIONS.HAMMER.fn
Expand Down
94 changes: 94 additions & 0 deletions scripts/widgets/aipAutoConfigWidget.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
-- 自动化配置面板
local Screen = require "widgets/screen"
local Widget = require "widgets/widget"
local Text = require "widgets/text"
local TextEdit = require "widgets/textedit"
local Menu = require "widgets/menu"
local UIAnim = require "widgets/uianim"
local ImageButton = require "widgets/imagebutton"

local TEMPLATES = require "widgets/templates"

local function closeScreen(owner)
owner.HUD:CloseAIPAutoConfigWidget()
end

local AutoConfigWidget = Class(Screen, function(self, owner, inst, config)
Screen._ctor(self, "AIP_AutoConfigWidget")

self.aipOwner = owner
self.aipInst = inst
self.aipConfig = config

self.isopen = false

self._scrnw, self._scrnh = TheSim:GetScreenSize()
self:SetScaleMode(SCALEMODE_PROPORTIONAL) -- 按比例
self:SetMaxPropUpscale(MAX_HUD_SCALE) -- 最大比例?
self:SetPosition(0, 0, 0)
self:SetVAnchor(ANCHOR_MIDDLE)
self:SetHAnchor(ANCHOR_MIDDLE)

-- 添加一个根据屏幕比例缩放的根节点
self.scalingroot = self:AddChild(Widget("aipConfigWidgetScalingRoot"))
self.scalingroot:SetScale(TheFrontEnd:GetHUDScale())
self.inst:ListenForEvent("continuefrompause", function()
if self.isopen then
self.scalingroot:SetScale(TheFrontEnd:GetHUDScale())
end
end, TheWorld)
self.inst:ListenForEvent("refreshhudsize", function(hud, scale)
if self.isopen then
self.scalingroot:SetScale(scale)
end
end, owner.HUD.inst)

-- 添加一个相对缩放根节点小一点的节点
self.root = self.scalingroot:AddChild(Widget("aipConfigWidgetRoot"))
self.root:SetScale(.6, .6, .6)

-- 添加黑色背景
self.black = self.root:AddChild(Image("images/global.xml", "square.tex"))
self.black:SetVRegPoint(ANCHOR_MIDDLE)
self.black:SetHRegPoint(ANCHOR_MIDDLE)
self.black:SetVAnchor(ANCHOR_MIDDLE)
self.black:SetHAnchor(ANCHOR_MIDDLE)
self.black:SetScaleMode(SCALEMODE_FILLSCREEN)
self.black:SetTint(0, 0, 0, 0.3)
self.black.OnMouseButton = function() closeScreen(owner) end

-- 背景框
self.bg = self.root:AddChild(TEMPLATES.CurlyWindow(600, 600, 1, 1, 68, -40))
self.bg.fill = self.bg:AddChild(Image("images/fepanel_fills.xml", "panel_fill_tiny.tex"))
self.bg.fill:SetScale(1.65, 1.85)
self.bg.fill:SetPosition(8, 12)

-- 按钮
self.buttons = {}
table.insert(self.buttons, { text = config.cancelbtn.text, cb = function() closeScreen(owner) end, control = config.cancelbtn.control })
table.insert(self.buttons, { text = config.acceptbtn.text, cb = function() aipPrint("Close window!!!") end, control = config.acceptbtn.control })

local menuoffset = Vector3(0, 0, 0)
local spacing = 110
self.menu = self.root:AddChild(Menu(self.buttons, spacing, true, "small"))
self.menu:SetTextSize(35)
self.menu:SetPosition(menuoffset.x - .5 * spacing * (#self.buttons - 1), menuoffset.y - 260, menuoffset.z)

-- 文字
self.checkbox_parent:AddChild(Text(CHATFONT, 30, STRINGS.UI.SERVERLISTINGSCREEN.SHOW_MOD_WARNING))

-- 收尾
self.isopen = true
self:Show()
end)

function AutoConfigWidget:Close()
if self.isopen then
self.isopen = false

self.black:Kill()
self.inst:DoTaskInTime(.1, function() TheFrontEnd:PopScreen(self) end)
end
end

return AutoConfigWidget
90 changes: 0 additions & 90 deletions scripts/widgets/aipConfigWidget.bac.lua

This file was deleted.

Loading

0 comments on commit 0124a60

Please sign in to comment.