

游戏设置窗口类 = class()

--=============================================================================--
-- ■ 构造函数
--=============================================================================--

function 游戏设置窗口类:初始化(x坐标,y坐标,图片,是否可移动)

	self.标识 = "游戏设置"
	self.窗口底图 = 引擎:载入图片	 (图片)
	
	self.宽度 =  引擎:取图片宽度 (self.窗口底图)
	self.高度 =  引擎:取图片高度 (self.窗口底图)
	
	self.窗口底图精灵 = D2D_精灵.创建 (self.窗口底图, 0, 0, self.宽度, self.高度 )
	
	self.可视 = false
	self.移动  = false
	self.可移动 = 是否可移动
	self.坐标 = {x=x坐标,y=y坐标}
	self.焦点 = false
	self.临时点= { x=0 , y=0 }
	self.最后激活时间 = 0
--	self.事件激活 = false  -- 控制窗口本身是否能移动

	self.视频图片1=引擎:载入图片("Dat/UI/窗口/视频1.png")
	self.视频图片2=引擎:载入图片("Dat/UI/窗口/视频2.png")
	self.音频图片1=引擎:载入图片("Dat/UI/窗口/音频1.png")
	self.音频图片2=引擎:载入图片("Dat/UI/窗口/音频2.png")
	self.选择图片1=引擎:载入图片("Dat/UI/窗口/选择1.png")
	self.选择图片2=引擎:载入图片("Dat/UI/窗口/选择2.png")
	self.视频精灵=D2D_精灵.创建( self.视频图片2,0,0,51,31)
	self.音频精灵=D2D_精灵.创建( self.音频图片1,0,0,51,31)
	self.选择精灵1=D2D_精灵.创建( self.选择图片1,0,0,20,16)
	self.选择精灵2=D2D_精灵.创建( self.选择图片2,0,0,20,16)
	self.选择精灵3=D2D_精灵.创建( self.选择图片1,0,0,20,16)
	self.选择精灵4=D2D_精灵.创建( self.选择图片2,0,0,20,16)
	self.视频选项=true
	self.选择精灵5=D2D_精灵.创建( self.选择图片2,0,0,20,16)--以下是音频选项的东西
	self.选择精灵6=D2D_精灵.创建( self.选择图片1,0,0,20,16)
	
	self.关闭按钮 = D2D_按钮.创建 ("Dat/UI/关闭按钮.png",self.坐标.x+338, self.坐标.y+17)
	self.应用按钮 = D2D_按钮.创建 ("Dat/UI/窗口/应用按钮.png",self.坐标.x+245, self.坐标.y+260)
	self.默认按钮 = D2D_按钮.创建 ("Dat/UI/窗口/默认按钮.png",self.坐标.x+85, self.坐标.y+260)
	
	self.GUI布局 = D2D_GUI布局.创建()
	self.素材图片   = 引擎:载入图片("Dat/UI/窗口/GUI图片.png")
	self.音量滑动条背景精灵 = D2D_精灵.创建(self.素材图片,0,122,141,18)
 	self.亮度滑动条背景精灵 = D2D_精灵.创建(self.素材图片,0,122,141,18)
	
	self.音量滑动条 = D2D_滑动条.创建(1,self.坐标.x+110, self.坐标.y+185,self.音量滑动条背景精灵:取宽度()-10,20,self.素材图片,162,120,14,24,false) -- 创建一个self.音量滑动条
	self.音量滑动条:置属性(1,100,2)
	self.音量滑动条:置位置(50)
	
--	self.亮度滑动条 = D2D_滑动条.创建(2,self.坐标.x+118, self.坐标.y+230,self.音量滑动条背景精灵:取宽度()-10,20,self.素材图片,162,120,14,24,false) -- 创建一个self.音量滑动条
--	self.亮度滑动条:置属性(0,255,2)
--	self.亮度滑动条:置位置(10)
	
	self.GUI布局:绑定控件(self.音量滑动条)
	--self.GUI布局:绑定控件(self.亮度滑动条)
	
	
end





--=============================================================================--
-- ■ 更新
--=============================================================================--

