// GET: Fight/Details/{id} public async Task <ActionResult> Details(int id) { FightModel fightModel = new FightModel(); if (id <= 0) { return(HttpNotFound()); } using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:62313"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); /* Récupération de la guerre sélectionnée via API */ HttpResponseMessage response = await client.GetAsync("api/fights/" + id); if (response.IsSuccessStatusCode) { string temp = await response.Content.ReadAsStringAsync(); fightModel = JsonConvert.DeserializeObject <FightModel>(temp); } else { return(HttpNotFound()); } } return(View(fightModel)); }
public void Next_Round(FightModel fightModel) { RoomModel roomModel = new RoomModel(); roomModel.DongUser = new UserModel(); roomModel.DongUser.IsReady = fightModel.DongReady; roomModel.NanUser = new UserModel(); roomModel.NanUser.IsReady = fightModel.NanReady; roomModel.XiUser = new UserModel(); roomModel.XiUser.IsReady = fightModel.XiReady; roomModel.BeiUser = new UserModel(); roomModel.BeiUser.IsReady = fightModel.BeiReady; MainViewMgr.m_Instance.initWaitInfo(roomModel); if (fightModel.DongReady && fightModel.NanReady && fightModel.XiReady && fightModel.BeiReady) { if (RoomInfoMgr.m_Instance.m_MySeat.Equals(MainSceneMger.PlayerSeat.PlayerEast)) { NetManager.m_Instance.SendMessage(Protocol.TYPE_FIGHT, RoomInfoMgr.m_Instance.m_RoomID, FightProtocol.START_CREQ, null); } } }
public static FightModel getInstance() { if(_instance == null) _instance = new FightModel(); return _instance; }
IEnumerator BetIEnumerator(int MasterPoint, int GuestPoint) { yield return(new WaitForSeconds(1f)); //PopMaskMaskManager.hide(); int LoseAmount = FightModel.getInstance().betVo.loseAmount; if (LoseAmount > 0) { Txt_Money_My.text = Txt_Money_My.text + "-" + LoseAmount; } else { Txt_Money_My.text = Txt_Money_My.text + "+" + Math.Abs(LoseAmount); } isBeting = false; /** * if(fightResultBehviour == null){ * GameObject instance = PopUpManager.createPopUp (Obj_FightResult,0.8f); * fightResultBehviour = instance.GetComponent<FightResultBehviour>(); * EventTriggerListener.Get(fightResultBehviour.gameObject).onClick =Btn_BackClick; * } * int LoseAmount = FightModel.getInstance ().betVo.loseAmount; * fightResultBehviour.init (MasterPoint,GuestPoint,LoseAmount); **/ }
public override void Execute(object data) { FightArgs e = data as FightArgs; FightModel fm = GetModel <FightModel>(); fm.LoadFightModel(e); Game.Instance.LoadScene(3); }
public static FightModel getInstance() { if (_instance == null) { _instance = new FightModel(); } return(_instance); }
/** * 回注 * */ private void Img_BetOkClick(GameObject go) { string name = go.name; string[] nameArr = name.Split(new char[] { '_' }); //Btn_Bet_0 int index = int.Parse(nameArr[2]); int btnNum = BtnNumArr[index]; //当前的注数 int flag = FightModel.getInstance().setBenAmount(-btnNum); if (flag == Config.CODE_SUCCESS) { Txt_Current_Bet.text = FightModel.getInstance().getBenAmount().ToString(); Destroy(go); } }
private void Btn_BetOkClick(GameObject go) { //在这里监听按钮的点击事件 if (go == Btn_BetOk.gameObject) { if (FightModel.getInstance().getBenAmount() <= 0) //下注数为0 { PopMessageManager.show("current is 0"); } else { isBeting = true; FightModel.getInstance().BetAction(betOkCallBack); } } }
/** * 清除场景界面 并清空数据 * */ private void cleanResultInfo(GameObject go) { //public void cleanScene(){ //if(go == fightResultBehviour.gameObject){ UITool.ClearChild(Transform_CardSprite_MasterCards); UITool.ClearChild(Transform_CardSprite_GuestCards); UITool.ClearChild(Transform_Bet); //文字清除 Txt_Point_MasterCards.text = ""; Txt_Point_GuestCards.text = ""; Txt_Current_Bet.text = ""; FightModel.getInstance().setBenAmount(-FightModel.getInstance().getBenAmount()); Txt_Money_My.text = UserModel.getInstance().UserVo.money.ToString(); //fightResultBehviour.gameObject.SetActive(false); //} }
void Start() { fm = GetModel <FightModel>(); gm = GetModel <GameModel>(); mm = GetModel <MapModel>(); isend = false; isescape = false; m_Player = (GameObject)Instantiate(Resources.Load("Prefab/Role/Player_kongshou"), playerInitialPos, Quaternion.Euler(0, 180, 0)); if (fm.targetType == 2) { m_Target = (GameObject)Instantiate(Resources.Load("Prefab/Role/Monster/Player"), targetInitialPos, Quaternion.identity); } else if (fm.targetType == 1) { m_Target = (GameObject)Instantiate(Resources.Load("Prefab/Role/NPC/Player"), targetInitialPos, Quaternion.identity); } //p_Animator = m_Player.GetComponent<Animator>(); // t_Animator = m_Target.GetComponent<Animator>(); p_AttackRate = fm.targetRole.speed; t_AttackRate = gm.player.Speed; //初始化战斗对象 p_fightRole = m_Player.GetComponent <FightRole>(); p_fightRole.InitFightRole(gm.player, playerInitialPos, playerAtkPos, p_AttackRate); t_fightRole = m_Target.GetComponent <FightRole>(); t_fightRole.InitFightRole(fm.targetRole, targetInitialPos, targetAtkPos, t_AttackRate); //初始化血条 float v1 = (float)gm.player.Hp / gm.player.MaxHp; playerBlood.value = v1; float v2 = (float)fm.targetRole.Hp / fm.targetRole.maxHp; targetBlood.value = v2; gm.player.HpChange += Player_HpChange; fm.targetRole.HpChange += TargetRole_HpChange; //StartCoroutine("Fight"); }
/// <summary> /// 发牌和删除牌跺同时开始,都是在掷骰子动画播放完以后 /// </summary> public void FaPai(FightModel fightModel) { //初始化骰子点数 int[] dics = fightModel.Dice; if (dics.Length != 0) { _number1 = dics[0]; _number2 = dics[1]; } //播放动画 Debug.Log("fightModel.Banker" + fightModel.Banker); PlaySaiZi(fightModel.Banker); //初始化玩家手牌 PlayerManager.m_instance.m_EastPlayer.SetHandCardID(fightModel.DongHands); PlayerManager.m_instance.m_WestPlayer.SetHandCardID(fightModel.XiHands); PlayerManager.m_instance.m_SouthPlayer.SetHandCardID(fightModel.NanHands); PlayerManager.m_instance.m_NorthPlayer.SetHandCardID(fightModel.BeiHands); //设置当前玩家相机的culling Mask 1、2D只渲染自身的手牌 2、 3D不渲染自身的手和手牌 switch (MainViewMgr.m_Instance.m_MySeat) { case MainSceneMger.PlayerSeat.PlayerEast: Debug.Log("初始化东家Layer"); PlayerManager.m_instance.m_EastPlayer.SetLayer(); break; case MainSceneMger.PlayerSeat.PlayerNorth: PlayerManager.m_instance.m_NorthPlayer.SetLayer(); break; case MainSceneMger.PlayerSeat.PlayerSouth: PlayerManager.m_instance.m_SouthPlayer.SetLayer(); break; case MainSceneMger.PlayerSeat.PlayerWest: PlayerManager.m_instance.m_WestPlayer.SetLayer(); break; } }
void betOkCallBack(object obj, object str) { int result = (int)obj; if (result == Config.CODE_SUCCESS) { int BenAmount = FightModel.getInstance().getBenAmount(); //生产牌 Dictionary <string, List <int> > CardsInfo = FightModel.getInstance().betVo.cardsInfo; List <int> MasterCards = CardsInfo["masterCards"]; MasterCards.Sort(); //默认List的排序是升序排序 List <int> GuestCards = CardsInfo["guestCards"]; GuestCards.Sort(); //庄家的 GameObject cardSpriteMaster = UITool.createUGUIImage("Sprite/sprite_CardSprite_" + MasterCards[0], Transform_CardSprite_MasterCards); cardSpriteMaster.transform.localPosition = new Vector3(-10, 0, 0); cardSpriteMaster.transform.localScale = Vector3.one / 2; cardSpriteMaster = UITool.createUGUIImage("Sprite/sprite_CardSprite_" + MasterCards[1], Transform_CardSprite_MasterCards); cardSpriteMaster.transform.localPosition = new Vector3(10, 0, 0); cardSpriteMaster.transform.localScale = Vector3.one / 2; //自己的 GameObject cardSpriteGuest = UITool.createUGUIImage("Sprite/sprite_CardSprite_" + GuestCards[0], Transform_CardSprite_GuestCards); cardSpriteGuest.transform.localPosition = new Vector3(-10, 0, 0); cardSpriteGuest.transform.localScale = Vector3.one / 2; cardSpriteGuest = UITool.createUGUIImage("Sprite/sprite_CardSprite_" + GuestCards[1], Transform_CardSprite_GuestCards); cardSpriteGuest.transform.localPosition = new Vector3(10, 0, 0); cardSpriteGuest.transform.localScale = Vector3.one / 2; int[] compareResult = CardUtil.getCompareCards(MasterCards, GuestCards); Txt_Point_MasterCards.text = compareResult[0] + " 点"; Txt_Point_GuestCards.text = compareResult[1] + " 点"; PopMaskMaskManager.show(0f); StartCoroutine(BetIEnumerator(compareResult[0], compareResult[1])); } }
public async Task <ActionResult> Index(Guid id) { if (id == null) { RedirectToAction("List"); } var fight = await CharacterFacade.GetFight(id); var characterId = Guid.Parse(User.Identity.Name); if (characterId != fight.AttackerId && characterId != fight.DefenderId) { return(RedirectToAction("NotAuthorized", "Error")); } var st = Session["steps"] as ICollection <(int, int, int, int, int, int, int)>; Session.Remove("steps"); var fightModel = new FightModel { Fight = fight, Steps = st }; return(View(fightModel)); }
public async Task <ActionResult> Create(CreateFightModel fight) { string responseString = ""; HttpWebResponse response = null; CharacterModel ally = new CharacterModel(); CharacterModel ennemy = new CharacterModel(); List <TerritoryModel> territories = new List <TerritoryModel>(); FightModel fightModel = new FightModel(); int idFight; try { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:62313"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); /* Récupération du première personnage via API */ HttpResponseMessage responseMessage = await client.GetAsync("api/characters/" + fight.SelectedAlly); if (responseMessage.IsSuccessStatusCode) { string temp = await responseMessage.Content.ReadAsStringAsync(); ally = JsonConvert.DeserializeObject <CharacterModel>(temp); fightModel.FirstCharacter = ally; } else { return(HttpNotFound()); } /* Récupération du deuxième personnage via API */ responseMessage = await client.GetAsync("api/characters/" + fight.SelectedEnnemy); if (responseMessage.IsSuccessStatusCode) { string temp = await responseMessage.Content.ReadAsStringAsync(); ennemy = JsonConvert.DeserializeObject <CharacterModel>(temp); fightModel.SecondCharacter = ennemy; } else { return(HttpNotFound()); } /* Récupération de l'ID du territoire du combat via API */ responseMessage = await client.GetAsync("api/territories/"); if (responseMessage.IsSuccessStatusCode) { string temp = await responseMessage.Content.ReadAsStringAsync(); territories = JsonConvert.DeserializeObject <List <TerritoryModel> >(temp); fightModel.ID_Territory = territories.SingleOrDefault(t => t.ID_House == fight.ID_HouseTerritory).ID; } else { return(HttpNotFound()); } fightModel.ID_War = fight.War.ID; fightModel.ID_Winner = Fight(ally, ennemy); var request = (HttpWebRequest)WebRequest.Create("http://localhost:62313/api/fights"); request.Accept = "application/json; charset=utf-8"; request.Method = "POST"; var content = new JavaScriptSerializer().Serialize(fightModel); var data = Encoding.ASCII.GetBytes(content); request.ContentType = "application/json"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } response = (HttpWebResponse)request.GetResponse(); responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); responseMessage = await client.GetAsync("api/fights/"); if (responseMessage.IsSuccessStatusCode) { string temp = await responseMessage.Content.ReadAsStringAsync(); idFight = JsonConvert.DeserializeObject <List <FightModel> >(temp).Count; fightModel.FirstCharacter = ally; } else { return(HttpNotFound()); } return(RedirectToAction("Details", new { id = idFight })); } } catch { return(View()); } }
/** * 下注 * */ private void Btn_BetClick(GameObject go) { //在这里监听按钮的点击事件 string name = go.name; string[] nameArr = name.Split(new char[] { '_' }); //Btn_Bet_0 int index = int.Parse(nameArr[2]); int btnNum = BtnNumArr[index]; //当前的注数 int flag = FightModel.getInstance().setBenAmount(btnNum); if (flag == Config.CODE_SUCCESS) { Txt_Current_Bet.text = FightModel.getInstance().getBenAmount().ToString(); /** * //制作一个新的筹码到桌子上 * GameObject obj_Bet = Instantiate(prefable_BetArr[index]) as GameObject; * obj_Bet.transform.parent = Transform_Bet; * obj_Bet.transform.localScale = Vector3.one; * * System.Random ran = new System.Random(); * Vector3 vect3 = new Vector3(ran.Next(0,300),ran.Next(0,300),0); * obj_Bet.transform.localPosition = vect3; **/ /** * //第二种方法创建 * object obj = Resources.Load("Resources/Textures/Bets/Bet_1.PNG", typeof(Sprite)); * UnityEngine.Sprite sp = obj as Sprite; * //UnityEngine.UI.RawImage rawImage = new RawImage(); * UnityEngine.UI.Image image = Image.Instantiate(obj); * image.sprite = sp; * image.transform.parent = Transform_Bet; * * GameObject button = GameObject.Instantiate(Resources.Load<GameObject>("Textures/Bets/Bet_1.PNG"))as GameObject; * button.transform.parent = Transform_Bet; * button.transform.localPosition = Vector3.zero; * button.transform.localScale = Vector3.one; * //GameObject AObj = transform.Find("A").gameObject; * //GameObject BObj = transform.Find("B").gameObject; * //button.transform.SetSiblingIndex(AObj.transform.GetSiblingIndex()); **/ //第三种方法 创建图片 GameObject obj = UITool.createUGUIImage("Sprite/sprite_Bet_" + index, Transform_Bet); System.Random ran = new System.Random(); //随机坐标 Vector3 vect3 = new Vector3(ran.Next(-100, 100), ran.Next(-70, 70), 0); obj.transform.localPosition = vect3; obj.name = "sprite_Bet_" + index; EventTriggerListener.Get(obj).onClick = Img_BetOkClick; //点击事件 } else if (flag == -1) { PopMessageManager.show("添加下注失败,下注不能超过:" + Config.MaxBet); } else if (flag == -2) { PopMessageManager.show("添加下注失败,下注不能超过用户钱袋"); } }