public int GetCorrectCount(PlayerEnum player) { if (_player != player) { return -1; } int correctCount = 0; for (int i = 0; i < _organs.Length && i < _correctResult.Length; ++i) { if (_organs[i]._organType == _correctResult[i]) { correctCount++; } } if (correctCount == 4) { SpawnToken ((int)player); } return correctCount; }
void SetPlayerEnum(int num) { if(num == 0) { playerNum = PlayerEnum.Player1; } else if (num == 1) { playerNum = PlayerEnum.Player2; } else if (num == 2) { playerNum = PlayerEnum.Player3; } else if (num == 3) { playerNum = PlayerEnum.Player4; } else { playerNum = PlayerEnum.empty; } }
public void OnRemoveCannon(PlayerEnum playerSt, int key) { if (IsDeathNpc) { return; } IsDeathNpc = true; //ClearNpcAmmoList(); if (key == 1) { //XkGameCtrl.GetInstance().AddPlayerKillNpc(playerSt, NpcJiFenEnum.CheLiang); if (DeathExplode != null) { if (!DeathExplode.activeSelf) { DeathExplode.SetActive(true); } GameObject objExplode = null; objExplode = (GameObject)Instantiate(DeathExplode, DeathExplodePoint.position, DeathExplodePoint.rotation); objExplode.transform.parent = XkGameCtrl.NpcAmmoArray; XkGameCtrl.CheckObjDestroyThisTimed(objExplode); } } XkGameCtrl.GetInstance().RemoveNpcTranFromList(CannonTran); float timeVal = 0f; if (DaPaoHiddenArray.Length <= 0) { gameObject.SetActive(false); ResetCannonInfo(); //Destroy(gameObject); } else { int max = DaPaoHiddenArray.Length; for (int i = 0; i < max; i++) { if (DaPaoHiddenArray[i] != null) { DaPaoHiddenArray[i].SetActive(false); } } timeVal = 3f; } if (IsHiddenAmmoSpawnPoint) { ResetCannonInfo(); } if (DaPaoCtrlScript == null) { DaPaoCtrlScript = GetComponentInParent <XKDaPaoCtrl>(); //if (DaPaoCtrlScript != null) { //Debug.Log("find XKDaPaoCtrl script..."); //} } if (key == 1 && DaPaoCtrlScript != null && NpcMoveScript == null) { //Debug.Log("XKDaPaoCtrl -> OnRemoveCannon..."); DaPaoCtrlScript.OnRemoveCannon(PlayerEnum.Null, 1, timeVal); } }
/// <see cref="IMinimapBackgroundJob.Execute"/> public void Execute() { if (this.isDisposed) { throw new ObjectDisposedException("MinimapScanner"); } /// Download the buffers from the graphics device for modification. this.fowBuffer.Download(); this.entitiesBuffer.Download(); this.attackSignalsBuffer.Download(); /// Render the pixel informations into the buffers. IUIRenderContext fowBufferContext = UIRoot.Instance.GraphicsPlatform.SpriteManager.CreateRenderContext(this.fowBuffer); IUIRenderContext entitiesBufferContext = UIRoot.Instance.GraphicsPlatform.SpriteManager.CreateRenderContext(this.entitiesBuffer); IUIRenderContext attackSignalsBufferContext = UIRoot.Instance.GraphicsPlatform.SpriteManager.CreateRenderContext(this.attackSignalsBuffer); for (int row = 0; row < this.fowBuffer.Size.Y; row++) { for (int col = 0; col < this.fowBuffer.Size.X; col++) { /// Render the FOW-status of the current pixel into the FOW-buffer. if (this.pixelInfoArray[col, row].FOWStatus == FOWTypeEnum.Full) { fowBufferContext.RenderSprite(this.blackBrush.Value, new RCIntVector(col, row)); } else if (this.pixelInfoArray[col, row].FOWStatus == FOWTypeEnum.None) { fowBufferContext.RenderSprite(this.transparentBrush.Value, new RCIntVector(col, row)); } else if (this.pixelInfoArray[col, row].FOWStatus == FOWTypeEnum.Partial) { fowBufferContext.RenderSprite((col + row) % 2 == 0 ? this.grayBrush.Value : this.transparentBrush.Value, new RCIntVector(col, row)); } /// Render the entity indicator and the attack signal of the current pixel into the entity indicator buffer /// and the attack signals buffer. if (this.pixelInfoArray[col, row].EntityIndicatorType == MinimapPixelInfo.EntityIndicatorTypeEnum.None) { /// No entity, no attack signal. entitiesBufferContext.RenderSprite(this.transparentBrush.Value, new RCIntVector(col, row)); attackSignalsBufferContext.RenderSprite(this.transparentBrush.Value, new RCIntVector(col, row)); } else if (this.pixelInfoArray[col, row].EntityIndicatorType == MinimapPixelInfo.EntityIndicatorTypeEnum.Friendly) { /// Friendly entity, no attack signal. entitiesBufferContext.RenderSprite(this.friendlyEntityBrush.Value, new RCIntVector(col, row)); attackSignalsBufferContext.RenderSprite(this.transparentBrush.Value, new RCIntVector(col, row)); } else if (this.pixelInfoArray[col, row].EntityIndicatorType == MinimapPixelInfo.EntityIndicatorTypeEnum.AttackedFriendly) { /// Friendly entity, attack signal. entitiesBufferContext.RenderSprite(this.friendlyEntityBrush.Value, new RCIntVector(col, row)); attackSignalsBufferContext.RenderSprite(this.attackSignalBrush.Value, new RCIntVector(col, row)); } else if (this.pixelInfoArray[col, row].EntityIndicatorType == MinimapPixelInfo.EntityIndicatorTypeEnum.NonFriendly) { /// Non-friendly entity, no attack signal. PlayerEnum owner = this.pixelInfoArray[col, row].EntityOwner; entitiesBufferContext.RenderSprite(this.entityBrushes[owner].Value, new RCIntVector(col, row)); attackSignalsBufferContext.RenderSprite(this.transparentBrush.Value, new RCIntVector(col, row)); } else { /// Impossible case -> crash! throw new InvalidOperationException("Impossible case happened!"); } } } UIRoot.Instance.GraphicsPlatform.SpriteManager.CloseRenderContext(this.fowBuffer); UIRoot.Instance.GraphicsPlatform.SpriteManager.CloseRenderContext(this.entitiesBuffer); UIRoot.Instance.GraphicsPlatform.SpriteManager.CloseRenderContext(this.attackSignalsBuffer); /// Upload the modified buffers to the graphics device. this.fowBuffer.Upload(); this.entitiesBuffer.Upload(); this.attackSignalsBuffer.Upload(); }
/// <summary> /// 重新开始出票. /// </summary> void PcvrRestartPrintCaiPiao(PlayerEnum indexPlayer) { //这里添加pcvr重新出票的代码. pcvr.GetInstance().RestartPrintCaiPiao(indexPlayer); }
private void RecordPlayerMove(int cellID, PlayerEnum currentPlayer) { storageControllerScript.RecordPlayerMove(cellID, currentPlayer, playersModel); }
/*************************** * END VARAIBLE DECLARATION * *************************/ // Update is called once per frame void Update() { #region UPDATE playerPos = gameObject.transform.position; switch(currentState) { case(PlayerEnum.GAME): // GAME State #region GAME if(f_currentHP <= 0) { currentState = PlayerEnum.DEAD; } Debug.Log ("currentState: " + currentState.ToString()); //mouse.SendMessage("LockMouse"); playerInput(); break; #endregion GAME case(PlayerEnum.MENU): // MENU State #region MENU Debug.Log ("currentState: " + currentState.ToString ()); //Unlock mouse //Display Menu if(!b_InMenu) { currentState = PlayerEnum.GAME; } //Player Input for Menu controls break; #endregion MENU case(PlayerEnum.MAP): // MAP State #region MAP Debug.Log ("currentState: " + currentState.ToString ()); //Unlock Mouse //mouse.SendMessage("UnlockMouse"); Debug.Log("Displaying Map"); //Display Map Overlay if(Input.GetButtonDown("Map")) { Debug.Log ("Closing Map"); currentState = PlayerEnum.GAME; } //If TAB is hit, return to Game and hide Map Overlay break; #endregion MAP case(PlayerEnum.DEAD): #region DEAD //Display screen to retry or quit game b_IsAlive = false; saveManager.Load(); b_IsAlive = true; currentState = PlayerEnum.GAME; Debug.Log ("Current State: " + currentState.ToString()); break; #endregion DEAD default: #region DEFAULT Debug.Log ("Error! Invalid State!"); //Load Retry/EndGame Menu options break; #endregion DEFAULT } // End of Switch #endregion UPDATE }
/// <summary> /// 开始打印彩票. /// </summary> void StartPrintCaiPiao(PlayerEnum indexPlayer) { pcvr.GetInstance().StartPrintPlayerCaiPiao(indexPlayer, 1); }
public CharacterEnum GetPlayersCharacter(PlayerEnum p) { switch (p) { case PlayerEnum.Player1: return GetCharacter(p1Class); case PlayerEnum.Player2: return GetCharacter(p2Class); case PlayerEnum.Player3: return GetCharacter(p3Class); case PlayerEnum.Player4: return GetCharacter(p4Class); default: return GetCharacter(5); } }
/// <summary> /// Create the full command from a subcommand /// </summary> /// <returns>The command.</returns> /// <param name="command">PlayerEnum as the subcommand.</param> public static string GetCommand(PlayerEnum command) { return BASE_COMMAND + "." + command.ToString(); }
public PlayerData(PlayerEnum indexPlayer) { IndexPlayer = indexPlayer; }
/// <summary> /// 给玩家添加分数 /// </summary> internal void AddPlayerFenShu(PlayerEnum indexPlayer, int val) { FenShu += val; }
public void OnDamageNpc(int damageNpcVal = 1, PlayerEnum playerSt = PlayerEnum.Null, PlayerAmmoType pAmmoType = PlayerAmmoType.Null) { if (IsDeathNpc) { return; } switch (NpcJiFen) { case NpcJiFenEnum.Boss: if (!XKBossXueTiaoCtrl.GetInstance().GetIsCanSubXueTiaoAmount()) { return; } break; } if (CountActivePlayer != XkGameCtrl.PlayerActiveNum) { if (CountActivePlayer != 0) { //fix PuTongAmmoCount. int indexValTmp = CountActivePlayer - 1; int puTongAmmoNumTmp = MaxPuTongAmmo[indexValTmp]; indexValTmp = XkGameCtrl.PlayerActiveNum - 1; if (indexValTmp >= 0) { float healthPer = (float)PuTongAmmoCount / puTongAmmoNumTmp; //int oldPuTongAmmoCount = PuTongAmmoCount; PuTongAmmoCount = (int)(healthPer * MaxPuTongAmmo[indexValTmp]); /*Debug.Log("Unity:"+"fix npc health -> PuTongAmmoCount "+PuTongAmmoCount +", oldPuTongAmmoCount "+oldPuTongAmmoCount);*/ } } CountActivePlayer = XkGameCtrl.PlayerActiveNum; } if (NpcDamageCom != null) { NpcDamageCom.PlayNpcDamageEvent(); } if (NpcScript == null || (NpcScript != null && !NpcScript.GetIsWuDi())) { PuTongAmmoCount += damageNpcVal; } int indexVal = XkGameCtrl.PlayerActiveNum - 1; indexVal = indexVal < 0 ? 0 : indexVal; int puTongAmmoNum = MaxPuTongAmmo[indexVal]; if (NpcJiFen == NpcJiFenEnum.Boss) { float bossAmount = (float)(puTongAmmoNum - PuTongAmmoCount) / puTongAmmoNum; bossAmount = bossAmount < 0f ? 0f : bossAmount; XKBossXueTiaoCtrl.GetInstance().SetBloodBossAmount(bossAmount, this); } /*Debug.Log("Unity:"+"OnDamageNpc -> " +", nameNpc "+NpcNameInfo +", puTongAmmoNum "+puTongAmmoNum);*/ if (PuTongAmmoCount >= puTongAmmoNum) { if (IsDeathNpc) { return; } IsDeathNpc = true; if (IsOpenCameraShake) { XKPlayerCamera.GetInstanceFeiJi().HandlePlayerCameraShake(); } if (NpcJiFen == NpcJiFenEnum.Boss && BossXieZiScript != null) { BossXieZiScript.ResetBossXieZiShouBiInfo(); } if (BoxColCom != null) { BoxColCom.enabled = false; } CheckSpawnDaoJuCom(); CheckNpcDeathExplode(); CheckHiddenNpcObjArray(); // bool isAddKillNpcNum = true; // if (NpcScript != null && CannonScript != null) { // if (NpcScript.GetIsDeathNPC()) { // isAddKillNpcNum = false; // Debug.Log("Unity:"+"name "+NpcScript.name+", isAddKillNpcNum "+isAddKillNpcNum); // } // } if (!IsYouTongNpc) { switch (NpcJiFen) { case NpcJiFenEnum.Boss: if (GameTimeBossCtrl.GetInstance().GetTimeBossResidual() > 0) { XkGameCtrl.GetInstance().AddPlayerKillNpc(PlayerEnum.Null, NpcJiFen, JiFenVal); } break; default: XkGameCtrl.GetInstance().AddPlayerKillNpc(playerSt, NpcJiFen, JiFenVal); break; } // if (isAddKillNpcNum) { // switch (NpcJiFen) { // case NpcJiFenEnum.Boss: // if (GameTimeBossCtrl.GetInstance().GetTimeBossResidual() > 0) { // XkGameCtrl.GetInstance().AddPlayerKillNpc(PlayerEnum.Null, NpcJiFen, JiFenVal); // } // break; // default: // XkGameCtrl.GetInstance().AddPlayerKillNpc(playerSt, NpcJiFen, JiFenVal); // break; // } // } } else { CheckYouTongDamageNpc(); } if (NpcScript != null) { if (CannonScript != null) { CannonScript.OnRemoveCannon(playerSt, 1); } if (NpcJiFen != NpcJiFenEnum.Boss && NpcScript.GetIsBossNpc()) { return; } NpcScript.TriggerRemovePointNpc(1, CannonScript, pAmmoType); } else if (CannonScript != null) { CannonScript.OnRemoveCannon(playerSt, 1); } } }
private void SpawnGamePiece(GameObject gamePiece, GameObject playerSpawnArea, int creationIndex, PlayerEnum player, string id) { var piece = Instantiate(gamePiece, GetSpawnLocation(creationIndex, playerSpawnArea), Quaternion.identity); scaleGamePiece(creationIndex, piece); if (creationIndex == 0) { piece.transform.position = new Vector3(piece.transform.position.x - .2f, piece.transform.position.y, piece.transform.position.z); } piece.transform.SetParent(playerSpawnArea.transform); var gamePieceInfo = piece.GetComponent <GamePiece>(); gamePieceInfo.SetSize(6 - creationIndex); gamePieceInfo.SetIsPlayer1(player); gamePieceInfo.SetId(id); }
private void GameOver(PlayerEnum I) { GameOverPlayer = I; ResetBallParams(); }
public void OnDamageNpc(int damageNpcVal = 1, PlayerEnum playerSt = PlayerEnum.Null, PlayerAmmoType pAmmoType = PlayerAmmoType.Null, bool isAiFireAmmo = false) { if (IsDeathNpc) { return; } if (pAmmoType == PlayerAmmoType.SanDanAmmo) { if (Time.time - TimeSanDanDamage < XKPlayerGlobalDt.GetInstance().TimeShouDongDaoDan) { //对于玩家的主炮散弹在同一次发射内只计算一次伤害. //SSDebug.LogWarning("************* pAmmoType ====== " + pAmmoType); return; } TimeSanDanDamage = Time.time; } if (pAmmoType == PlayerAmmoType.ChuanTouAmmo) { if (XKPlayerMvFanWei.GetInstanceQian() != null && XKPlayerCamera.GetInstanceFeiJi() != null) { Vector3 forwardVecCam = XKPlayerCamera.GetInstanceFeiJi().transform.forward; Vector3 posA = transform.position; Vector3 posB = XKPlayerMvFanWei.GetInstanceQian().transform.position; forwardVecCam.y = posA.y = posB.y = 0f; Vector3 vecBA = posA - posB; if (Vector3.Dot(forwardVecCam, vecBA) >= 0f) { //npc在镜头前方范围之外,不受玩家子弹伤害. return; } } } if (IsBackDaiJinQuanNpcBlood == true) { //代金券npc重置血值后,给一定时间的无敌状态. if (Time.time - m_TimeLastBackDaiJinQuanNpcBlood <= 0.5f) { return; } else { IsBackDaiJinQuanNpcBlood = false; } } //switch (NpcJiFen) //{ // case NpcJiFenEnum.Boss: // if (!XKBossXueTiaoCtrl.GetInstance().GetIsCanSubXueTiaoAmount()) // { // if (NpcDamageCom != null) // { // NpcDamageCom.PlayNpcDamageEvent(); // } // return; // } // break; //} if (NpcDamageCom != null) { NpcDamageCom.PlayNpcDamageEvent(); } if (NpcScript != null) { if (NpcScript.IsCaiPiaoZhanChe == true && NpcScript.IsEnterCameraBox == false) { //彩票战车和boss没有进入摄像机盒子,不计算伤害. return; } } if (CountActivePlayer != XkGameCtrl.PlayerActiveNum) { if (CountActivePlayer != 0) { //fix PuTongAmmoCount. int indexValTmp = CountActivePlayer - 1; int puTongAmmoNumTmp = MaxPuTongAmmo[indexValTmp]; indexValTmp = XkGameCtrl.PlayerActiveNum - 1; if (indexValTmp >= 0) { float healthPer = (float)PuTongAmmoCount / puTongAmmoNumTmp; //int oldPuTongAmmoCount = PuTongAmmoCount; PuTongAmmoCount = (int)(healthPer * MaxPuTongAmmo[indexValTmp]); /*Debug.Log("Unity:"+"fix npc health -> PuTongAmmoCount "+PuTongAmmoCount +", oldPuTongAmmoCount "+oldPuTongAmmoCount);*/ } } CountActivePlayer = XkGameCtrl.PlayerActiveNum; } if (NpcScript == null || (NpcScript != null && !NpcScript.GetIsWuDi())) { PuTongAmmoCount += damageNpcVal; } int indexVal = XkGameCtrl.PlayerActiveNum - 1; indexVal = indexVal < 0 ? 0 : indexVal; int puTongAmmoNum = MaxPuTongAmmo[indexVal]; if (NpcScript != null) { if (NpcScript.IsZhanCheNpc || NpcScript.IsJPBossNpc) { if (XkGameCtrl.GetInstance().m_GamePlayerAiData.IsActiveAiPlayer == true) { //当没有玩家激活游戏时,彩票战车和JPBoss采用原血量的一定比例来计算. puTongAmmoNum = (int)(XkGameCtrl.GetInstance().m_ZhanCheBossBloodPer *puTongAmmoNum); } } } /*if (NpcJiFen == NpcJiFenEnum.Boss) * { * float bossAmount = (float)(puTongAmmoNum - PuTongAmmoCount) / puTongAmmoNum; * bossAmount = bossAmount < 0f ? 0f : bossAmount; * if (XKBossXueTiaoCtrl.GetInstance() != null) * { * XKBossXueTiaoCtrl.GetInstance().SetBloodBossAmount(bossAmount, this); * } * }*/ if (NpcScript != null) { if (NpcScript.IsCaiPiaoZhanChe == true) { if (XkGameCtrl.GetInstance() != null && XKPlayerFenShuCtrl.GetInstance() != null) { if (pAmmoType == PlayerAmmoType.DaoDanAmmo || pAmmoType == PlayerAmmoType.PaiJiPaoAmmo || pAmmoType == PlayerAmmoType.ChuanTouAmmo || pAmmoType == PlayerAmmoType.SanDanAmmo || pAmmoType == PlayerAmmoType.ChongJiBoAmmo) { int jiFenVal = XkGameCtrl.GetInstance().m_DaoDanHitBossJiFen; //XKPlayerFenShuCtrl.GetInstance().ShowPlayerFenShu(playerSt, GetJiFen(jiFenVal)); XKPlayerFenShuCtrl.GetInstance().ShowPlayerFenShu(playerSt, jiFenVal); } } float bloodAmount = (float)(puTongAmmoNum - PuTongAmmoCount) / puTongAmmoNum; bloodAmount = bloodAmount < 0f ? 0f : bloodAmount; bool isCanJiBao = true; if (XkGameCtrl.GetInstance().m_GamePlayerAiData.IsActiveAiPlayer == true) { //没有玩家激活游戏时,Ai都认为是可以击爆战车或Boss. } else { //有玩家激活游戏. if (XkGameCtrl.GetInstance().m_CaiPiaoHealthDt != null) { isCanJiBao = XkGameCtrl.GetInstance().m_CaiPiaoHealthDt.m_CurrentTotalHealthDt.IsCanJiBao; } } if (isCanJiBao == false) { //不允许被玩家击爆的代金券npc. if (IsBloodToStage02 == false) { if (bloodAmount <= 0.24f) { //强制保留一定的血量. m_BloodAmoutValue = bloodAmount = 0.24f; IsBloodToStage02 = true; m_TimeLastBloodToStage = Time.time; PuTongAmmoCount = puTongAmmoNum - 1; } } else if (IsBloodToStage01 == false) { float minBloodAmount = 0.12f; //最小极限血值. if (m_BloodAmoutValue > minBloodAmount) { //血值已经降到最低阶段. float dTimeVal = 0.4f; if (XkGameCtrl.GetInstance().m_CaiPiaoHealthDt != null) { dTimeVal = XkGameCtrl.GetInstance().m_CaiPiaoHealthDt.m_TimeNoDead; } if (Time.time - m_TimeLastBloodToStage >= dTimeVal) { //每次间隔一定时间减少一定血值. m_TimeLastBloodToStage = Time.time; float subBloodAmount = 0.02f; //每次减少的血值. if (m_BloodAmoutValue > minBloodAmount) { m_BloodAmoutValue -= subBloodAmount; if (m_BloodAmoutValue < minBloodAmount) { //强制保护的血值信息. m_BloodAmoutValue = minBloodAmount; IsBloodToStage01 = true; } } } } bloodAmount = m_BloodAmoutValue; PuTongAmmoCount = puTongAmmoNum - 1; //强制保留一定的血值. } else { float minBloodAmount = 0.03f; //最小极限血值. if (m_BloodAmoutValue > minBloodAmount) { //血值已经降到最低阶段. float dTimeVal = 0.4f; if (XkGameCtrl.GetInstance().m_CaiPiaoHealthDt != null) { dTimeVal = XkGameCtrl.GetInstance().m_CaiPiaoHealthDt.m_TimeNoDead; } if (Time.time - m_TimeLastBloodToStage >= dTimeVal) { //每次间隔一定时间减少一定血值. m_TimeLastBloodToStage = Time.time; float subBloodAmount = 0.01f; //每次减少的血值. if (m_BloodAmoutValue > minBloodAmount) { m_BloodAmoutValue -= subBloodAmount; if (m_BloodAmoutValue < minBloodAmount) { //强制保护的血值信息. m_BloodAmoutValue = minBloodAmount; } } } } bloodAmount = m_BloodAmoutValue; PuTongAmmoCount = puTongAmmoNum - 1; //强制保留一定的血值. } } //彩票战车和boss的血条UI信息更新. SSUIRoot.GetInstance().m_GameUIManage.SetDaiJinQuanNpcXueTiaoAmount(bloodAmount); if (XkGameCtrl.GetInstance().m_GamePlayerAiData.IsActiveAiPlayer == true) { //没有玩家激活游戏时,Ai都认为是不可以击爆JPBoss特殊武器的. } else { //JPBoss受到玩家子弹伤害. if (NpcScript.IsJPBossNpc == true) { NpcScript.OnDamageJPBossWeapon(bloodAmount); } } } } /*Debug.Log("Unity:"+"OnDamageNpc -> " +", nameNpc "+NpcNameInfo +", puTongAmmoNum "+puTongAmmoNum);*/ if (PuTongAmmoCount >= puTongAmmoNum) { if (NpcScript != null) { if (NpcScript.IsZhanCheNpc) { //战车npc是否可以被击爆的判断. if (XkGameCtrl.GetInstance().IsCaiPiaoHuLuePlayerIndex == false && NpcScript.m_IndexPlayerJiBao != playerSt) { //不是可以击爆战车npc的玩家. return; } if (XkGameCtrl.GetInstance().m_GamePlayerAiData.IsActiveAiPlayer == true) { //没有激活任何玩家. } else { if (!XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetIsChuCaiPiaoByDeCaiState(SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhanChe, NpcScript.m_DaiJinQuanState)) { //战车彩池的彩票积累的不够. return; } } } if (NpcScript.IsJPBossNpc) { //JPBoss是否可以被击爆的判断. if (XkGameCtrl.GetInstance().IsCaiPiaoHuLuePlayerIndex == false && NpcScript.m_IndexPlayerJiBao != playerSt) { //不是可以击爆JPBoss的玩家. return; } if (XkGameCtrl.GetInstance().m_GamePlayerAiData.IsActiveAiPlayer == true) { //没有激活任何玩家. } else { if (!XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetIsChuCaiPiaoByDeCaiState(SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.JPBoss)) { //JPBoss彩池的彩票积累的不够. return; } } } } if (IsDeathNpc) { return; } IsDeathNpc = true; if (IsOpenCameraShake) { XKPlayerCamera.GetInstanceFeiJi().HandlePlayerCameraShake(); } if (NpcJiFen == NpcJiFenEnum.Boss && BossXieZiScript != null) { BossXieZiScript.ResetBossXieZiShouBiInfo(); } if (BoxColCom != null) { BoxColCom.enabled = false; } CheckSpawnDaoJuCom(playerSt); CheckNpcDeathExplode(playerSt); CheckHiddenNpcObjArray(); // bool isAddKillNpcNum = true; // if (NpcScript != null && CannonScript != null) { // if (NpcScript.GetIsDeathNPC()) { // isAddKillNpcNum = false; // Debug.Log("Unity:"+"name "+NpcScript.name+", isAddKillNpcNum "+isAddKillNpcNum); // } // } if (!IsYouTongNpc) { switch (NpcJiFen) { case NpcJiFenEnum.Boss: if (GameTimeBossCtrl.GetInstance() != null && GameTimeBossCtrl.GetInstance().GetTimeBossResidual() > 0) { XkGameCtrl.GetInstance().AddPlayerKillNpc(PlayerEnum.Null, NpcJiFen, GetJiFen()); } break; default: XkGameCtrl.GetInstance().AddPlayerKillNpc(playerSt, NpcJiFen, GetJiFen()); ShowPiaoFen(playerSt); break; } // if (isAddKillNpcNum) { // switch (NpcJiFen) { // case NpcJiFenEnum.Boss: // if (GameTimeBossCtrl.GetInstance().GetTimeBossResidual() > 0) { // XkGameCtrl.GetInstance().AddPlayerKillNpc(PlayerEnum.Null, NpcJiFen, JiFenVal); // } // break; // default: // XkGameCtrl.GetInstance().AddPlayerKillNpc(playerSt, NpcJiFen, JiFenVal); // break; // } // } } else { CheckYouTongDamageNpc(); } if (NpcScript != null) { if (CannonScript != null) { CannonScript.OnRemoveCannon(playerSt, 1); } if (NpcJiFen != NpcJiFenEnum.Boss && NpcScript.GetIsBossNpc()) { return; } NpcScript.TriggerRemovePointNpc(1, CannonScript, pAmmoType); if (NpcScript.IsCaiPiaoZhanChe) { SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState deCaiType = SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhanChe; //彩票boss或战车npc. if (NpcScript.GetIsBossNpc()) { deCaiType = SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.JPBoss; } else { if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().AddGetZhanCheDaiJinQuanPlayer(XKPlayerMoveCtrl.GetInstance(playerSt)); } } if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage != null) { if (isAiFireAmmo == false) { //只有被玩家击爆的代金券npc才允许出彩. XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.SubGameDeCaiValByDeCaiState(playerSt, deCaiType, SSCaiPiaoDataManage.SuiJiDaoJuState.BaoXiang, NpcScript.m_DaiJinQuanState); } //else //{ //被Ai坦克击爆的代金券npc不允许出彩. //SSDebug.Log("The DaiJinQuan was killed by AiTank"); //} } } else { //普通npc被击杀. //if (XkGameCtrl.GetInstance().m_PlayerJiChuCaiPiaoData != null && DeathExplodePoint != null) //{ // //随机送出正常得彩. // XkGameCtrl.GetInstance().m_PlayerJiChuCaiPiaoData.CheckPlayerSongPiaoInfo(playerSt, DeathExplodePoint.position); //} } } else if (CannonScript != null) { CannonScript.OnRemoveCannon(playerSt, 1); //炮台类npc被击杀. //if (XkGameCtrl.GetInstance().m_PlayerJiChuCaiPiaoData != null && DeathExplodePoint != null) //{ // //随机送出正常得彩. // XkGameCtrl.GetInstance().m_PlayerJiChuCaiPiaoData.CheckPlayerSongPiaoInfo(playerSt, DeathExplodePoint.position); //} } } }
void Awake() { //Get State currentState = PlayerEnum.GAME; saveManager = GameObject.Find("GameManager").GetComponent<SaveSystem>(); playerObj = GameObject.FindWithTag("Player"); }
public PawnAdapter Create(PlayerEnum playerEnum, PictureBox pictureBox) { PawnBox pawnBox = new PawnBox(playerEnum, PawnTypeEnum.Normal, 0, 0, Color.Black, null, true); return(new PawnAdapter(pictureBox, pawnBox)); }
public PlayerTypeEnum GetTypeOfPlayer(PlayerEnum p) { switch (p) { case PlayerEnum.Player1: return (PlayerTypeEnum)p1Type; case PlayerEnum.Player2: return (PlayerTypeEnum)p2Type; case PlayerEnum.Player3: return (PlayerTypeEnum)p3Type; case PlayerEnum.Player4: return (PlayerTypeEnum)p4Type; default: return PlayerTypeEnum.Player; } }
public static void SetHandAdder(this GameplayTool self, PlayerEnum player) { Info.HandAdder = player; }
public void UpdateCell(int cellID, PlayerEnum currentPlayer) { board[cellID].GetComponent <CellView>().UpdateCell(currentPlayer); }
private void playerInput() { //Player Input when playing game if(Input.GetButtonDown("Map")) { Debug.Log("Opening Map"); currentState = PlayerEnum.MAP; // Open map } if(Input.GetKeyDown("h") && f_currentHP < f_MaxHP && i_CurrUse != 0) { heal (); i_CurrUse--; } /*if(Input.GetKeyDown ("j") && f_currentHP >= 0) { takeDamage(10); //If player's health is 0, switch states }*/ if(Input.GetKeyDown ("1")) { //set equipped item to flashlight to true b_Flashlight = true; b_Canteen = false; b_SunGem = false; b_MoonGem = false; } if(Input.GetKeyDown ("2")) { //set equipped item to canteen b_Flashlight = false; b_Canteen = true; b_SunGem = false; b_MoonGem = false; } if(Input.GetKeyDown("3") && b_SunGemUnlock) { //set equipped item to sun gemstone b_Flashlight = false; b_Canteen = false; b_SunGem = true; b_MoonGem = false; } if(Input.GetKeyDown("4") && b_MoonGemUnlock) { //set equipped item to moon gemstone b_Flashlight = false; b_Canteen = false; b_SunGem = false; b_MoonGem = true; } if(Input.GetButtonDown("Menu")) { if(b_InMenu) { b_InMenu = false; currentState = PlayerEnum.GAME; } else if(!b_InMenu) { b_InMenu = true; currentState = PlayerEnum.MENU; } } }
/// <summary> /// 设置是否显示距抽奖界面. /// </summary> internal void SetActiveJuChouJiang(PlayerEnum indexPlayer, bool isActive) { if (isActive == true) { //玩家分数不够抽奖资格. int indexVal = (int)indexPlayer - 1; if (juChouJiangUI != null) { if (indexVal >= 0 && indexVal < juChouJiangImgArray.Length && juChouJiangImgArray[indexVal] != null) { //给不同玩家设置还差多少分UI. juChouJiangUI.mainTexture = juChouJiangImgArray[indexVal]; } } if (fenShuNumUI != null) { if (indexVal >= 0 && indexVal < fenShuAtlasArray.Length && fenShuAtlasArray[indexVal] != null) { for (int i = 0; i < fenShuNumUI.m_UISpriteArray.Length; i++) { if (fenShuNumUI.m_UISpriteArray[i] != null) { //给不同玩家设置还差多少分的数字UI图集. fenShuNumUI.m_UISpriteArray[i].atlas = fenShuAtlasArray[indexVal]; } } } //玩家最多差40000分可以获得抽奖. int minChouJiangScore = 40000; if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_PingJiData != null) { minChouJiangScore = XkGameCtrl.GetInstance().m_PingJiData.GetChouJiangMinScore(); } int playerScore = XkGameCtrl.GetPlayerJiFenValue(indexPlayer); //还差多少分数. int haiChaScoreVal = minChouJiangScore - playerScore; if (haiChaScoreVal <= 0) { haiChaScoreVal = 100; } fenShuNumUI.ShowNumUI(haiChaScoreVal); } } if (juChouJiangObj != null) { //距抽奖还差多少分. juChouJiangObj.SetActive(isActive); } if (gongXiJinRuChouJiangObj != null) { //恭喜进入抽奖. gongXiJinRuChouJiangObj.SetActive(!isActive); } if (headKuangUI != null) { int indexVal = (int)indexPlayer - 1; if (indexVal >= 0 && indexVal < headKuangImgArray.Length && headKuangImgArray[indexVal] != null) { //玩家头像框. headKuangUI.mainTexture = headKuangImgArray[indexVal]; } } }
public CPUPlayer(PlayerEnum color) { this.color = color; this.score = 2; this.isHuman = false; }
internal void Init(PlayerEnum indexPlayer, int fenShu) { SetActive(false); m_IndexPlayer = indexPlayer; //m_TimeFenShuStart = m_TimeStart = Time.time; if (m_PingJiUI == null) { SSDebug.LogWarning("SSPingJiUI::Init -> m_PingJiUI was null"); return; } IsCreateChouJiang = false; m_PlayerPingJiLevel = SSPingJiData.PingJiLevel.D; if (XkGameCtrl.GetInstance().m_PingJiData != null) { m_PlayerPingJiLevel = XkGameCtrl.GetInstance().m_PingJiData.GetPlayerPingJiLevel(fenShu); } else { SSDebug.LogWarning("XkGameCtrl.GetInstance().m_PingJiData was null"); } //玩家还差多少分可以进行抽奖控制. SSPingJiData.PingJiLevel chouJiangPingJi = SSPingJiData.PingJiLevel.A; if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_PingJiData != null) { chouJiangPingJi = XkGameCtrl.GetInstance().m_PingJiData.m_ChouJiangPingJi; } //是否可以抽奖. bool isCanChouJiang = m_PlayerPingJiLevel < chouJiangPingJi ? false : true; if (m_JuChouJiangDt != null) { m_JuChouJiangDt.SetActiveJuChouJiang(indexPlayer, !isCanChouJiang); } //玩家得分控制. if (fenShu.ToString().Length > m_FenShuNumUI.m_UISpriteArray.Length) { fenShu = (int)Mathf.Pow(10, fenShu.ToString().Length) - 1; } m_PlayerFenShu = fenShu; m_FenShuAnimationData = new FenShuAnimationData(m_TimeFenShuAni, fenShu); int indexVal = (int)m_PlayerPingJiLevel; if (indexVal < m_PingJiImgArray.Length && m_PingJiImgArray[indexVal] != null) { //评级信息. m_PingJiUI.mainTexture = m_PingJiImgArray[indexVal]; } else { SSDebug.LogWarning("indexVal or m_PingJiImgArray was wrong"); } if (indexVal < m_PingJiPingYuImgArray.Length && m_PingJiPingYuImgArray[indexVal] != null) { //评级评语. m_PingJiPingYuUI.mainTexture = m_PingJiPingYuImgArray[indexVal]; } else { SSDebug.LogWarning("indexVal or m_PingJiImgArray was wrong"); } SetPlayerHeadImg(); }
/// <summary> /// 创建随机道具. /// </summary> public void CreatSuiJiDaoJu(PlayerEnum indexPlayer) { if (!IsCreatSuiJiDaoJu) { return; } int indexVal = (int)indexPlayer - 1; if (indexVal < 0 || indexVal > 2) { return; } if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_PlayerCoinData[indexVal].XuBiVal <= 0) { //不是续币玩家. return; } if (!XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetIsChuCaiPiaoByDeCaiState(SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.SuiJiDaoJu)) { //随机道具彩池的彩票积累的不够. return; } if (Random.Range(0f, 100f) / 100f > 0.4f) { //没有随机上产生随机道具. return; } if (XkGameCtrl.GetInstance().GetIsCreateSuiJiDaoJu() == false) { //产生随机道具的间隔时间未到. return; } UnityLog("CreatSuiJiDaoJu...................."); GameObject suiJiDaoJuPrefab = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.GetSuiJiDaoJuPrefab(indexPlayer); if (suiJiDaoJuPrefab != null) { GameObject obj = (GameObject)Instantiate(suiJiDaoJuPrefab, XkGameCtrl.GetInstance().DaoJuArray, transform); if (obj != null) { BuJiBaoCtrl buJiBao = obj.GetComponent <BuJiBaoCtrl>(); if (buJiBao != null) { buJiBao.IsCaiPiaoDaoJu = true; buJiBao.SetIsSpawnDaoJu(); buJiBao.DelayRemoveSelf(indexPlayer); } //SSCaiPiaoSuiJiDaoJu suiJiDaoJu = obj.GetComponent<SSCaiPiaoSuiJiDaoJu>(); //if (suiJiDaoJu != null) //{ // suiJiDaoJu.CreatLiZi(indexPlayer); //} //else //{ // UnityLogWarning("CreatSuiJiDaoJu -> SSCaiPiaoSuiJiDaoJu was null.........."); //} } } else { UnityLogWarning("CreatSuiJiDaoJu -> suiJiDaoJuPrefab was null!"); } }
public void AddPlayerYouLiangDian(PlayerEnum indexPlayer) { XkGameCtrl.GetInstance().AddPlayerYouLiang(YouLiangDianAddYL, indexPlayer); //Add Player YouLiang }
private void GetCurrentPlayer() { CurrentPlayer = playerTurnControllerScript.GetCurrentPlayer(); }
public void OnDamageNpc(PlayerAmmoType state, PlayerEnum playerSt) { if (IsKaQiuShaNpc) { return; } if (IsDeathNpc) { return; } if (NpcScript == null || (NpcScript != null && !NpcScript.GetIsWuDi())) { switch (state) { case PlayerAmmoType.PuTongAmmo: PuTongAmmoCount++; SetNpcAmmoCount(PuTongAmmoCount, state); break; case PlayerAmmoType.GaoBaoAmmo: GaoBaoAmmoCount++; SetNpcAmmoCount(GaoBaoAmmoCount, state); // Debug.Log(gameObject.name+":: GaoBaoAmmoCount "+GaoBaoAmmoCount+", MaxGaoBaoAmmo "+MaxGaoBaoAmmo // +", playerSt "+playerSt); break; case PlayerAmmoType.DaoDanAmmo: DaoDanAmmoCount++; SetNpcAmmoCount(DaoDanAmmoCount, state); // Debug.Log(gameObject.name+":: DaoDanAmmoCount "+MaxDaoDanAmmo+", MaxGaoBaoAmmo "+MaxDaoDanAmmo // +", playerSt "+playerSt); break; } } if (NpcShouJiFanKui != null) { NpcShouJiFanKui.PlayNpcDamageEvent(); } AmmoHurtCount++; if (MaxAmmoHurtLiZi > 0 && AmmoHurtCount >= MaxAmmoHurtLiZi) { if (HurtLiZiObj != null && !HurtLiZiObj.activeSelf) { HurtLiZiObj.SetActive(true); } } int puTongAmmoNum = MaxPuTongAmmo; //单机单人. if (XkGameCtrl.GameModeVal == GameMode.LianJi && XkPlayerCtrl.PlayerTranFeiJi != null && XkPlayerCtrl.PlayerTranTanKe != null) { if (XkGameCtrl.IsActivePlayerOne && XkGameCtrl.IsActivePlayerTwo) { if (NpcJiFen != NpcJiFenEnum.ShiBing) { puTongAmmoNum = LJMaxPuTongAmmoSR; //联机双人. } } else { if (NpcJiFen != NpcJiFenEnum.ShiBing) { puTongAmmoNum = LJMaxPuTongAmmoSR; //联机单人. } } } else { if (XkGameCtrl.IsActivePlayerOne && XkGameCtrl.IsActivePlayerTwo) { if (NpcJiFen != NpcJiFenEnum.ShiBing) { puTongAmmoNum = MaxPuTongAmmoSR; //单机双人. } } } if (PuTongAmmoCount >= puTongAmmoNum || GaoBaoAmmoCount >= MaxGaoBaoAmmo || DaoDanAmmoCount >= MaxDaoDanAmmo) { if (IsDeathNpc) { return; } IsDeathNpc = true; CheckHiddenNpcObjArray(); bool isAddKillNpcNum = true; if (NpcScript != null && CannonScript != null) { if (NpcScript.GetIsDeathNPC()) { isAddKillNpcNum = false; } } if (!IsYouTongNpc) { if (Network.peerType != NetworkPeerType.Server) { if (isAddKillNpcNum) { XkGameCtrl.GetInstance().AddPlayerKillNpc(playerSt, NpcJiFen); } XkGameCtrl.GetInstance().AddYouLiangDian(YouLiangDian, playerSt); YouLiangDianUICtrl.GetInstance().HandleNpcYouLiangDian(YouLiangDian, transform); } } else { CheckYouTongDamageNpc(); } if (NpcScript != null) { if (CannonScript != null) { CannonScript.OnRemoveCannon(playerSt, 1); } NpcScript.TriggerRemovePointNpc(1, CannonScript); } else if (CannonScript != null) { CannonScript.OnRemoveCannon(playerSt, 1); } } }
public void SetDevice(PlayerEnum controllingPlayer) { this.device = GameManager.S.players[(int)controllingPlayer].device; }
public IGameEvent StartTurn(int turnNumber, PlayerEnum activePlayer) { return(new TurnStart(timeProvider.Now, turnNumber, activePlayer)); }
public void SetCellPlayer(PlayerEnum player, int row, int column) { Cells[row][column] = player; }
public static void SetRoundOwned(this GameplayTool self, PlayerEnum player) { Gameplay.Info.RoundOwned = player; }
void CheckNpcDeathExplode(PlayerEnum indexPlayer = PlayerEnum.Null) { if (DeathExplode == null) { return; } if (NpcScript != null && NpcScript.IsCaiPiaoZhanChe) { SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState deCaiType = SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhanChe; //彩票boss或战车npc. if (NpcScript.GetIsBossNpc()) { deCaiType = SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.JPBoss; AudioBeiJingCtrl.StopGameBeiJingAudio(); } if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage != null) { int value = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetPrintCaiPiaoValueByDeCaiState(deCaiType, SSCaiPiaoDataManage.SuiJiDaoJuState.BaoXiang, NpcScript.m_DaiJinQuanState); if (DeathExplodePoint != null) { //Vector3 pos = XkGameCtrl.GetInstance().GetWorldObjToScreenPos(objExplode.transform.position); SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState daiJinQuanType = NpcScript.m_DaiJinQuanState; SSUIRoot.GetInstance().m_GameUIManage.CreatZhanCheBossCaiPiaoZhuanPan(indexPlayer, value, DeathExplodePoint.position, deCaiType, DeathExplode, daiJinQuanType); //SSCaiPiaoLiZiManage caiPiaoLiZi = objExplode.GetComponent<SSCaiPiaoLiZiManage>(); //if (caiPiaoLiZi != null) //{ // caiPiaoLiZi.ShowNumUI(value, indexPlayer); //} //else //{ // Debug.LogWarning("CheckNpcDeathExplode -> caiPiaoLiZi was null................."); //} if (deCaiType == SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.JPBoss) { //只给boss产生爆炸粒子. GameObject objExplode = (GameObject)Instantiate(DeathExplode, DeathExplodePoint.position, DeathExplodePoint.rotation); objExplode.transform.parent = XkGameCtrl.NpcAmmoArray; XkGameCtrl.CheckObjDestroyThisTimed(objExplode); SSCaiPiaoLiZiManage caiPiaoLiZi = objExplode.GetComponent <SSCaiPiaoLiZiManage>(); if (caiPiaoLiZi != null) { caiPiaoLiZi.ShowNumUI(value, indexPlayer); } else { Debug.LogWarning("CheckNpcDeathExplode -> caiPiaoLiZi was null................."); } } } } //if (deCaiType == SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhanChe) //{ // if (XkGameCtrl.GetInstance().m_CaiPiaoFlyData != null) // { // //初始化飞出的彩票逻辑. // XkGameCtrl.GetInstance().m_CaiPiaoFlyData.InitCaiPiaoFly(transform.position, indexPlayer, SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhanChe); // } // else // { // Debug.LogWarning("CreatLiZi -> m_CaiPiaoFlyData was null............"); // } //} //else if (deCaiType == SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.JPBoss) //{ // if (SSUIRoot.GetInstance().m_GameUIManage != null) // { // SSUIRoot.GetInstance().m_GameUIManage.InitCaiPiaoAnimation(XkGameCtrl.GetInstance().m_CaiPiaoFlyData.m_JPBossCaiPiaoFlyDt.TimeLeiJiaVal, indexPlayer); // } // if (XkGameCtrl.GetInstance().m_CaiPiaoFlyData != null) // { // //初始化烟花粒子的产生. // XkGameCtrl.GetInstance().m_CaiPiaoFlyData.InitPlayCaiPiaoYanHua(); // } // else // { // Debug.LogWarning("CreatLiZi -> m_CaiPiaoFlyData was null............"); // } //} } else { GameObject objExplode = (GameObject)Instantiate(DeathExplode, DeathExplodePoint.position, DeathExplodePoint.rotation); objExplode.transform.parent = XkGameCtrl.NpcAmmoArray; XkGameCtrl.CheckObjDestroyThisTimed(objExplode); } }
public static void SetCaster(this GameplayTool self, PlayerEnum player) { Gameplay.Info.Caster = player; }
/// <summary> /// 检测玩家送票信息. /// </summary> public void CheckPlayerSongPiaoInfo(PlayerEnum indexPlayer, Vector3 pos) { if (XKTriggerYuLeCtrl.IsActiveYuLeTrigger == true) { //娱乐触发器激活后不去送基础彩票. return; } int indexVal = (int)indexPlayer - 1; if (indexVal < 0 || indexVal > 2) { UnityLogWarning("CheckPlayerSongPiaoInfo -> indexVal was wrong! indexVal ======= " + indexVal); return; } if (m_JiChuCaiPiaoData[indexVal].IsCanSongPiao == false) { return; } if (m_JiChuCaiPiaoData[indexVal].JiChuCaiPiaoVal <= 0) { return; } int randVal = Random.Range(0, 100) % 2; if (m_JiChuCaiPiaoData[indexVal].SongPiaoCount == m_BiDingSongPiaoCountFirst || m_JiChuCaiPiaoData[indexVal].SongPiaoCount == m_BiDingSongPiaoCountLast) { //必定送票. randVal = 0; } if (m_JiChuCaiPiaoData[indexVal].SongPiaoCount < m_BiDingSongPiaoCountLast) { if (m_JiChuCaiPiaoData[indexVal].JiChuCaiPiaoVal <= 1) { //基础彩票留下1张到最后一次送出. return; } } if (randVal != 0) { return; } //送出彩票数量. int chuPiaoVal = 1; float randGaiLv = Random.Range(0f, 100f) / 100f; if (randGaiLv > m_SongPiaoGaiLv01) { chuPiaoVal = 2; } if (m_JiChuCaiPiaoData[indexVal].JiChuCaiPiaoVal < chuPiaoVal) { if (m_JiChuCaiPiaoData[indexVal].SongPiaoCount < m_BiDingSongPiaoCountLast) { //给最后一次留1张票. chuPiaoVal = m_JiChuCaiPiaoData[indexVal].JiChuCaiPiaoVal - 1; } else { //最后一次送出剩余基础彩票. chuPiaoVal = m_JiChuCaiPiaoData[indexVal].JiChuCaiPiaoVal; } } if (chuPiaoVal <= 0) { UnityLogWarning("CheckPlayerSongPiaoInfo -> jiChuCaiPiao was out over.........."); return; } UnityLog("CheckPlayerSongPiaoInfo -> chuPiaoVal ====== " + chuPiaoVal + ", count == " + m_JiChuCaiPiaoData[indexVal].SongPiaoCount + ", time == " + Time.time); //进入下一周期计时. m_JiChuCaiPiaoData[indexVal].IsCanSongPiao = false; m_JiChuCaiPiaoData[indexVal].LastSongPiaoTime = Time.time; m_JiChuCaiPiaoData[indexVal].JiChuCaiPiaoVal -= chuPiaoVal; if (XkGameCtrl.GetInstance().m_GamePlayerAiData.IsActiveAiPlayer == true) { //没有激活任何玩家. } else { if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage != null) { //减少玩家正常得彩. XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.SubPlayerZhengChangDeCai(indexPlayer, chuPiaoVal); } } //可以送出基础彩票. if (XkGameCtrl.GetInstance().m_CaiPiaoFlyData != null && XkGameCtrl.GetInstance().m_CaiPiaoFlyData.m_JiChuCaiPiaoLiZiPrefab != null) { GameObject obj = (GameObject)Instantiate(XkGameCtrl.GetInstance().m_CaiPiaoFlyData.m_JiChuCaiPiaoLiZiPrefab, XkGameCtrl.PlayerAmmoArray); obj.transform.position = pos + (Vector3.up * 2f); if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage != null) { //int value = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetPrintCaiPiaoValueByDeCaiState(SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.SuiJiDaoJu, DaoJuType); SSCaiPiaoLiZiManage caiPiaoLiZi = obj.GetComponent <SSCaiPiaoLiZiManage>(); if (caiPiaoLiZi != null) { caiPiaoLiZi.ShowNumUI(chuPiaoVal, indexPlayer); } else { Debug.LogWarning("CheckPlayerSongPiaoInfo -> caiPiaoLiZi was null................."); } } if (XkGameCtrl.GetInstance().m_CaiPiaoFlyData != null) { //初始化飞出的彩票逻辑. XkGameCtrl.GetInstance().m_CaiPiaoFlyData.InitCaiPiaoFly(obj.transform.position, indexPlayer, SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.ZhengChang); } else { Debug.LogWarning("CheckPlayerSongPiaoInfo -> m_CaiPiaoFlyData was null............"); } } }
public static void SetSummonersController(this GameplayTool self, PlayerEnum player) { Info.SummonersController = player; }
/// <summary> /// Removes the bu ji bao. key == 0 -> hit TerrainLayer, key == 1 -> PlayerOne, key == 2 -> PlayerTwo. /// </summary> /// <param name="key">Key.</param> public void RemoveBuJiBao(PlayerEnum key, int keyHit = 0) { if (IsDeath) { return; } IsDeath = true; CancelInvoke("DelayDestroyBuJiBao"); if (key != PlayerEnum.Null || keyHit == 1) { XKGlobalData.GetInstance().PlayAudioHitBuJiBao(); if (ExplodeObj != null) { GameObject obj = (GameObject)Instantiate(ExplodeObj, transform.position, transform.rotation); XkGameCtrl.CheckObjDestroyThisTimed(obj); } if (Network.peerType != NetworkPeerType.Server) { //Add BuJiBao switch (BuJiBao) { case BuJiBaoType.DaoDan: if (keyHit == 1) { XkGameCtrl.GetInstance().AddDaoDanNum(PlayerEnum.PlayerOne); XkGameCtrl.GetInstance().AddDaoDanNum(PlayerEnum.PlayerTwo); } else { XkGameCtrl.GetInstance().AddDaoDanNum(key); } break; case BuJiBaoType.GaoBaoDan: if (keyHit == 1) { XkGameCtrl.GetInstance().AddGaoBaoDanNum(PlayerEnum.PlayerOne); XkGameCtrl.GetInstance().AddGaoBaoDanNum(PlayerEnum.PlayerTwo); } else { XkGameCtrl.GetInstance().AddGaoBaoDanNum(key); } break; case BuJiBaoType.YouLiang: XkGameCtrl.GetInstance().AddPlayerYouLiang(XkGameCtrl.YouLiangBuJiNum); break; } } } if (Network.peerType != NetworkPeerType.Disconnected) { if (Network.peerType == NetworkPeerType.Client) { // NetworkViewCom.RPC("BuJiBaoSendRemoveObj", RPCMode.OthersBuffered); return; } } DestroyNetObj(gameObject); }
public static void SetDrawer(this GameplayTool self, PlayerEnum player) { Info.Drawer = player; }