function 游戏设置窗口类:更新(dt)

    if( self.可视 ) then 
	
	 --	self.事件激活 = false 
		
		if (Q_屏幕.窗口id ~=0 and Q_界面_窗口_数组[Q_屏幕.窗口id].标识 == "游戏设置") then 
		
			self.关闭按钮:更新()
			self.应用按钮:更新()
			self.默认按钮:更新()
			self.GUI布局:更新(dt)
			
			if(self.关闭按钮:取是否单击() )then
				self.可视 = false
				Q_游戏商店窗口.可视 = false
			end
			
		if(引擎:取按键按下(键_鼠标左))then
			 
			
		      if(self.视频精灵:取包围盒():检测_点(鼠标坐标.x,鼠标坐标.y))then
			self.视频精灵:置图片(self.视频图片2)
			self.音频精灵:置图片(self.音频图片1)
			self.视频选项=true
			
			
		       elseif(self.音频精灵:取包围盒():检测_点(鼠标坐标.x,鼠标坐标.y))then
			self.音频精灵:置图片(self.音频图片2)
			self.视频精灵:置图片(self.视频图片1)
			self.视频选项=false
			end
		      if( self.选择精灵1:取包围盒():检测_点(鼠标坐标.x,鼠标坐标.y))then
			 self.选择精灵1:置图片(self.选择图片2)
			 self.选择精灵2:置图片(self.选择图片1)
		       elseif( self.选择精灵2:取包围盒():检测_点(鼠标坐标.x,鼠标坐标.y))then
			self.选择精灵2:置图片(self.选择图片2)
			self.选择精灵1:置图片(self.选择图片1)
			end
			
			 if( self.选择精灵3:取包围盒():检测_点(鼠标坐标.x,鼠标坐标.y))then
			 self.选择精灵3:置图片(self.选择图片2)
			 self.选择精灵4:置图片(self.选择图片1)
		       elseif( self.选择精灵4:取包围盒():检测_点(鼠标坐标.x,鼠标坐标.y))then
			self.选择精灵4:置图片(self.选择图片2)
			self.选择精灵3:置图片(self.选择图片1)
			end
			
			 if( self.选择精灵5:取包围盒():检测_点(鼠标坐标.x,鼠标坐标.y))then
			 self.选择精灵5:置图片(self.选择图片2)
			 self.选择精灵6:置图片(self.选择图片1)
		       elseif( self.选择精灵6:取包围盒():检测_点(鼠标坐标.x,鼠标坐标.y))then
			self.选择精灵6:置图片(self.选择图片2)
			self.选择精灵5:置图片(self.选择图片1)
		
			end
		end
			
			if( self.应用按钮:取是否单击() )then
			       self.可视 = false
				Q_游戏商店窗口.可视 = false
			      if(self.视频选项)then
					if(self.选择精灵1:取图片()== self.选择图片2)then
					引擎:置窗口模式(false)
					elseif(self.选择精灵2:取图片()== self.选择图片2)then
					引擎:置窗口模式(true)
					end
						if(self.选择精灵3:取图片()== self.选择图片2)then
						游戏退出 =true
						end
			     else
					if(self.选择精灵5:取图片()== self.选择图片1)then
					引擎:置全局音量(0)
					elseif(self.选择精灵5:取图片()== self.选择图片2 )then
				      引擎:置全局音量(100)
					end
			     end
			end
			
                  if( self.默认按钮:取是否单击() )then
			   if( self.视频选项)then
		         self.选择精灵1:置图片(self.选择图片1)
		         self.选择精灵2:置图片(self.选择图片2)
		         self.选择精灵3:置图片(self.选择图片1)
		          self.选择精灵4:置图片(self.选择图片2)
			--    self.亮度滑动条:置位置(0)
			    else
			    self.选择精灵5:置图片(self.选择图片2)
		          self.选择精灵6:置图片(self.选择图片1)
			    self.音量滑动条:置位置(80)
		          end
			    
		      end
		end 
		
		
	end

if(self.选择精灵5:取图片()== self.选择图片2)then

--滚动条.背景音效:改变音量(self.音量滑动条:取位置())
end

--屏幕类.亮度=self.亮度滑动条:取位置()

end









--=============================================================================--
-- ■ 显示
--=============================================================================--

