码牌发牌过程

这是第一版
require ("Data/MJCardData");
ModelCtrl = {};
local this = ModelCtrl;
local transform;
local gameObject;
local modelBehavior;
local modelParent;
local MJName = {};
--麻将桌控制器
MJModelCtrObj = nil;
MJModelBehaviour = nil;

--升降机
MJ_UPDOWN = nil;
--高亮材质
Desk_Hight = nil;
--普通材质
Desk_Low = nil;
--跑马灯东南西北
DongFlag = nil;
NanFlag = nil;
XiFlag = nil;
BeiFlag = nil;

--牌池
CardContent = {};

--牌面Sprite  E开始是吃碰杠和牌
local PaiMianSprite = {"MJ_EDong","MJ_EXi","MJ_ENan","MJ_EBei","MJ_EZhong","MJ_EFa","MJ_EBai",
						"MJ_Dong","MJ_Xi","MJ_Xan","MJ_Bei","MJ_Zhong","MJ_Fa","MJ_Bai",
					   "MJ_PaiDi","MJ_EPaiBei","MJ_EPaiDi",
					   "MJ_ETiao_1","MJ_ETiao_2","MJ_ETiao_3","MJ_ETiao_4","MJ_ETiao_5","MJ_ETiao_6","MJ_ETiao_7","MJ_ETiao_8","MJ_ETiao_9",
					   "MJ_Tiao_1","MJ_Tiao_2","MJ_Tiao_3","MJ_Tiao_4","MJ_Tiao_5","MJ_Tiao_6","MJ_Tiao_7","MJ_Tiao_8","MJ_Tiao_9",
					   "MJ_ETong_1","MJ_ETong_2","MJ_ETong_3","MJ_ETong_4","MJ_ETong_5","MJ_ETong_6","MJ_ETong_7","MJ_ETong_8","MJ_ETong_9",
					   "MJ_Tong_1","MJ_Tong_2","MJ_Tong_3","MJ_Tong_4","MJ_Tong_5","MJ_Tong_6","MJ_Tong_7","MJ_Tong_8","MJ_Tong_9",
					   "MJ_EWan_1","MJ_EWwan_2","MJ_EWwan_3","MJ_EWwan_4","MJ_EWwan_5","MJ_EWwan_6","MJ_EWwan_7","MJ_EWwan_8","MJ_EWwan_9",
					   "MJ_Wan_1","MJ_Wan_2","MJ_Wan_3","MJ_Wan_4","MJ_Wan_5","MJ_Wan_6","MJ_Wan_7","MJ_Wan_8","MJ_Wan_9",
};
PaiMianSprList = {};

--牌池四个容器
Cards_Dong = nil;
CardDContent = {};
Cards_Xi = nil;
CardXContent = {};
Cards_Nan = nil;
CardNContent = {};
Cards_Bei = nil;
CardBContent = {};


--玩家手牌
Player_Dong = nil;
Player_Nan = nil;
Player_Xi = nil;
Player_Bei = nil;
HandCard_Dong = {};
HandCard_Nan = {};
HandCard_Xi = {};
HandCard_Bei = {};
--打出去的牌和容器
Show_Dong = nil;
Show_DContent = {};
Show_Nan = nil;
Show_NContent = {};
Show_Xi = nil;
Show_XContent = {};
Show_Bei = nil;
Show_BContent = {};

--麻将尺寸,X为长,Y为高,Z为宽
MJModelSize = nil;
--构建函数--
function ModelCtrl.New()
    logWarn("ModelCtrl.New--->>");
    return this;
end
function ModelCtrl.Awake()
    logWarn("ModelCtrl.Awake--->>");
    resMgr:LoadPrefab('MJPrefabs',{"MJModel"},this.OnLoadFinshed);
    resMgr:LoadSprites('MJPrefabs',PaiMianSprite,this.LoadSpriteFinshed);
	StartCoroutine(this.Test);
end

--加载麻将桌的材质球
function ModelCtrl.OnLoadMaterial(objs)
    Desk_Hight 	 		= objs[1];
   	Desk_Low	 		= objs[0];
    this.InitPanel();
    this.InitEvent();
end
--加载麻将桌资源
function ModelCtrl.OnLoadFinshed(objs)
	gameObject          	= newObject(objs[0]);
	gameObject.name 		= "MJModel";
	transform				= gameObject.transform;
	MJModelCtrObj			= transform:Find("MJModelCtr").gameObject;
	MJ_UPDOWN 				= MJModelCtrObj.transform:Find("MJ_UPDOWN").gameObject;
	MJModelBehaviour		= gameObject:AddComponent(typeof(LuaFramework.LuaBehaviour));
    resMgr:LoadMaterial('MJMaterial',{"MJ_Desk_D","MJ_Desk_H"},this.OnLoadMaterial);
end

