public Vector3 GetLocationTrash(PlayerControllerPhom p, int i) { float CARD_SPACE = 15f; float z = -1f + ((i - 1) * -1); Vector3 first = locationTrash[(int)p.mSide].localPosition; int totalCard = p.mCardTrash.FindAll(card => card.gameObject != null).Count; float firstX = first.x; if (totalCard == 2) { firstX = first.x - CARD_SPACE / 2; } else if (totalCard == 3) { firstX = first.x - CARD_SPACE; } else if (totalCard == 4) { firstX = first.x - CARD_SPACE - CARD_SPACE / 2; } return(new Vector3(firstX + (CARD_SPACE * i), first.y, z)); }
public void UpdateInfo() { PlayerControllerPhom your = GameModelPhom.YourController; if (avatar != null) { avatar.Find("lbMoney").GetComponent <UILabel>().text = Utility.Convert.Chip(player.chip) + (player.mSide == ESide.You ? " Chip" : ""); NGUITools.SetActive(btnPlus.gameObject, false); } if (timerCountDown != null) { UpdateLocationTimerCountDown(); } if ((int)GameModelPhom.CurrentState <= (int)GameModelPhom.EGameState.waitingForReady) { if (player.PlayerState == PlayerControllerPhom.EPlayerState.ready && player != your) { if (imageReady == null) { imageReady = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Gameplay/ReadyAvatarPrefab")); imageReady.transform.parent = avatar; imageReady.transform.localPosition = (player.mSide == ESide.You) ? new Vector3(376f, 0f, 0f) : Vector3.zero; imageReady.transform.localScale = Vector3.one; } } } if (GameModelPhom.CurrentState == GameModelPhom.EGameState.finalizing) { if (GameModelPhom.MiniState == GameModelPhom.EGameStateMini.summary_point) { ShowTinhDiem(); } else if (GameModelPhom.MiniState == GameModelPhom.EGameStateMini.summary_result || GameModelPhom.MiniState == GameModelPhom.EGameStateMini.summary_exchange) { if (objTinhDiem != null) { GameObject.Destroy(objTinhDiem); } ShowEffect(); } else { if (objEffect != null) { GameObject.Destroy(objEffect); } if (objLabelExchange != null) { GameObject.Destroy(objLabelExchange); } } } CheckIcon(); }
public Vector3 GetLocationHand(PlayerControllerPhom p, int i) { float CARD_SPACE = 20f; Vector3 first = locationHand[(int)p.mSide].localPosition; int totalCard = (p.mSide == ESide.You || p.mSide == ESide.Enemy_2) ? p.mCardHand.FindAll(card => card.gameObject != null).Count : p.mCardHand.FindAll(card => card.gameObject != null && card.originSide == card.currentSide).Count; float z = -1f + ((i - 1) * -1); if (p.mSide == ESide.You) { if (totalCard == 10) { CARD_SPACE = 82f; } else { CARD_SPACE = 90f; } if (totalCard < 9) { first.x = CARD_SPACE / 2 - (CARD_SPACE * totalCard / 2); //z -= 9 - totalCard; } return(new Vector3(first.x + (CARD_SPACE * i), first.y, z)); } else if (p.mSide == ESide.Enemy_1 || p.mSide == ESide.Enemy_3) { if (GameModelPhom.CurrentState == GameModelPhom.EGameState.finalizing) { CARD_SPACE *= 1.5f; } float firstY = first.y + (CARD_SPACE * (totalCard / 2)); if (totalCard / 2 == 0) { firstY -= CARD_SPACE / 2; } return(new Vector3(first.x, firstY - (CARD_SPACE * i), z)); } else { float firstX = first.x - (CARD_SPACE * (totalCard / 2)); if (totalCard / 2 == 0) { firstX += CARD_SPACE / 2; } return(new Vector3(firstX + (CARD_SPACE * i), first.y, z)); } }
public Vector3 GetRotateHand(PlayerControllerPhom p) { if (p.mSide == ESide.Enemy_1 || p.mSide == ESide.Enemy_3) { return(new Vector3(0f, 0f, 90f)); } else { return(Vector3.zero); } }
public void PlaySoundDisCard(PlayerControllerPhom currentPlayer, PlayerControllerPhom nextPlayer) { if (currentPlayer.mCardTrash.Count == 1 && currentPlayer.mCardTrash[0].parentCard.Rank.Value >= 10) { AudioManager.Instance.Play(AudioManager.SoundEffect.ToDanhBeGui, AudioManager.EPlayState.force); } if (currentPlayer.mCardTrash.Count >= 3 && nextPlayer.mCardTrash.Count == 3 && nextPlayer.mCardHand.FindAll(c => c.originSide != c.currentSide).Count == 0 && nextPlayer.mCardMelds.Count == 0) { AudioManager.Instance.Play(AudioManager.SoundEffect.AnDiKhongMom, AudioManager.EPlayState.force); } }
/// <summary> /// Khi người chơi thoát ra khỏi bàn /// </summary> public IEnumerator PlayerLeftOut(PlayerControllerPhom p) { while (GameModelPhom.DealCardDone == false) { yield return(new WaitForEndOfFrame()); } foreach (ECard c in p.mCardHand) { c.SetColor(); } }
public static CUIPlayerPhom Create(PlayerControllerPhom p, Transform parentTransform) { if (listNoSlot.ContainsKey(p.slotServer)) { GameObject.Destroy(listNoSlot[p.slotServer]); } GameObject obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Gameplay/PlayerInfoPhomPrefab")); obj.name = "Player " + (int)p.mSide; obj.transform.parent = parentTransform; obj.transform.localPosition = Vector3.zero; obj.transform.localScale = Vector3.one; CUIPlayerPhom cui = obj.GetComponent <CUIPlayerPhom>(); cui.player = p; p.cuiPlayer = cui; p.AvatarTexture(delegate(Texture _texture) { if (cui != null) { cui.avatar.GetComponentInChildren <UITexture>().mainTexture = _texture; } }); if (p.mSide == ESide.You) { //cui.avatar.GetComponentInChildren<UITexture>().enabled = false; NGUITools.SetActive(cui.avatar.gameObject, false); //GameObject.Destroy(cui.avatar.GetComponentInChildren<CUIHandle>().gameObject.collider); GameObject.Destroy(cui.GetComponentInChildren <UISprite>().gameObject); //cui.avatar.FindChild("lbMoney").GetComponent<UILabel>().pivot = UIWidget.Pivot.Left; //cui.avatar.FindChild("lbUsername").GetComponent<UILabel>().pivot = UIWidget.Pivot.Left; //cui.avatar.FindChild("lbMoney").transform.localPosition = new Vector3(-95f, -117f, -5f); //cui.avatar.FindChild("lbUsername").transform.localPosition = new Vector3(-95f, -97f, -5f); //cui.avatar.FindChild("lbUsername").transform.localScale = cui.avatar.FindChild("lbMoney").transform.localScale = new Vector3(19f, 19f, 1f); //cui.avatar.FindChild("lbUsername").GetComponent<UILabel>().width = cui.avatar.FindChild("lbMoney").GetComponent<UILabel>().width = 250; //cui.avatar.FindChild("lbMoney").GetComponent<UILabel>().color = Color.green; cui.gameObject.transform.FindChild("IconWarning").localPosition = new Vector3(35f, -46f, -5f); cui.gameObject.transform.FindChild("IconMaster").localPosition = new Vector3(125f, -138f, -5f); } cui.avatar.Find("lbUsername").GetComponent <UILabel>().text = p.mSide == ESide.You ? (string.IsNullOrEmpty(GameManager.Instance.mInfo.FullName) ? p.username : GameManager.Instance.mInfo.FullName.Trim()) : p.username; //(p.mSide == ESide.You ? "Username: "******"") + p.username; cui.UpdateInfo(); return(cui); }
public Vector3 GetLocationFulllaying(PlayerControllerPhom p, int indexMeld, int i) { float CARD_SPACE = 35f; float SPACE_MELD_HEIGHT = ECardTexture.CARD_HEIGHT * 4 / 5; Vector3 position = locationMelds[(int)p.mSide].localPosition; Vector3 meld_1 = position, meld_2 = position, meld_3 = position; if (p.mCardMelds.Count == 1) { meld_1.x -= p.mCardMelds[0].meld.Count / 2f + CARD_SPACE / 2f; } else if (p.mCardMelds.Count == 2) { int totalCardAllMeld = p.mCardMelds[0].meld.Count + p.mCardMelds[1].meld.Count; meld_1.x -= ((totalCardAllMeld - 1) / 2f * CARD_SPACE) + (SPACE_MELD_HEIGHT / 2f); meld_2.x = meld_1.x + SPACE_MELD_HEIGHT + p.mCardMelds[0].meld.Count * CARD_SPACE; } else if (p.mCardMelds.Count == 3) { int totalCardAllMeld = p.mCardMelds[0].meld.Count + p.mCardMelds[1].meld.Count + p.mCardMelds[2].meld.Count; meld_1.x -= ((totalCardAllMeld) / 2f * CARD_SPACE) + (SPACE_MELD_HEIGHT / 2f); meld_2.x = meld_1.x + SPACE_MELD_HEIGHT + p.mCardMelds[0].meld.Count * CARD_SPACE; meld_3.x = meld_2.x + SPACE_MELD_HEIGHT + p.mCardMelds[1].meld.Count * CARD_SPACE; } Vector3 first; if (indexMeld == 1) { first = meld_2; } else if (indexMeld == 2) { first = meld_3; } else { first = meld_1; } float z = -15f + ((i - 1) * -1); first.y = -45f; return(new Vector3(first.x + (CARD_SPACE * i), first.y, z)); }
public void UpdateButtonAddMeld() { while (listObjAddMeld.Count > 0) { GameObject.Destroy(listObjAddMeld[0].Value); listObjAddMeld.Remove(listObjAddMeld[0]); } if (GameModelPhom.game.listGiveCard.Count == 0) { return; } if (GameModelPhom.YourController.mCardMelds.Count == 0) { return; } if (GameModelPhom.game.ListClickCard.Count == 1 && GameModelPhom.game.listGiveCard.Find(gc => gc.cardId == GameModelPhom.game.ListClickCard[0].CardId) != null) #region CO BAN #endregion { #region ADVANCE foreach (GamePlayPhom.GiveCard give in GameModelPhom.game.listGiveCard.FindAll(gc => gc.cardId == GameModelPhom.game.ListClickCard[0].CardId)) { PlayerControllerPhom p = GameModelPhom.GetPlayer(give.slotIndex); Meld meld = p.GetMeld(give.meldResponse); int indexMeld = p.mCardMelds.FindIndex(m => m == meld); int side = (int)GameModelPhom.GetPlayer(give.slotIndex).mSide; Transform trans = GameModelPhom.game.mPlaymat.locationMelds[side]; Vector3 position = GameModelPhom.game.mPlaymat.GetLocationMeld(GameModelPhom.GetPlayer(give.slotIndex), indexMeld, 2); position.z = -17; GameObject obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Gameplay/btAddMeldPrefab")); obj.GetComponent <UIButtonMessage>().target = GameModelPhom.game.gameObject; //SendTo Gameplay Method OnClickAddMeldCard UIContainerAnonymous contaniner = obj.AddComponent <UIContainerAnonymous>(); contaniner.intermediary = give; obj.transform.parent = trans.parent; obj.transform.localPosition = position; obj.transform.localScale = Vector3.one; listObjAddMeld.Add(new KeyValuePair <GamePlayPhom.GiveCard, GameObject>(give, obj)); } #endregion } }
public static PlayerChat Create(string chatContent, PlayerControllerPhom player) { if (chatContent.Length > 21) { chatContent = chatContent.Substring(0, 20) + "..."; } GameObject obj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Gameplay/sfx/PlayerChatPrefab")); obj.name = "Chat Content"; obj.transform.parent = player.cuiPlayer.gameObject.transform; obj.transform.localPosition = new Vector3(player.mSide == ESide.Slot_1 ? -40f : 40f, 70f, -10f); obj.transform.localScale = Vector3.one; obj.GetComponent <PlayerChat>().textChat.text = chatContent; obj.GetComponent <PlayerChat>().type = player.mSide == ESide.Slot_1 ? Type.Brackets_Right : Type.Brackets_Left; obj.GetComponent <PlayerChat>().ReDraw(); return(obj.GetComponent <PlayerChat>()); }
public bool PlaySoundStealCard(PlayerControllerPhom currentPlayer, PlayerControllerPhom lastPlayer) { bool isStealCard = false; if (currentPlayer.mCardTrash.Count == 3 && lastPlayer.mCardTrash.Count >= 3) { AudioManager.Instance.Play(AudioManager.SoundEffect.AnChot, AudioManager.EPlayState.force); isStealCard = true; } else if (currentPlayer.mCardTrash.Count > 0 && currentPlayer.mCardTrash[currentPlayer.mCardTrash.Count - 1].parentCard.Rank.Value == lastPlayer.mCardTrash[lastPlayer.mCardTrash.Count - 1].parentCard.Rank.Value && currentPlayer.mCardTrash[currentPlayer.mCardTrash.Count - 1].originSide == currentPlayer.mCardTrash[currentPlayer.mCardTrash.Count - 1].currentSide ) { AudioManager.Instance.Play(AudioManager.SoundEffect.Cau, AudioManager.EPlayState.force); isStealCard = true; } else { AudioManager.Instance.Play(AudioManager.SoundEffect.AnCay, AudioManager.EPlayState.force); isStealCard = true; } return(isStealCard); }
public override void OnPublicMessage(Electrotank.Electroserver5.Api.PublicMessageEvent e) { #region VIEW CONTENT CHAT if (e.UserName != GameManager.Instance.mInfo.username) { PlayerControllerPhom player = GameModelPhom.GetPlayer(e.UserName); if (player != null) { if (playerChats.ContainsKey(player)) { if (playerChats[player] != null) { playerChats[player].DestroyMe(); } playerChats.Remove(player); } playerChats.Add(GameModelPhom.GetPlayer(e.UserName), PlayerChat.Create(e.Message, GameModelPhom.GetPlayer(e.UserName))); } } #endregion str = "[FF6600]" + e.UserName.ToUpper() + ":[-] " + e.Message + "\n"; base.OnPublicMessage(e); }
public static void SetPlayer(int index, PlayerControllerPhom p) { if (p == null) { if (model._listPlayer[index] != null) { GameModelPhom.game.Listener.RegisterEventPlayerListChanged(model._listPlayer[index], true); model._listPlayer[index].Reset(); if (model._listPlayer[index].cuiPlayer != null && model._listPlayer[index].cuiPlayer.gameObject) { GameObject.Destroy(model._listPlayer[index].cuiPlayer.gameObject); } } } Debug.Log("Set model:" + index + ":p" + p); model._listPlayer[index] = p; if (p == null) { DrawInfoPlayerNoSlot(); } }
private void Server_EventPluginMessageOnProcess(string command, string action, EsObject eso) { if (command == "getHandRobot") { IS_TYPE_FORCE_ROBOT = true; if (eso.variableExists("players")) { foreach (EsObject obj in eso.getEsObjectArray("players")) { string username = obj.getString("userName"); PlayerControllerPhom p = GameModelPhom.GetPlayer(username); if (obj.getIntegerArray("hand").Length != p.mCardHand.Count) { Debug.LogWarning("Số lượng PhomCard không phù hợp giũa client và server: " + p.username); } else { if (p.mCardHand.FindAll(c => c.CardId == -1).Count == 0) { return; } foreach (int cardId in obj.getIntegerArray("hand")) { ECard PhomCard = p.mCardHand.Find(c => c.CardId == cardId); if (PhomCard == null) { p.mCardHand.Find(c => c.CardId == -1).CardId = cardId; } } } } } } }
public Vector3 GetLocationMeld(PlayerControllerPhom p, int indexMeld, int i) { float CARD_SPACE = 15f; float SPACE_MELD_HEIGHT = ECardTexture.CARD_HEIGHT * 2 / 3; Vector3 position = locationMelds[(int)p.mSide].localPosition; Vector3 meld_1 = position, meld_2 = position, meld_3 = position; if (p.mCardMelds.Count == 1 && p.mSide == ESide.You) { #region 1 MELD meld_1.x -= p.mCardMelds[0].meld.Count / 2f + CARD_SPACE / 2f; #endregion } else if (p.mCardMelds.Count == 2) { #region 2 MELDS if (p.mSide == ESide.Enemy_1 || p.mSide == ESide.Enemy_3) { meld_1 = new Vector3(position.x, position.y + SPACE_MELD_HEIGHT, position.z); meld_2 = new Vector3(position.x, position.y - SPACE_MELD_HEIGHT, position.z); } else if (p.mSide == ESide.Enemy_2) { meld_1 = new Vector3(position.x - CARD_SPACE * 4, position.y, position.z); meld_2 = new Vector3(position.x + CARD_SPACE * 4, position.y, position.z); } else { int totalCardAllMeld = p.mCardMelds[0].meld.Count + p.mCardMelds[1].meld.Count; meld_1.x -= ((totalCardAllMeld - 1) / 2f * CARD_SPACE) + (SPACE_MELD_HEIGHT / 2f); meld_2.x = meld_1.x + SPACE_MELD_HEIGHT + p.mCardMelds[0].meld.Count * CARD_SPACE; } #endregion } else if (p.mCardMelds.Count == 3) { #region 3 MELDS if (p.mSide == ESide.Enemy_1) { meld_1.x -= p.mCardMelds[0].meld.Count == 3 ? (ECardTexture.CARD_WITH / 6) : (ECardTexture.CARD_WITH / 6 + CARD_SPACE); meld_2 = new Vector3(position.x + ECardTexture.CARD_WITH * 1.5f, position.y + SPACE_MELD_HEIGHT, position.z); meld_3 = new Vector3(position.x + ECardTexture.CARD_WITH * 1.5f, position.y - SPACE_MELD_HEIGHT, position.z); } else if (p.mSide == ESide.Enemy_3) { meld_1.x += ECardTexture.CARD_WITH / 6; meld_2 = new Vector3(position.x - ECardTexture.CARD_WITH * 1.5f, position.y + SPACE_MELD_HEIGHT, position.z); meld_3 = new Vector3(position.x - ECardTexture.CARD_WITH * 1.5f, position.y - SPACE_MELD_HEIGHT, position.z); } else if (p.mSide == ESide.Enemy_2) { meld_2 = new Vector3(position.x - CARD_SPACE * 4, position.y + ECardTexture.CARD_HEIGHT, position.z); meld_3 = new Vector3(position.x + CARD_SPACE * 4, position.y + ECardTexture.CARD_HEIGHT, position.z); } else { meld_2 = new Vector3(position.x - CARD_SPACE * 4, position.y - ECardTexture.CARD_HEIGHT, position.z); meld_3 = new Vector3(position.x + CARD_SPACE * 4, position.y - ECardTexture.CARD_HEIGHT, position.z); } #endregion } Vector3 first; if (indexMeld == 1) { first = meld_2; } else if (indexMeld == 2) { first = meld_3; } else { first = meld_1; } float z = -2f + ((i - 1) * -1); #region NUMBER CARD IN LINE int totalCard = p.mCardMelds[indexMeld].meld.Count; int numberCardInLine = 5; if (p.mSide == ESide.You) { numberCardInLine = totalCard; } else { if (totalCard == 6) { numberCardInLine = 3; } else if (totalCard == 7 || totalCard == 8 || totalCard == 11 || totalCard == 12) { numberCardInLine = 4; } } if (i > numberCardInLine - 1) { i -= numberCardInLine; first.y -= ECardTexture.CARD_HEIGHT * 2 / 5; } #endregion return(new Vector3(first.x + (CARD_SPACE * i), first.y, z)); }