public void AddAbility <T>(T a) where T : BaseAbility { ProcedureMain main = GameEntry.Procedure.GetProcedure <ProcedureMain>() as ProcedureMain; if (main == null) { return; } string aName = main.CurrentGame.GetAbilityName(typeof(T)); if (aName == null) { Debug.LogError("找不到能力类" + typeof(T).Name); return; } abilities.Add(aName, a); }
protected override void OnInit(object userData) { base.OnInit(userData); main = userData as ProcedureMain; GUILink link = GetComponent <GUILink>(); TextPsd = link.Get <Text>("TextPsd"); KeyBoard = link.AddComponent <SubCreatRoomKeyBoard>("PanelSetPsd"); GameEntry.UI.SetUIFormInstancePriority(this.gameObject.GetComponent <UIForm>(), 121); link.SetEvent("Quit", UIEventType.Click, OnClickExit); link.SetEvent("BtnCreate", UIEventType.Click, OnCreateRoom); link.SetEvent("ButtonSetPsd", UIEventType.Click, OnSetPsd); for (int i = 0; i < ToggleScore.Length; i++) { ToggleScore[i] = link.Get <Toggle>("ToggleScore" + (i + 1)); } for (int i = 0; i < ToggleMaxScore.Length; i++) { ToggleMaxScore[i] = link.Get <Toggle>("ToggleMaxScore" + (i + 1)); } for (int i = 0; i < ToggleType.Length; i++) { ToggleType[i] = link.Get <Toggle>("ToggleType" + (i + 1)); } for (int i = 0; i < TogglePlayer.Length; i++) { TogglePlayer[i] = link.Get <Toggle>("TogglePlayer" + (i + 1)); } for (int i = 0; i < ToggleTime.Length; i++) { ToggleTime[i] = link.Get <Toggle>("ToggleTime" + (i + 1)); } for (int i = 0; i < ToggleFeature.Length; i++) { ToggleFeature[i] = link.Get <Toggle>("ToggleFeature" + (i + 1)); } }
public T GetAbility <T>() where T : BaseAbility { if (GameEntry.Procedure == null) { return(null); } ProcedureMain main = GameEntry.Procedure.GetProcedure <ProcedureMain>() as ProcedureMain; if (main == null) { return(null); } string aName = main.CurrentGame.GetAbilityName(typeof(T)); if (aName == null) { return(null); } if (abilities.ContainsKey(aName)) { return((T)abilities[aName]); } return(null); }
protected override void OnInit(object userData) { base.OnInit(userData); main = userData as ProcedureMain; GUILink link = GetComponent <GUILink>(); for (int i = 0; i < PlayerMax; i++) { playerWigets.Add(link.AddComponent <PlayerHeadInfo>("playerHead" + i)); } selectScoreUI = link.AddComponent <PanelSelectScore>("PanelSelectScore"); BtnSeat = link.Get <Button>("BtnSeat"); BtnStartGame = link.Get <Button>("BtnStartGame"); BtnBanker0 = link.Get <Button>("BtnBanker0"); BtnCancelReady = link.Get <Button>("BtnCancelReady"); BtnLeaveSeat = link.Get <Button>("BtnLeaveSeat"); BetPanel = link.Get("BetPanel"); SliderBet = link.Get <Slider>("SliderBet"); TextBet = link.Get <Text>("TextBet"); TextTime = link.Get <Text>("TextTime"); TextRoomId = link.Get <Text>("TextRoomId"); TextMinBet0 = link.Get <Text>("TextMinBet0"); TextMinBet1 = link.Get <Text>("TextMinBet1"); TextMinBet2 = link.Get <Text>("TextMinBet2"); TextMinBet3 = link.Get <Text>("TextMinBet3"); timerTxt = link.Get <Text>("timerTxt"); BL_lose = link.Get("BL_lose"); BL_win = link.Get("BL_win"); BL_tie = link.Get("BL_tie"); timerPanel = link.Get("timer"); timerImg = link.Get <Image>("timerImg"); PanelSettle = link.Get("PanelSettle"); PanelChat = link.Get("PanelChat").transform; TalkPopup = link.Get("TalkPopup").transform; TalkPopText = link.Get <Text>("TalkPopText"); link.SetEvent("Quit", UIEventType.Click, OnClickExit); link.SetEvent("BtnSeat", UIEventType.Click, OnClickSeat); link.SetEvent("BtnStartGame", UIEventType.Click, OnClickStartGame); link.SetEvent("BtnCancelReady", UIEventType.Click, OnClickCancelReady); link.SetEvent("BtnLeaveSeat", UIEventType.Click, OnClickLeaveSeat); link.SetEvent("BtnBanker0", UIEventType.Click, OnClickBid); link.SetEvent("BtnBet", UIEventType.Click, OnClickBet); link.SetEvent("BtnMinBet0", UIEventType.Click, OnClickMinBet0); link.SetEvent("BtnMinBet1", UIEventType.Click, OnClickMinBet1); link.SetEvent("BtnMinBet2", UIEventType.Click, OnClickMinBet2); link.SetEvent("BtnMinBet3", UIEventType.Click, OnClickMinBet3); link.SetEvent("BtnSettleOK", UIEventType.Click, OnClickSettleOK); //GM按钮,模拟服务器回消息回调 link.SetEvent("GMNotifyStart", UIEventType.Click, GMNotifyStart); link.SetEvent("GMAddPlayer", UIEventType.Click, GMAddPlayer); link.SetEvent("GMNotifyWin", UIEventType.Click, GMNotifyWin); link.SetEvent("GMNotifyEnd", UIEventType.Click, GMNotifyEnd); link.SetEvent("GMNotifyBetRet", UIEventType.Click, GMNotifyBetRet); link.SetEvent("GMNotifyBet", UIEventType.Click, GMNotifyBet); link.SetEvent("GMNotifyBidRet", UIEventType.Click, GMNotifyBidRet); link.SetEvent("GMNotifyBid", UIEventType.Click, GMNotifyBid); link.SetEvent("GMNotifyPrivate", UIEventType.Click, GMNotifyPrivate); link.SetEvent("GMNotifyDraw", UIEventType.Click, GMNotifyDraw); link.SetEvent("GMNotifyJoin", UIEventType.Click, GMNotifyJoin); //聊天 for (int i = 1; i <= 5; i++) { string talkUIName = "Talk" + i; string talkContent = link.Get <Text>(talkUIName).text; link.SetEvent(talkUIName, UIEventType.Click, _ => OnClickTalk(talkContent)); } List <Vector3> tempUITrans = new List <Vector3>(); var cam = Camera.main; foreach (var w in playerWigets) { tempUITrans.Add(cam.ScreenToWorldPoint(w.cardPos.position)); } CardManager.Instance.InitCardPos(tempUITrans); }