function 游戏设置窗口类:显示()

	if(self.可视) then
	
		self.窗口底图精灵:显示(self.坐标.x, self.坐标.y)
		self.关闭按钮:显示()
		self.应用按钮:显示()
		self.默认按钮:显示()
		self.视频精灵:显示(self.坐标.x+100, self.坐标.y+47)
		self.音频精灵:显示(self.坐标.x+250, self.坐标.y+47)
		if(self.视频选项)then
			文字:置颜色(颜色_红)
			文字:显示(self.坐标.x+120, self.坐标.y+130,"置全屏模式")
			文字:显示(self.坐标.x+250, self.坐标.y+130,"置窗口模式")
			文字:显示(self.坐标.x+120, self.坐标.y+180,"是")
			文字:显示(self.坐标.x+250, self.坐标.y+180,"否")
			文字:置颜色(颜色_酸橙)
			文字:显示(self.坐标.x+30, self.坐标.y+130,"屏幕模式")
			文字:显示(self.坐标.x+30, self.坐标.y+180,"退出游戏")
--	       	文字:显示(self.坐标.x+30, self.坐标.y+230,"屏幕亮度")
			self.选择精灵1:显示(self.坐标.x+95, self.坐标.y+130)
			self.选择精灵2:显示(self.坐标.x+225, self.坐标.y+130)
			self.选择精灵3:显示(self.坐标.x+95, self.坐标.y+180)
			self.选择精灵4:显示(self.坐标.x+225, self.坐标.y+180)
--			self.亮度滑动条背景精灵:显示(self.坐标.x+110, self.坐标.y+230)
		      self.GUI布局:隐藏控件(1,true)
			self.GUI布局:隐藏控件(2,false)
		else	
			self.选择精灵6:显示(self.坐标.x+95, self.坐标.y+130)		
			self.选择精灵5:显示(self.坐标.x+225, self.坐标.y+130)
			文字:置颜色(颜色_酸橙)
			文字:显示(self.坐标.x+30, self.坐标.y+130,"背景音乐")
			文字:显示(self.坐标.x+30, self.坐标.y+185,"音乐音量")
			文字:置颜色(颜色_红)
			文字:显示(self.坐标.x+120, self.坐标.y+130,"关闭")
			文字:显示(self.坐标.x+250, self.坐标.y+130,"开启")
		      self.音量滑动条背景精灵:显示(self.坐标.x+110, self.坐标.y+185)
			   self.GUI布局:隐藏控件(1,false)
			   self.GUI布局:隐藏控件(2,true)
		 end
		self.GUI布局:显示() 
	end

end



--=============================================================================--
-- ■ 开始移动()
--=============================================================================--

function 游戏设置窗口类:开始移动()

	if (self.可视 and self.焦点 and self.可移动) then
		self.坐标.x =  鼠标坐标.x - self.临时点.x
		self.坐标.y =  鼠标坐标.y - self.临时点.y
		self.关闭按钮:置位置(self.坐标.x+338, self.坐标.y+17)
		self.应用按钮:置位置(self.坐标.x+245, self.坐标.y+260)
		self.默认按钮:置位置(self.坐标.x+85, self.坐标.y+260)
		self.GUI布局:移动控件(1,self.坐标.x+110, self.坐标.y+185)
		self.GUI布局:移动控件(2,self.坐标.x+110, self.坐标.y+230)
	end

end




--=============================================================================--
-- ■ 置焦点()
--=============================================================================--

function 游戏设置窗口类:置焦点(是否焦点)
          self.焦点 = 是否焦点
end

--=============================================================================--
-- ■ 移动()
--=============================================================================--

function 游戏设置窗口类:初始移动()

	self.最后激活时间 = 引擎:取运行时间()

--	if (self.事件激活 == false ) then
	移动焦点窗口 = true
--	end


	if (self.可视 and self.焦点 and self.可移动) then

		self.临时点.x = Q_鼠标坐标.x - self.坐标.x
		self.临时点.y = Q_鼠标坐标.y - self.坐标.y

	end


end


--=============================================================================--
-- ■ 开关()
--=============================================================================--

function 游戏设置窗口类:开关()

	if(self.可视) then
	self.可视 = false

	else
	self.可视 = true
	self.最后激活时间 = 引擎:取运行时间()
	self.焦点 = true


	end

end

--=============================================================================--
-- ■ 检测点()
--=============================================================================--

function 游戏设置窗口类:检测点()

--[[	if (self.事件激活) then
		self.可移动 = false
	else
		self.可移动 = true
	end]]
	
	

	if (self.可视) then
			
		return (self.窗口底图精灵:取包围盒():检测_点(Q_鼠标坐标.x,Q_鼠标坐标.y))

	else
		return false
	end


end


