private void BiPaiResult(PlayerHead head1, PlayerHead head2) { bipaipanel.Hide(); PlayerHead head = BiJiao(head1, head2); if (head == head1) { head2.IsOver = true; } else { head1.IsOver = true; } PlayerHead nextPlayer = GetCanBipaiPlayer(head); if (nextPlayer == null) { SetWinner(head); return; } //Debug.LogError("最大的牌:" + head.data.name); if (head2 is MySelfHead && head2.IsOver == false) { NextPlayerOpaHandler(head2); } else { Mogo.Util.TimerHeap.AddTimer <PlayerHead>(1000, 0, NextPlayerOpaHandler, head2); } // }
public Task <PlayerHead[]> GetPlayerHeads(string playername) => _client.GetPlayerHeadAsync(playername) .ContinueWith(t => { var results = JsonSerializer.Deserialize <PlayerIdResult[]>(t.Result); return(results.Select(x => PlayerHead.FromResult(x)).Where(x => x != null).Cast <PlayerHead>().ToArray()); }, TaskScheduler.Default);
void Awake() { PlayerCollider = new PlayerCollider(this); PlayerFoot = GetComponentInChildren <PlayerFoot>(); PlayerHead = GetComponentInChildren <PlayerHead>(); PlayerRigidbody2D = GetComponent <Rigidbody2D>(); }
private void SetWinner(PlayerHead head) { winnerPlayer = head; if (bipaipanel.IsHide() == false) { bipaipanel.Hide(); } if (winnerPlayer != null) { Debug.LogError("本轮结束,胜出者:" + head.data.name); } EnabledAllButton(false); ReadlyButton.gameObject.SetActive(true); ReadlyButton.interactable = true; buttonParentCon.gameObject.SetActive(false); for (int i = 0; i < jettonObjList.Count; i++) { jettonObjList[i].transform.DOMove(head.transform.position, 1.5f); } int jettonTotal = 0; for (int i = 0; i < headList.Count; i++) { jettonTotal += headList[i].GetChangeJetton(); } head.ChangeJetton(Mathf.Abs(jettonTotal)); Mogo.Util.TimerHeap.AddTimer(1500, 0, AddJetton); }
/// <summary> /// 准备按钮事件 /// </summary> private void ReadlyButtonOnClick() { ResetGuize(); ReadlyButton.gameObject.SetActive(false); buttonParentCon.gameObject.SetActive(true); //数据清理还原 tempCardIndex = 0; if (readlyCardItemList.Count > 0)//已经准备好了 { for (int i = 0; i < readlyCardItemList.Count; i++) { readlyCardItemList[i].Reset(); } } for (int i = 0; i < headList.Count; i++) { headList[i].Reset(); } winnerPlayer = null; minJettionData = JettonData.GetByID(1); ResetData(); ReadlyCard(); resultPanel.Hide(); //下锅底 for (int i = 0; i < headList.Count; i++) { BetJetton(headList[i]); } GenzhuTotalNum = 1; }
public void SetPlayerData(PlayerHead playerHead) { this.playerHead = playerHead; nameText.text = playerHead.data.name; for (int i = 0; i < playerHead.cardItemList.Count; i++) { Tweener tweener = playerHead.cardItemList[i].transform.DOMove(conList[i].position, 0.2f); } }
private bool IsGenZhu(PlayerHead head, out bool isBipai) { isBipai = false; // int randomMax = 10000; int surplusPlayerNum = GetSurplusPlayerNum(); int kanPlayerNum = GetKanPlayerNum(); bool isChujetton = true; CardShapeType type = GetShapeType(head.dataList); //获取牌的类型 bool isCanBipai = GenzhuTotalNum >= minBipaiGenzhuNum; //是否可以比牌 if (GenzhuTotalNum > 20) { isBipai = true; } if (type >= CardShapeType.TONG_HUA_SHUN) { } else if (type == CardShapeType.JIN_HUA) { } else if (type == CardShapeType.SHUN_ZI) { } else if (type == CardShapeType.DUI_ZI) { if (isCanBipai == false && kanPlayerNum > 3 && surplusPlayerNum > 3) { isChujetton = false; } if (isChujetton) { if (isCanBipai) { isBipai = true; } } } else//单牌 { if (kanPlayerNum > 2 && surplusPlayerNum > 2) { isChujetton = false; } if (isChujetton) { if (isCanBipai) { isBipai = true; } } } return(isChujetton); }
void Awake() { Cursor.visible = false; Cursor.lockState = CursorLockMode.Locked; animator = GetComponent <Animator>(); playerHead = GetComponent <PlayerHead>(); ghostAvatar = FindObjectOfType <GhostAvatar>(); Singletons.timeManager.OnTimeWarpChangedEvent += OnTimeWarpChanged; }
private void BiPaiHandler(PlayerHead obj) { int playerIndex = headList.IndexOf(obj); CreatePlayerCardData(0); CreatePlayerCardData(playerIndex); bipaipanel.Show(obj, headList[0]); HideAllBiPaiButton(); Mogo.Util.TimerHeap.AddTimer <PlayerHead, PlayerHead>(2000, 0, BiPaiResult, obj, headList[0]); }
void Awake() { darkness = MiscUtils.FindChildInHierarchy(gameObject, "CenterEyeAnchor").transform.Find("Darkness").GetComponent <HoloGrid>(); avatarXform = GameObject.Find("Player").transform; ghostAvatar = FindObjectOfType <GhostAvatar>(); animator = avatarXform.GetComponent <Animator>(); playerHead = avatarXform.GetComponent <PlayerHead>(); motionController = avatarXform.GetComponent <MotionController>(); originalParentXform = transform.parent; Singletons.timeManager.OnTimeWarpChangedEvent += OnTimeWarpChanged; }
/// <summary> /// 发牌到位 /// </summary> /// <param name="item"></param> private void FapaiUnitComplete(CardItem item, PlayerHead head) { item.transform.SetAsLastSibling(); head.AddCard(item); if (tempCardIndex >= playerNum * 3) { for (int i = 0; i < readlyCardItemList.Count; i++) { if (playerCardItemList.IndexOf(readlyCardItemList[i]) < 0) { readlyCardItemList[i].gameObject.SetActive(false); } } } }
private List <GameObject> jettonObjList = new List <GameObject>();// /// <summary> /// 下注 /// </summary> /// <param name="head"></param> private void BetJetton(PlayerHead head) { GameObject obj = GetJettonObj(); obj.transform.position = head.transform.position; jettonObjList.Add(obj); obj.gameObject.SetActive(true); obj.GetComponent <Image>().sprite = Resources.Load <Sprite>("Textures/room/jetton/" + minJettionData.resPath); Vector3 v = new Vector3(Random.Range(-100, 100), Random.Range(20, 120), 0); Tweener tweener = obj.transform.DOLocalMove(v, 0.2f); head.ChangeJetton(-minJettionData.value); guizePanel.SetZongZhuAdd(minJettionData.value); }
private void GetComponentsFromPlayer() { player_hitbox = GetComponentInChildren <Hitfield>(); player_head = GetComponentInChildren <PlayerHead>(); player_menu = GetComponentInChildren <Menu>(); camera = GetComponentInChildren <Camera>(); area = GetComponentInChildren <SteamVR_PlayArea>(); hands = GetComponentsInChildren <SteamVR_Behaviour_Pose>(); reviveFields = GetComponentsInChildren <Player_Revivefield>(); gloves = GetComponentsInChildren <Mitten>(); player_grayscale = GetComponentInChildren <Grayscale_ImageEffect>(); player_controllers = GetComponentsInChildren <Controller>(); player_hands_steam = GetComponentsInChildren <Hand>(); teleporters = GetComponentsInChildren <Teleport>(); //Steam_VR_Manager.steamManager.EnableRender(); }
private PlayerHead GetCanBipaiPlayer(PlayerHead head) { List <PlayerHead> list = new List <PlayerHead>(); for (int i = 0; i < headList.Count; i++) { if (headList[i] != head && headList[i].IsOver == false) { list.Add(headList[i]); } } if (list.Count == 0) { return(null); } return(list[Random.Range(0, list.Count)]); }
public void AddInfoBillboard(uint playerId, Transform trans, EntityParent self, bool showBlood, HeadBloodColor bloodColor = HeadBloodColor.Red, bool showAnger = false) { //if (trans == null) // return; if (m_heads.ContainsKey(playerId)) { //LoggerHelper.Warning("Same player id: " + playerId); var head = m_heads[playerId] as PlayerHead; head.ShowBillboardBlood(showBlood); head.ShowBillboardAnger(showAnger); head.SetBillboardBloodColor(bloodColor); } else { var head = new PlayerHead(playerId, trans, OnLoadPlayerHeadFinished, self, showBlood, bloodColor, showAnger); } }
protected override void OnShow(params object[] args) { if (args != null && args.Length > 0) { player = args[0] as PlayerHead; nameText.text = player.data.name; success.enabled = !player.IsOver; lose.enabled = !success.enabled; numText.text = player.GetChangeJetton() + ""; if (player.IsHaveData()) { for (int i = 0; i < cardList.Count; i++) { cardList[i].SetData(player.dataList[i]); } } } }
public void CreateLocalAvatar(int playerNum) { GameObject head = PhotonNetwork.Instantiate(this.headPrefab.name, headAnchor.position, headAnchor.rotation, 0); head.transform.parent = headAnchor; localPlayerTarget = head.GetComponent <PlayerHead>(); localPlayerTarget.photonView.RPC("Initialize", RpcTarget.All, playerNum); localPlayerLeftHand = CreateHand(leftHandAnchor, false, playerNum); localPlayerRightHand = CreateHand(rightHandAnchor, true, playerNum); GameObject torso = PhotonNetwork.Instantiate(torsoPrefab.name, head.transform.position, Quaternion.identity); localPlayerTarget.SetTorso(torso); torso.GetComponent <PlayerTorso>().photonView.RPC("Initialize", RpcTarget.All, playerNum); photonView.RPC("SyncPlayerInfoWithMaster", RpcTarget.All); }
void OnLoadPlayerHeadFinished(PlayerHead head, uint playerId, Transform trans, EntityParent obj) { Quaternion qu = new Quaternion(); qu.eulerAngles = Vector3.zero; head.AddToParent(m_stage, qu); if (m_heads.ContainsKey(playerId) == false) { m_heads.Add(playerId, head); } if (m_trans.ContainsKey(playerId) == false) { m_trans.Add(playerId, trans); } SetHead(obj); }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.name == "Player") { PlayerHead.launchEffet(gameObject, new Effet(nameEffet, timeEffet, delegate() { Vector2 localScale = PlayerHead.staticT.localScale; localScale.x *= 1.5f; localScale.y *= 1.5f; PlayerHead.staticT.localScale = localScale; }, delegate() { Vector2 localScale = PlayerHead.staticT.localScale; localScale.x /= 1.5f; localScale.y /= 1.5f; PlayerHead.staticT.localScale = localScale; })); } }
void Awake() { stepSize = 3; stepPoints = new List <Transform>(); Singletons.timeManager.OnTimeWarpChangedEvent += OnTimeWarpChanged; ghostBodyGO = transform.Find("GhostBody").gameObject; playerHead = FindObjectOfType <PlayerHead>(); playerXform = playerHead.transform; playerRadius = playerXform.GetComponent <CharacterController>().radius; lineRenderer = GetComponent <LineRenderer>(); lineRenderer.enabled = false; stepPointPrefab = Resources.Load <GameObject>("StepPoint"); capsuleSphere1Xform = playerXform.Find("CapsuleSphere1"); capsuleSphere2Xform = playerXform.Find("CapsuleSphere2"); nonPlayerLayerMask = ~(1 << (int)Layers.Layer.PlayerHead | 1 << (int)Layers.Layer.PlayerMain | 1 << (int)Layers.Layer.PlayerLimbs); }
private void OnEnable() { transform.rotation = GyroManager.rotation; if (playerHead == null) { playerHead = FindObjectOfType <PlayerHead>(); } if (collCount) { collCount.text = "Collectibles " + ScoreSystem.instance.collectibleCount + "/" + ScoreSystem.instance.maxCollectibleCount; } if (lifeCount) { lifeCount.text = "Durability " + playerHead.bumpCount + "/" + playerHead.BumpMax; } if (time) { time.text = (int)(Time.time - ScoreSystem.instance.timeStart) + "Sec."; } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.name == "Player") { collision.gameObject.GetComponent <AudioSource>().Play(); PlayerHead.launchEffet(gameObject, new Effet(nameEffet, 0, delegate() { Vector2 localScale = PlayerHead.staticT.localScale; localScale.x *= 1.2f; localScale.y *= 1.2f; PlayerHead.staticT.localScale = localScale; }, delegate() { Vector2 localScale = PlayerHead.staticT.localScale; localScale.x /= 1.2f; localScale.y /= 1.2f; PlayerHead.staticT.localScale = localScale; })); } }
private PlayerHead BiJiao(PlayerHead head1, PlayerHead head2) { if (head1.IsHaveData() == false) { CreatePlayerCardData(head1.playerIndex); } if (head2.IsHaveData() == false) { CreatePlayerCardData(head2.playerIndex); } if (BiJiao(head1.dataList, head2.dataList)) { head2.IsOver = true; return(head1); } else { head1.IsOver = true; return(head2); } }
// Start is called before the first frame update void Start() { //GetComponents aud = GetComponent <AudioSource>(); anim = GetComponent <Animator>(); rb = GetComponent <Rigidbody2D>(); //Get all Body Parts foreach (Transform c in transform) { if (c.gameObject.name.Equals("HeadPoint")) { head = c.gameObject.GetComponent <PlayerHead>(); } if (c.gameObject.name.Equals("ChestPoint")) { chest = c.gameObject.GetComponent <PlayerChest>(); } if (c.gameObject.name.Equals("GroinPoint")) { abdomin = c.gameObject.GetComponent <PlayerAbdomin>(); } if (c.gameObject.name.Equals("LegPoint1")) { leg1 = c.gameObject.GetComponent <PlayerLeg>(); } if (c.gameObject.name.Equals("LegPoint2")) { leg2 = c.gameObject.GetComponent <PlayerLeg>(); } if (c.gameObject.name.Equals("ArmPoint1")) { arm1 = c.gameObject.GetComponent <PlayerArm>(); } if (c.gameObject.name.Equals("ArmPoint2")) { arm2 = c.gameObject.GetComponent <PlayerArm>(); } } }
protected override void Update() { if (base.isInitialize) { base.Update(); } else { CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(FightForm.s_battleUIForm); if (form != null) { string name = string.Format("HeroHeadHud/HeroHead{0}", base.currentConf.Param[0]); Transform transform = form.transform.FindChild(name); if (transform != null) { GameObject gameObject = transform.gameObject; if (gameObject.activeInHierarchy) { base.AddHighLightGameObject(gameObject, true, form, true); if ((NewbieGuideBaseScript.ms_originalGo.Count > 0) && (NewbieGuideBaseScript.ms_highlitGo.Count > 0)) { PlayerHead component = NewbieGuideBaseScript.ms_originalGo[0].GetComponent <PlayerHead>(); PlayerHead head2 = NewbieGuideBaseScript.ms_highlitGo[0].GetComponent <PlayerHead>(); if ((component != null) && (head2 != null)) { head2.SetPrivates(component.state, component.MyHero, component.HudOwner); } } base.Initialize(); } else { this.CompleteHandler(); } } } } }
/// <summary> /// 初始化玩家 /// </summary> private void InitPlayer() { for (int i = 0; i < playerNum; i++) { GameObject obj = panelObj.transform.Find("PlayerHead0" + i).gameObject; PlayerHead head = null; if (i == 0) { head = obj.AddComponent <MySelfHead>(); } else { head = obj.AddComponent <PlayerHead>(); } PlayerData data = new PlayerData(); data.name = "我是" + i; data.glodNum = 100000; head.SetData(data); headList.Add(head); head.playerIndex = i; } }
/// <summary> /// 发牌 /// </summary> private void FaPaiHandler() { CardItem item = readlyCardItemList[readlyCardItemList.Count - tempCardIndex - 1]; item.transform.SetAsLastSibling(); playerCardItemList.Add(item); PlayerHead head = headList[tempCardIndex % 5]; Tweener tweener = item.transform.DOMove(head.GetCardCon().position, 0.2f); tweener.OnComplete(delegate() { FapaiUnitComplete(item, head); }); tempCardIndex++; if (tempCardIndex >= 15) { Mogo.Util.TimerHeap.DelTimer(ShowCardTimeId); GenzhuButton.interactable = true; JiazhuButton.interactable = true; if (GenzhuTotalNum >= minBipaiGenzhuNum) { BiButton.interactable = true; } } }
private void NextPlayerOpaHandler(PlayerHead head) { List <PlayerHead> notOverPlayerList = GetNotOverPlayer(); if (notOverPlayerList.Count == 1) { SetWinner(notOverPlayerList[0]); return; } PlayerHead next = null; if (head.playerIndex + 1 == headList.Count) { //到了玩家自己 GenzhuTotalNum++; next = headList[0]; if (next.IsOver == false) { GenzhuButton.interactable = true; JiazhuButton.interactable = true; QiButton.interactable = true; if (GenzhuTotalNum >= minBipaiGenzhuNum) { BiButton.interactable = true; } return;//如果自己还没输则返回等待自己手动操作 } else { EnabledAllButton(false); } } else { next = headList[head.playerIndex + 1]; GenzhuButton.interactable = false; JiazhuButton.interactable = false; QiButton.interactable = false; if (GenzhuTotalNum >= minBipaiGenzhuNum) { BiButton.interactable = false; } } if (next.IsOver) { NextPlayerOpaHandler(next); return; } ShowCardTimeId = Mogo.Util.TimerHeap.AddTimer <PlayerHead>(500, 0, NextPlayerOpaHandler, next); bool isBipai = false; int randomMax = 10000; int random = Random.Range(0, randomMax); bool isChujetton = false; int surplusPlayerNum = GetSurplusPlayerNum(); int kanPlayerNum = GetKanPlayerNum(); bool isKan = false; if (next.dataList != null && next.dataList.Count == 3) { isKan = true; } if (isKan == false) { //看牌的几率30% if (random < randomMax * 0.5f) { CreatePlayerCardData(next.playerIndex);//看牌 next.SetResultText("看牌"); isChujetton = IsGenZhu(next, out isBipai); } else { isChujetton = true; } } else { isChujetton = IsGenZhu(next, out isBipai); } if (isChujetton == true) { BetJetton(next); if (isBipai) { PlayerHead bipaiPlayer = GetCanBipaiPlayer(next); if (bipaiPlayer == null) { SetWinner(next); return; } else { bipaipanel.Show(bipaiPlayer, next); Mogo.Util.TimerHeap.DelTimer(ShowCardTimeId); ShowCardTimeId = Mogo.Util.TimerHeap.AddTimer <PlayerHead, PlayerHead>(2000, 0, BiPaiResult, bipaiPlayer, next); } } } else { next.GiveUp(); } }
void Awake() { rb = GetComponentInChildren <Rigidbody>(); head = GetComponentInChildren <PlayerHead>(); }
private void Start() { playerCollider = GetComponent <CapsuleCollider>(); rb = GetComponent <Rigidbody>(); playerHead = GetComponentInChildren <PlayerHead>(); }