--加载麻将牌面
function ModelCtrl.LoadSpriteFinshed(objs)
	print("加载图片",#PaiMianSprite);
	for i=1,#PaiMianSprite do
		PaiMianSprList[PaiMianSprite[i]] = objs[i - 1];
	end
end

--初始化Panel,相关变量的赋值
function ModelCtrl:InitPanel()
	DongFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Dong").gameObject;
	NanFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Nan").gameObject;
	XiFlag 										= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Xi").gameObject;
	BeiFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Bei").gameObject;
	DongFlag:GetComponent('Renderer').material 	= Desk_Hight;
	NanFlag:GetComponent('Renderer').material 	= Desk_Low;

	Player_Dong									= transform:Find("HandCards/Player_Dong");
	Player_Nan									= transform:Find("HandCards/Player_Nan");
	Player_Xi									= transform:Find("HandCards/Player_Xi");
	Player_Bei									= transform:Find("HandCards/Player_Bei");

	Show_Dong									= transform:Find("ShowCards/Show_Dong");
	Show_Xi										= transform:Find("ShowCards/Show_Xi");
	Show_Nan									= transform:Find("ShowCards/Show_Nan");
	Show_Bei									= transform:Find("ShowCards/Show_Bei");

	Cards_Dong									= MJ_UPDOWN.transform:GetChild(0);
	Cards_Nan									= MJ_UPDOWN.transform:GetChild(1);
	Cards_Xi									= MJ_UPDOWN.transform:GetChild(2);
	Cards_Bei			 						= MJ_UPDOWN.transform:GetChild(3);
end
--初始化事件,相关事件的注册
function ModelCtrl.InitEvent()
    for k,v in pairs(CardData) do
    	if v then
    		table.insert(MJName,v);
    	end
    end
    this.LoadCard();
end

function ModelCtrl.LoadCard()
	resMgr:LoadPrefab("MJMesh",MJName,this.LoadCardFinshed);
end
--加载麻将模型并实例化出136张牌
function ModelCtrl.LoadCardFinshed(objs)
	for i=1,#MJName do
		for j=1,4 do
			local go = newObject(objs[i - 1]);
			go.name = MJName[i];
			if MJModelSize == nil then
				MJModelSize = go:GetComponent('Renderer').bounds.size*0.8;
			end
			if j == 1 then
				this.Card2Desk("Dong",go);
			elseif j == 2 then
				this.Card2Desk("Nan",go);
			elseif j == 3 then
				this.Card2Desk("Xi",go);
			else
				this.Card2Desk("Bei",go);
			end
		end
	end
end

--将麻将放到指定牌池
--Pos指定将麻将放到(东西南北)的位置,go为麻将
function ModelCtrl.Card2Desk(Pos,go)
	if Pos == "Dong" then
		CardDContent[#CardDContent + 1] 	= go.name;
		go.transform:SetParent(Cards_Dong.transform);
		if #CardDContent < 18 then
			go.transform.localPosition		= Vector3.New(0,(9 - #CardDContent) * MJModelSize.z,0);
		else
			go.transform.localPosition		= Vector3.New(0,(9 - (#CardDContent - 17)) * MJModelSize.z,MJModelSize.y);
		end
		go.transform.localEulerAngles 		= Vector3.New(180,0,0);
	elseif Pos == "Nan" then
		CardNContent[#CardNContent + 1] 	= go.name;
		go.transform:SetParent(Cards_Nan.transform);
		if #CardDContent < 18 then
			go.transform.localPosition		= Vector3.New((#CardDContent - 9) * MJModelSize.z,0,0);
		else
			go.transform.localPosition		= Vector3.New((#CardDContent - 17 - 9) * MJModelSize.z,0,MJModelSize.y);
		end
		go.transform.localEulerAngles 		= Vector3.New(180,0,90);
	elseif Pos == "Xi" then
		CardXContent[#CardXContent + 1] 	= go.name;
		go.transform:SetParent(Cards_Xi.transform);
		if #CardDContent < 18 then
			go.transform.localPosition		= Vector3.New(0,(#CardDContent - 9) * MJModelSize.z,0);
		else
			go.transform.localPosition		= Vector3.New(0,(#CardDContent - 17 - 9) * MJModelSize.z,MJModelSize.y);
		end
		go.transform.localEulerAngles 		= Vector3.New(180,0,180);
	else
		CardBContent[#CardBContent + 1] 	= go.name;
		go.transform:SetParent(Cards_Bei.transform);
		if #CardDContent < 18 then
			go.transform.localPosition		= Vector3.New((#CardDContent - 9) * MJModelSize.z,0,0);
		else
			go.transform.localPosition		= Vector3.New((#CardDContent - 17 - 9) * MJModelSize.z,0,MJModelSize.y);
		end
		go.transform.localEulerAngles 		= Vector3.New(0,180,270);
	end
	go.transform.localScale			= Vector3.one*0.8;
end
function ModelCtrl.Test()
	-- WaitForSeconds(5);
	-- ModelCtrl.ShowCard("Bei",1);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",2);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",3);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",4);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",5);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",6);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",7);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",8);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",9);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",10);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",11);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",12);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",13);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",14);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",15);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",16);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",17);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",18);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",19);
	WaitForSeconds(5);
	this.Card2Hand()
end
--打牌到牌堆
--pos将牌打出去的位置,是哪个玩家出的牌
--carddata中的索引值
function ModelCtrl.ShowCard(pos,index)
	if pos == "Dong" then
		for k,v in pairs(HandCard_Dong) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Dong,Show_DContent,v);
				table.remove(HandCard_Dong,k);
			end
		end
		return;
	elseif pos == "Nan" then
		for k,v in pairs(HandCard_Nan) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Nan,Show_NContent,v);
				table.remove(HandCard_Nan,k);
			end
		end
		return;
	elseif pos == "Xi" then
		for k,v in pairs(HandCard_Xi) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Xi,Show_XContent,v);
				table.remove(HandCard_Xi,k);
			end
		end
		return;
	else
		for k,v in pairs(CardBContent) do
			if v == MJName[index].."_4" then
				this.SetShowCardPos(Show_Bei,Show_BContent,v);
				table.remove(HandCard_Bei,k);
			end
		end
		return;
	end
end
--设置打出去的牌的位置
--trf将牌放到的位置,存储的容器,牌的名字
function ModelCtrl.SetShowCardPos(trf,tab,name)
	--将牌由手牌位置飞到目标位置
	tab[#tab + 1] 				= name;
	local targetPos 			= nil;
	local residue 				= #tab % 6;
	local quotient 				= (#tab - 1)/ 6;
	local temp 					= string.format("%d",quotient);
	if residue == 0 then
		residue = 6;
	end
	targetPos					= Vector3.New(MJModelSize.x * temp,(3 - residue + 0.5) * MJModelSize.z,0);
	CardContent[name].transform:SetParent(trf);
	local path 					= {CardContent[name].transform.localPosition,targetPos};
	local seq 					= DOTween.Sequence();
	seq:Append(CardContent[name].transform:DOLocalPath(path,0.2));
	seq:PlayForward();
end


this.HandData = {
	26,39,19,39,35,36,23,16,11,16,37,15,25
}
--发牌到玩家手牌
function ModelCtrl.Card2Hand()
	table.sort(this.HandData,function(a,b) return a < b end);
	for i=1,#this.HandData do
		--模拟从牌池东开始给玩家发牌
		--首先在东内获取服务器给的牌,没有则在南中获取,依次获取
		--获取到后将牌移动到玩家手中
		local temp = this.HandData[i] - 10;
		print("数据=",temp.."名字=",CardData[temp]);
		if CardDContent[CardData[temp]] then
			CardDContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardNContent[CardData[temp]] then
			CardNContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardXContent[CardData[temp]] then
			CardXContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardBContent[CardData[temp]] then
			CardBContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		else
			logError("没有这种牌");
		end
	end
end

function ModelCtrl.SetHandCardPos()
	
end

第二版

require ("Data/MJCardData");
ModelCtrl = {};
local this = ModelCtrl;
local transform;
local gameObject;
local modelBehavior;
local modelParent;
local MJName = {};
--麻将桌控制器
MJModelCtrObj = nil;
MJModelBehaviour = nil;

--升降机
MJ_UPDOWN = nil;
--高亮材质
Desk_Hight = nil;
--普通材质
Desk_Low = nil;
--跑马灯东南西北
DongFlag = nil;
NanFlag = nil;
XiFlag = nil;
BeiFlag = nil;

--牌池
CardContent = {};

--牌面Sprite  E开始是吃碰杠和牌
local PaiMianSprite = {"MJ_EDong","MJ_EXi","MJ_ENan","MJ_EBei","MJ_EZhong","MJ_EFa","MJ_EBai",
						"MJ_Dong","MJ_Xi","MJ_Xan","MJ_Bei","MJ_Zhong","MJ_Fa","MJ_Bai",
					   "MJ_PaiDi","MJ_EPaiBei","MJ_EPaiDi",
					   "MJ_ETiao_1","MJ_ETiao_2","MJ_ETiao_3","MJ_ETiao_4","MJ_ETiao_5","MJ_ETiao_6","MJ_ETiao_7","MJ_ETiao_8","MJ_ETiao_9",
					   "MJ_Tiao_1","MJ_Tiao_2","MJ_Tiao_3","MJ_Tiao_4","MJ_Tiao_5","MJ_Tiao_6","MJ_Tiao_7","MJ_Tiao_8","MJ_Tiao_9",
					   "MJ_ETong_1","MJ_ETong_2","MJ_ETong_3","MJ_ETong_4","MJ_ETong_5","MJ_ETong_6","MJ_ETong_7","MJ_ETong_8","MJ_ETong_9",
					   "MJ_Tong_1","MJ_Tong_2","MJ_Tong_3","MJ_Tong_4","MJ_Tong_5","MJ_Tong_6","MJ_Tong_7","MJ_Tong_8","MJ_Tong_9",
					   "MJ_EWan_1","MJ_EWwan_2","MJ_EWwan_3","MJ_EWwan_4","MJ_EWwan_5","MJ_EWwan_6","MJ_EWwan_7","MJ_EWwan_8","MJ_EWwan_9",
					   "MJ_Wan_1","MJ_Wan_2","MJ_Wan_3","MJ_Wan_4","MJ_Wan_5","MJ_Wan_6","MJ_Wan_7","MJ_Wan_8","MJ_Wan_9",
};
PaiMianSprList = {};

--牌池四个容器
Cards_Dong = nil;
CardDContent = {};
Cards_Xi = nil;
CardXContent = {};
Cards_Nan = nil;
CardNContent = {};
Cards_Bei = nil;
CardBContent = {};


--玩家手牌
Player_Dong = nil;
Player_Nan = nil;
Player_Xi = nil;
Player_Bei = nil;
HandCard_Dong = {};
HandCard_Nan = {};
HandCard_Xi = {};
HandCard_Bei = {};
--打出去的牌和容器
Show_Dong = nil;
Show_DContent = {};
Show_Nan = nil;
Show_NContent = {};
Show_Xi = nil;
Show_XContent = {};
Show_Bei = nil;
Show_BContent = {};

--麻将尺寸,X为长,Y为高,Z为宽
MJModelSize = nil;
--构建函数--
function ModelCtrl.New()
    logWarn("ModelCtrl.New--->>");
    return this;
end
function ModelCtrl.Awake()
    logWarn("ModelCtrl.Awake--->>");
    resMgr:LoadPrefab('MJPrefabs',{"MJModel"},this.OnLoadFinshed);
    resMgr:LoadSprites('MJPrefabs',PaiMianSprite,this.LoadSpriteFinshed);
	StartCoroutine(this.Test);
end

--加载麻将桌的材质球
function ModelCtrl.OnLoadMaterial(objs)
    Desk_Hight 	 		= objs[1];
   	Desk_Low	 		= objs[0];
    this.InitPanel();
    this.InitEvent();
end
--加载麻将桌资源
function ModelCtrl.OnLoadFinshed(objs)
	gameObject          	= newObject(objs[0]);
	gameObject.name 		= "MJModel";
	transform				= gameObject.transform;
	MJModelCtrObj			= transform:Find("MJModelCtr").gameObject;
	MJ_UPDOWN 				= MJModelCtrObj.transform:Find("MJ_UPDOWN").gameObject;
	MJModelBehaviour		= gameObject:AddComponent(typeof(LuaFramework.LuaBehaviour));
    resMgr:LoadMaterial('MJMaterial',{"MJ_Desk_D","MJ_Desk_H"},this.OnLoadMaterial);
end

--加载麻将牌面
function ModelCtrl.LoadSpriteFinshed(objs)
	print("加载图片",#PaiMianSprite);
	for i=1,#PaiMianSprite do
		PaiMianSprList[PaiMianSprite[i]] = objs[i - 1];
	end
end

--初始化Panel,相关变量的赋值
function ModelCtrl:InitPanel()
	DongFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Dong").gameObject;
	NanFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Nan").gameObject;
	XiFlag 										= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Xi").gameObject;
	BeiFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Bei").gameObject;
	DongFlag:GetComponent('Renderer').material 	= Desk_Hight;
	NanFlag:GetComponent('Renderer').material 	= Desk_Low;

	Player_Dong									= transform:Find("HandCards/Player_Dong");
	Player_Nan									= transform:Find("HandCards/Player_Nan");
	Player_Xi									= transform:Find("HandCards/Player_Xi");
	Player_Bei									= transform:Find("HandCards/Player_Bei");

	Show_Dong									= transform:Find("ShowCards/Show_Dong");
	Show_Xi										= transform:Find("ShowCards/Show_Xi");
	Show_Nan									= transform:Find("ShowCards/Show_Nan");
	Show_Bei									= transform:Find("ShowCards/Show_Bei");

	Cards_Dong									= MJ_UPDOWN.transform:GetChild(0);
	Cards_Nan									= MJ_UPDOWN.transform:GetChild(1);
	Cards_Xi									= MJ_UPDOWN.transform:GetChild(2);
	Cards_Bei			 						= MJ_UPDOWN.transform:GetChild(3);
end
--初始化事件,相关事件的注册
function ModelCtrl.InitEvent()
    for k,v in pairs(CardData) do
    	if v then
    		table.insert(MJName,v);
    	end
    end
    this.LoadCard();
end

function ModelCtrl.LoadCard()
	resMgr:LoadPrefab("MJMesh",MJName,this.LoadCardFinshed);
end


local KaiJuData = {pos = "Dong", index = 3};
--加载麻将模型并实例化出一张牌来填充牌池
--根据房间信息和KaiJuData确定牌池的张数和码牌的起点
function ModelCtrl.LoadCardFinshed(objs)
	logWarn("根据房间信息确定牌池的张数---未完成");
	local CardNum = 136;
	local Cards = {};
	for i=1,136 do
		go = newObject(objs[0]);
		table.insert(Cards,go);
	end
	--模型真是尺寸
	MJModelSize = go:GetComponent('Renderer').bounds.size;
	this.Card2Desk(Cards);
	-- for i=1,#MJName do
	-- 	for j=1,4 do
	-- 		local go = newObject(objs[i - 1]);
	-- 		go.name = MJName[i];
	-- 		if MJModelSize == nil then
	-- 			MJModelSize = go:GetComponent('Renderer').bounds.size*0.8;
	-- 		end
	-- 		if j == 1 then
	-- 			this.Card2Desk("Dong",go);
	-- 		elseif j == 2 then
	-- 			this.Card2Desk("Nan",go);
	-- 		elseif j == 3 then
	-- 			this.Card2Desk("Xi",go);
	-- 		else
	-- 			this.Card2Desk("Bei",go);
	-- 		end
	-- 	end
	-- end
end

--将麻将放到指定牌池
--data可以确定一行牌池放多少牌,可以确定码牌的起点
--Cards为即将填充到牌池的所有麻将对象
function ModelCtrl.Card2Desk(Cards)
	logWarn("根据data确定每行的排数和起点---未完成");
	--缩放比列(因牌桌放不下全部麻将,加入缩放比例)
	local modelsize 		= MJModelSize * 1.02;
	local ratio 			= Vector3.one * 0.8;
	local Pos 				= "Dong";
	local CardNums 			= 17;
	--string.format("%d",arg0)向下取整
	--local CentreIndex 		= string.format("%d",CardNums / 2);
	local CentreIndex 		= math.ceil(CardNums / 2);
	--index = 筛子点数加1
	local index 			= 1;
	
	if Pos == "Dong" then 

		for i=1, CardNums - index + 1 do
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			local go1 = CardContent[2 * i - 1];
			local go2 = CardContent[2 * i];
			this.SetDeskCardTRF(go1,go2,Cards_Dong);
			local temp = index + i - 1;
			go1.transform.localPosition				= Vector3.New(0,(temp - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(temp - CentreIndex) * modelsize.z,0);
		end

		for i=1,CardNums do
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			local go1 = CardContent[2 * i - 1 + 2 * (CardNums - index + 1)];
			local go2 = CardContent[2 * i + 2 * (CardNums - index + 1)];
			this.SetDeskCardTRF(go1,go2,Cards_Nan);
			go1.transform.localPosition				= Vector3.New(0,(i - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i - CentreIndex) * modelsize.z ,0);
		end

		for i=1,CardNums do
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			local go1 = CardContent[2 * i - 1 + 2 * (CardNums - index + 1) + 2 * CardNums];
			local go2 = CardContent[2 * i + 2 * (CardNums - index + 1) + 2 * CardNums];
			this.SetDeskCardTRF(go1,go2,Cards_Xi);
			go1.transform.localPosition				= Vector3.New(0,(i - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i - CentreIndex) * modelsize.z,0);
		end

		for i=1,CardNums do
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			local go1 = CardContent[2 * i - 1 + 2 * (CardNums - index + 1) + 4 * CardNums];
			local go2 = CardContent[2 * i + 2 * (CardNums - index + 1) + 4 * CardNums];
			this.SetDeskCardTRF(go1,go2,Cards_Bei);
			go1.transform.localPosition				= Vector3.New(0,(i - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i - CentreIndex) * modelsize.z,0);
		end

		for i=1,index - 1 do
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			table.insert(CardContent,Cards[1]);
			table.remove(Cards,1);
			local go1 = CardContent[ 8 * CardNums - 2 * index + (2 * i - 1)];
			local go2 = CardContent[8 * CardNums - 2 * index + 2 * i];
			this.SetDeskCardTRF(go1,go2,Cards_Dong);
			go1.transform.localPosition				= Vector3.New(0,(i - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i - CentreIndex - 1) * modelsize.z,0);
		end		
	end

	Cards_Dong.transform.localScale			= ratio;
	Cards_Nan.transform.localScale			= ratio;
	Cards_Xi.transform.localScale			= ratio;
	Cards_Bei.transform.localScale			= ratio;
end
--设置牌池麻将的transform
function ModelCtrl.SetDeskCardTRF(go1,go2,bankerID)
	local parent 							= MJ_UPDOWN.transform:GetChild(bankerID % 4);
	go1.transform:SetParent(parent);
	go1.transform.localEulerAngles 			= Vector3.zero;
	go1.transform.localScale 				= Vector3.one;
	go2.transform:SetParent(parent);
	go2.transform.localEulerAngles 			= Vector3.zero;
	go2.transform.localScale 				= Vector3.one;
end
function ModelCtrl.Test()
	-- WaitForSeconds(5);
	-- ModelCtrl.ShowCard("Bei",1);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",2);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",3);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",4);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",5);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",6);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",7);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",8);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",9);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",10);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",11);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",12);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",13);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",14);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",15);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",16);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",17);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",18);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",19);
	WaitForSeconds(5);
	this.Card2Hand()
end
--打牌到牌堆
--pos将牌打出去的位置,是哪个玩家出的牌
--carddata中的索引值
function ModelCtrl.ShowCard(pos,index)
	if pos == "Dong" then
		for k,v in pairs(HandCard_Dong) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Dong,Show_DContent,v);
				table.remove(HandCard_Dong,k);
			end
		end
		return;
	elseif pos == "Nan" then
		for k,v in pairs(HandCard_Nan) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Nan,Show_NContent,v);
				table.remove(HandCard_Nan,k);
			end
		end
		return;
	elseif pos == "Xi" then
		for k,v in pairs(HandCard_Xi) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Xi,Show_XContent,v);
				table.remove(HandCard_Xi,k);
			end
		end
		return;
	else
		for k,v in pairs(CardBContent) do
			if v == MJName[index].."_4" then
				this.SetShowCardPos(Show_Bei,Show_BContent,v);
				table.remove(HandCard_Bei,k);
			end
		end
		return;
	end
end
--设置打出去的牌的位置
--trf将牌放到的位置,存储的容器,牌的名字
function ModelCtrl.SetShowCardPos(trf,tab,name)
	--将牌由手牌位置飞到目标位置
	tab[#tab + 1] 				= name;
	local targetPos 			= nil;
	local residue 				= #tab % 6;
	local quotient 				= (#tab - 1)/ 6;
	local temp 					= string.format("%d",quotient);
	if residue == 0 then
		residue = 6;
	end
	targetPos					= Vector3.New(MJModelSize.x * temp,(3 - residue + 0.5) * MJModelSize.z,0);
	CardContent[name].transform:SetParent(trf);
	local path 					= {CardContent[name].transform.localPosition,targetPos};
	local seq 					= DOTween.Sequence();
	seq:Append(CardContent[name].transform:DOLocalPath(path,0.2));
	seq:PlayForward();
end


this.HandData = {
	26,39,19,39,35,36,23,16,11,16,37,15,25
}
--发牌到玩家手牌
function ModelCtrl.Card2Hand()
	table.sort(this.HandData,function(a,b) return a < b end);
	for i=1,#this.HandData do
		--模拟从牌池东开始给玩家发牌
		--首先在东内获取服务器给的牌,没有则在南中获取,依次获取
		--获取到后将牌移动到玩家手中
		local temp = this.HandData[i] - 10;
		print("数据=",temp.."名字=",CardData[temp]);
		if CardDContent[CardData[temp]] then
			CardDContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardNContent[CardData[temp]] then
			CardNContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardXContent[CardData[temp]] then
			CardXContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardBContent[CardData[temp]] then
			CardBContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		else
			logError("没有这种牌");
		end
	end
end

-- function ModelCtrl.SetHandCardPos()
	
-- end

第三版

require ("Data/MJCardData");
ModelCtrl = {};
local this = ModelCtrl;
local transform;
local gameObject;
local modelBehavior;
local modelParent;
local MJName = {};
--麻将桌控制器
MJModelCtrObj = nil;
MJModelBehaviour = nil;

--升降机
MJ_UPDOWN = nil;
--高亮材质
Desk_Hight = nil;
--普通材质
Desk_Low = nil;
--跑马灯东南西北
DongFlag = nil;
NanFlag = nil;
XiFlag = nil;
BeiFlag = nil;

--牌池
CardContent = {};

--牌面Sprite  E开始是吃碰杠和牌
local PaiMianSprite = {"MJ_EDong","MJ_EXi","MJ_ENan","MJ_EBei","MJ_EZhong","MJ_EFa","MJ_EBai",
						"MJ_Dong","MJ_Xi","MJ_Xan","MJ_Bei","MJ_Zhong","MJ_Fa","MJ_Bai",
					   "MJ_PaiDi","MJ_EPaiBei","MJ_EPaiDi",
					   "MJ_ETiao_1","MJ_ETiao_2","MJ_ETiao_3","MJ_ETiao_4","MJ_ETiao_5","MJ_ETiao_6","MJ_ETiao_7","MJ_ETiao_8","MJ_ETiao_9",
					   "MJ_Tiao_1","MJ_Tiao_2","MJ_Tiao_3","MJ_Tiao_4","MJ_Tiao_5","MJ_Tiao_6","MJ_Tiao_7","MJ_Tiao_8","MJ_Tiao_9",
					   "MJ_ETong_1","MJ_ETong_2","MJ_ETong_3","MJ_ETong_4","MJ_ETong_5","MJ_ETong_6","MJ_ETong_7","MJ_ETong_8","MJ_ETong_9",
					   "MJ_Tong_1","MJ_Tong_2","MJ_Tong_3","MJ_Tong_4","MJ_Tong_5","MJ_Tong_6","MJ_Tong_7","MJ_Tong_8","MJ_Tong_9",
					   "MJ_EWan_1","MJ_EWwan_2","MJ_EWwan_3","MJ_EWwan_4","MJ_EWwan_5","MJ_EWwan_6","MJ_EWwan_7","MJ_EWwan_8","MJ_EWwan_9",
					   "MJ_Wan_1","MJ_Wan_2","MJ_Wan_3","MJ_Wan_4","MJ_Wan_5","MJ_Wan_6","MJ_Wan_7","MJ_Wan_8","MJ_Wan_9",
};
PaiMianSprList = {};

--牌池四个容器
Cards_Dong = nil;
CardDContent = {};
Cards_Xi = nil;
CardXContent = {};
Cards_Nan = nil;
CardNContent = {};
Cards_Bei = nil;
CardBContent = {};


--玩家手牌
Player_Dong = nil;
Player_Nan = nil;
Player_Xi = nil;
Player_Bei = nil;
HandCard_Dong = {};
HandCard_Nan = {};
HandCard_Xi = {};
HandCard_Bei = {};
--打出去的牌和容器
Show_Dong = nil;
Show_DContent = {};
Show_Nan = nil;
Show_NContent = {};
Show_Xi = nil;
Show_XContent = {};
Show_Bei = nil;
Show_BContent = {};

--麻将尺寸,X为长,Y为高,Z为宽
MJModelSize = nil;
--构建函数--
function ModelCtrl.New()
    logWarn("ModelCtrl.New--->>");
    return this;
end
function ModelCtrl.Awake()
    logWarn("ModelCtrl.Awake--->>");
    resMgr:LoadPrefab('MJPrefabs',{"MJModel"},this.OnLoadFinshed);
    resMgr:LoadSprites('MJPrefabs',PaiMianSprite,this.LoadSpriteFinshed);
	StartCoroutine(this.Test);
end

--加载麻将桌的材质球
function ModelCtrl.OnLoadMaterial(objs)
    Desk_Hight 	 		= objs[1];
   	Desk_Low	 		= objs[0];
    this.InitPanel();
    this.InitEvent();
end
--加载麻将桌资源
function ModelCtrl.OnLoadFinshed(objs)
	gameObject          	= newObject(objs[0]);
	gameObject.name 		= "MJModel";
	transform				= gameObject.transform;
	MJModelCtrObj			= transform:Find("MJModelCtr").gameObject;
	MJ_UPDOWN 				= MJModelCtrObj.transform:Find("MJ_UPDOWN").gameObject;
	MJModelBehaviour		= gameObject:AddComponent(typeof(LuaFramework.LuaBehaviour));
    resMgr:LoadMaterial('MJMaterial',{"MJ_Desk_D","MJ_Desk_H"},this.OnLoadMaterial);
end

--加载麻将牌面
function ModelCtrl.LoadSpriteFinshed(objs)
	print("加载图片",#PaiMianSprite);
	for i=1,#PaiMianSprite do
		PaiMianSprList[PaiMianSprite[i]] = objs[i - 1];
	end
end

--初始化Panel,相关变量的赋值
function ModelCtrl:InitPanel()
	DongFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Dong").gameObject;
	NanFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Nan").gameObject;
	XiFlag 										= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Xi").gameObject;
	BeiFlag 									= MJModelCtrObj.transform:Find("MJ_Desk/Flag_Bei").gameObject;
	DongFlag:GetComponent('Renderer').material 	= Desk_Hight;
	NanFlag:GetComponent('Renderer').material 	= Desk_Low;

	Player_Dong									= transform:Find("HandCards/Player_Dong");
	Player_Nan									= transform:Find("HandCards/Player_Nan");
	Player_Xi									= transform:Find("HandCards/Player_Xi");
	Player_Bei									= transform:Find("HandCards/Player_Bei");

	Show_Dong									= transform:Find("ShowCards/Show_Dong");
	Show_Xi										= transform:Find("ShowCards/Show_Xi");
	Show_Nan									= transform:Find("ShowCards/Show_Nan");
	Show_Bei									= transform:Find("ShowCards/Show_Bei");

	Cards_Dong									= MJ_UPDOWN.transform:GetChild(0);
	Cards_Nan									= MJ_UPDOWN.transform:GetChild(1);
	Cards_Xi									= MJ_UPDOWN.transform:GetChild(2);
	Cards_Bei			 						= MJ_UPDOWN.transform:GetChild(3);
end
--初始化事件,相关事件的注册
function ModelCtrl.InitEvent()
    for k,v in pairs(CardData) do
    	if v then
    		table.insert(MJName,v);
    	end
    end
    this.LoadCard();
end

function ModelCtrl.LoadCard()
	resMgr:LoadPrefab("MJMesh",MJName,this.LoadCardFinshed);
end


local KaiJuData = {pos = "Dong", index = 3};
--加载麻将模型并实例化出一张牌来填充牌池
--根据房间信息和KaiJuData确定牌池的张数和码牌的起点
function ModelCtrl.LoadCardFinshed(objs)
	logWarn("根据房间信息确定牌池的张数---未完成");
	local CardNum = 136;
	local Cards = {};
	for i=1,136 do
		go = newObject(objs[0]);
		table.insert(Cards,go);
	end
	--模型真是尺寸
	MJModelSize = go:GetComponent('Renderer').bounds.size;
	this.Card2Desk(Cards);
	-- for i=1,#MJName do
	-- 	for j=1,4 do
	-- 		local go = newObject(objs[i - 1]);
	-- 		go.name = MJName[i];
	-- 		if MJModelSize == nil then
	-- 			MJModelSize = go:GetComponent('Renderer').bounds.size*0.8;
	-- 		end
	-- 		if j == 1 then
	-- 			this.Card2Desk("Dong",go);
	-- 		elseif j == 2 then
	-- 			this.Card2Desk("Nan",go);
	-- 		elseif j == 3 then
	-- 			this.Card2Desk("Xi",go);
	-- 		else
	-- 			this.Card2Desk("Bei",go);
	-- 		end
	-- 	end
	-- end
end

--将麻将放到指定牌池
--data可以确定一行牌池放多少牌,可以确定码牌的起点
--Cards为即将填充到牌池的所有麻将对象
function ModelCtrl.Card2Desk(Cards)
	logWarn("根据data确定每行的排数和起点---未完成");
	--缩放比列(因牌桌放不下全部麻将,加入缩放比例)
	local modelsize 		= MJModelSize * 1.02;
	local ratio 			= Vector3.one * 0.8;
	local Pos 				= "Dong";
	local CardNums 			= 17;
	--string.format("%d",arg0)向下取整
	--local CentreIndex 		= string.format("%d",CardNums / 2);
	local CentreIndex 		= math.ceil(CardNums / 2);
	--index = 筛子点数加1
	local index 			= 1;
	local bankerID 			= 1;

	--计算出庄家位置和码牌起点
	for i=1,#Cards / 2 do
		table.insert(CardContent,Cards[2 * i - 1]); 
		table.insert(CardContent,Cards[2 * i]); 

		local go1 					= CardContent[2 * i - 1];
		local go2 					= CardContent[2 * i];
		if i + index - 1 <= CardNums then
			this.SetDeskCardTRF(go1,go2,bankerID);
			go1.transform.localPosition				= Vector3.New(0,(i + index - 1 - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i + index - 1 - CentreIndex) * modelsize.z,0);
		elseif i + index - 1 <= 2 * CardNums then
			this.SetDeskCardTRF(go1,go2,bankerID + 1);
			go1.transform.localPosition				= Vector3.New(0,(i + index - 1 - CardNums - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i + index - 1 - CardNums - CentreIndex) * modelsize.z,0);
		elseif i + index - 1 <= 3 * CardNums then
			this.SetDeskCardTRF(go1,go2,bankerID + 2);
			go1.transform.localPosition				= Vector3.New(0,(i + index - 1 - 2 * CardNums - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i + index - 1 - 2 * CardNums - CentreIndex) * modelsize.z,0);
		elseif i + index - 1 <= 4 * CardNums then
			this.SetDeskCardTRF(go1,go2,bankerID + 3);
			go1.transform.localPosition				= Vector3.New(0,(i + index - 1 - 3 * CardNums - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i + index - 1 - 3 * CardNums - CentreIndex) * modelsize.z,0);
		else
			this.SetDeskCardTRF(go1,go2,bankerID + 4);
			go1.transform.localPosition				= Vector3.New(0,(i + index - 1 - 4 * CardNums - CentreIndex) * modelsize.z,-modelsize.y);
			go2.transform.localPosition				= Vector3.New(0,(i + index - 1 - 4 * CardNums - CentreIndex) * modelsize.z,0); 
		end
	end

	Cards_Dong.transform.localScale			= ratio;
	Cards_Nan.transform.localScale			= ratio;
	Cards_Xi.transform.localScale			= ratio;
	Cards_Bei.transform.localScale			= ratio;
end
--设置牌池麻将的transform
function ModelCtrl.SetDeskCardTRF(go1,go2,bankerID)
	local parent 							= MJ_UPDOWN.transform:GetChild(bankerID % 4);
	go1.transform:SetParent(parent);
	go1.transform.localEulerAngles 			= Vector3.zero;
	go1.transform.localScale 				= Vector3.one;
	go2.transform:SetParent(parent);
	go2.transform.localEulerAngles 			= Vector3.zero;
	go2.transform.localScale 				= Vector3.one;
end
function ModelCtrl.Test()
	-- WaitForSeconds(5);
	-- ModelCtrl.ShowCard("Bei",1);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",2);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",3);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",4);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",5);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",6);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",7);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",8);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",9);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",10);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",11);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",12);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",13);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",14);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",15);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",16);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",17);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",18);
	-- WaitForSeconds(2);
	-- ModelCtrl.ShowCard("Bei",19);
	WaitForSeconds(5);
	this.Card2Hand()
end
--打牌到牌堆
--pos将牌打出去的位置,是哪个玩家出的牌
--carddata中的索引值
function ModelCtrl.ShowCard(pos,index)
	if pos == "Dong" then
		for k,v in pairs(HandCard_Dong) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Dong,Show_DContent,v);
				table.remove(HandCard_Dong,k);
			end
		end
		return;
	elseif pos == "Nan" then
		for k,v in pairs(HandCard_Nan) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Nan,Show_NContent,v);
				table.remove(HandCard_Nan,k);
			end
		end
		return;
	elseif pos == "Xi" then
		for k,v in pairs(HandCard_Xi) do
			if v == MJName[index] then
				this.SetShowCardPos(Show_Xi,Show_XContent,v);
				table.remove(HandCard_Xi,k);
			end
		end
		return;
	else
		for k,v in pairs(CardBContent) do
			if v == MJName[index].."_4" then
				this.SetShowCardPos(Show_Bei,Show_BContent,v);
				table.remove(HandCard_Bei,k);
			end
		end
		return;
	end
end
--设置打出去的牌的位置
--trf将牌放到的位置,存储的容器,牌的名字
function ModelCtrl.SetShowCardPos(trf,tab,name)
	--将牌由手牌位置飞到目标位置
	tab[#tab + 1] 				= name;
	local targetPos 			= nil;
	local residue 				= #tab % 6;
	local quotient 				= (#tab - 1)/ 6;
	local temp 					= string.format("%d",quotient);
	if residue == 0 then
		residue = 6;
	end
	targetPos					= Vector3.New(MJModelSize.x * temp,(3 - residue + 0.5) * MJModelSize.z,0);
	CardContent[name].transform:SetParent(trf);
	local path 					= {CardContent[name].transform.localPosition,targetPos};
	local seq 					= DOTween.Sequence();
	seq:Append(CardContent[name].transform:DOLocalPath(path,0.2));
	seq:PlayForward();
end


this.HandData = {
	26,39,19,39,35,36,23,16,11,16,37,15,25
}
--发牌到玩家手牌
function ModelCtrl.Card2Hand()
	table.sort(this.HandData,function(a,b) return a < b end);
	for i=1,#this.HandData do
		--模拟从牌池东开始给玩家发牌
		--首先在东内获取服务器给的牌,没有则在南中获取,依次获取
		--获取到后将牌移动到玩家手中
		local temp = this.HandData[i] - 10;
		print("数据=",temp.."名字=",CardData[temp]);
		if CardDContent[CardData[temp]] then
			CardDContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardNContent[CardData[temp]] then
			CardNContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardXContent[CardData[temp]] then
			CardXContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		elseif CardBContent[CardData[temp]] then
			CardBContent[CardData[temp]]:SetActive(false);
			HandCardCtrl.GiveCard(CardData[temp]);
		else
			logError("没有这种牌");
		end
	end
end

-- function ModelCtrl.SetHandCardPos()
	
-- end

猜你喜欢

转载自blog.csdn.net/Happy_zailing/article/details/80853722