private IEnumerator RoundEnding() { // タンクを停止します DisableTankControl(); // 前のラウンドの勝者を消去 m_RoundWinner = null; // ラウンドが終了した時点で勝者がいるかを確認 m_RoundWinner = GetRoundWinner(); // 勝者がいる場合は、スコアを増加 if (m_RoundWinner != null) { m_RoundWinner.m_Wins++; } // 勝者のスコアが増加された今、ゲームの勝者になったプレイヤーがいるかを確認 m_GameWinner = GetGameWinner(); // スコアに基づいてゲーム勝者がいるかとうかのメッセージを取得し、それを表示します。 string message = EndMessage(); m_MessageText.text = message; // ゲームのループに制御が戻るまで、指定した時間を待機します。 yield return(m_EndWait); }
private IEnumerator RoundEnding() { // Stop tanks from moving. DisableTankControl(); // Clear the winner from the previous round. m_RoundWinner = null; // See if there is a winner now the round is over. m_RoundWinner = GetRoundWinner(); // If there is a winner, increment their score. if (m_RoundWinner != null) { m_RoundWinner.m_Wins++; } // Now the winner's score has been incremented, see if someone has one the game. m_GameWinner = GetGameWinner(); // Get a message based on the scores and whether or not there is a game winner and display it. string message = EndMessage(); m_MessageText.text = message; // Wait for the specified length of time until yielding control back to the game loop. yield return(m_EndWait); }
public void OnPlayerDeath(TankManager tank, DamageData hit) { PlayerTankManager playerTank = (PlayerTankManager)tank; if (hit is TankProjectileDamageData) { TankProjectileDamageData tankHit = (TankProjectileDamageData)hit; TankManager killer = tankHit.projectileInstance.weaponData.ownerTank; if (killer) { int killerIndex = killer.tankID; Debug.Log(killerIndex); deathmatchPlayerData[killerIndex].currentKills++; Josh.EventSystem.EventResponder.TriggerEvent("DisplayText", playerTank.tankDisplayName.ToUpper() + " WAS KILLED BY " + killer.tankDisplayName.ToUpper()); PlayerTankManager killerPlayerTank = (PlayerTankManager)killer; if (killerPlayerTank) { ui.playerScoreUIDisplay.SetScore(killerIndex, deathmatchPlayerData[killerIndex].currentKills); killerPlayerTank.quipSystem.SayQuip("Ha! Suck it, " + playerTank.tankDisplayName + "!"); } } } int playerIndex = playerTank.tankID; deathmatchPlayerData[playerIndex].isDead = true; deathmatchPlayerData[playerIndex].currentDeadTime = 0; deathmatchPlayerData[playerIndex].currentDeaths++; }
public void initEffect(TankManager tankManager) { if (m_ParticalShield == null && m_PlayerNumber != 0) { m_ParticalShield = Instantiate(GameManager.m_Instancce.m_particalPlayerInit, this.transform.position, Quaternion.identity) as ParticleSystem; m_ParticalShield.transform.parent = this.transform; m_ParticalShield.transform.position = new Vector3(this.transform.position.x, this.transform.position.y + 2, this.transform.position.z); m_ParticalShield.gameObject.SetActive(false); } if (m_PlayerNumber != 0) { StartCoroutine(EffectInit(tankManager)); } else { //int i = Random.Range(0, 7); if(GameManager.m_TankCount == 5 || GameManager.m_TankCount == 9 || GameManager.m_TankCount == 13||GameManager.m_TankCount == 1) //if (i ==0) { m_BonusType = (AwardBox.BONUS)Random.Range((int)AwardBox.BONUS.NONE+1,(int)AwardBox.BONUS.TIMER + 1);//AwardBox.BONUS.TIMER;// // m_BonusType = AwardBox.BONUS.STAR;//here GameObject obj = Instantiate(GameManager.m_Instancce.m_QuestionMark, this.transform.position, this.transform.rotation) as GameObject; obj.transform.Translate(0, 1.5f, 0); obj.SetActive(true); obj.transform.parent = this.transform; // Debug.Log(m_BonusType); } } }
private void OnEnable() { if (!_runStartUpOnEnable) { return; } if (!IsInitialized) { Initialize(); } if (_data == null) { ReadySaveData(); } if (_fromSave) { TankManager.SetTankLevel(_data.TankLevel); ColorManager.SetColorFromSave(_data.BodyColor.Vector4ToColor()); StorageManager.NumberOfBottles = _data.ContainerAmount; _isInSub = _data.IsInSub; QuickLogger.Info($"Loaded {Mod.FriendlyName}"); _fromSave = false; } }
private IEnumerator RoundEnding() { // Clear the winner from the previous round. m_RoundWinner = null; // See if there is a winner now the round is over. m_RoundWinner = GetRoundWinner(); // If there is a winner, increment their score. if (m_RoundWinner != null) { m_RoundWinner.m_Wins++; } // Now the winner's score has been incremented, see if someone has one the game. m_GameWinner = GetGameWinner(); RpcUpdateMessage(EndMessage(0)); //notify client they should disable tank control RpcRoundEnding(); // Wait for the specified length of time until yielding control back to the game loop. yield return(m_EndWait); }
public IEnumerator EffectInit(TankManager tankManager) { m_ParticalShield.gameObject.SetActive(true); yield return new WaitForSeconds(2); m_ParticalShield.gameObject.SetActive(false); }
/// <summary> /// 被使用技能的结算结果 /// </summary> /// <param name="targetTM">技能目标TankManager</param> /// <param name="suc">结算结果:0命中,1未命中</param> public void onSkillResult(TankManager targetTM, int type, int suc) { if (suc == 0) { m_propBehavior.onSkillResult(targetTM, (EPropType)type); // m_health.TakeDamage(10); } }
public void Init(TankManager manager, TankDisplay display) { m_Manager = manager; m_TankDisplay = display; m_Collider = m_TankDisplay.GetComponent <BoxCollider>(); SetDefaults(); }
/// <summary> /// Convenience function for showing the leaderboard /// </summary> /// <param name="tank">Tank</param> /// <param name="heading">Heading</param> public void ShowLeaderboard(TankManager tank, string heading) { if (tank != null && !tank.removedTank && tank.hasAuthority && !m_GameIsFinished) { LazyLoadLeaderboard(); m_Leaderboard.Show(heading); } }
/// <summary> /// Convenience function for hiding the leaderboard /// </summary> /// <param name="tank">Tank</param> public void ClearLeaderboard(TankManager tank) { if (!tank.removedTank && tank.hasAuthority && !m_GameIsFinished) { LazyLoadLeaderboard(); m_Leaderboard.Hide(); } }
/// <summary> /// Add a tank from the lobby hook /// </summary> static public void AddTank(TankManager tank) { if (s_Tanks.IndexOf(tank) == -1) { s_Tanks.Add(tank); tank.MoveToSpawnLocation(SpawnManager.s_Instance.GetSpawnPointTransformByIndex(tank.playerNumber)); } }
// Use this for initialization void Start() { tank = gameObject.transform.parent.parent.gameObject.GetComponent <Tank>(); manager = gameObject.transform.parent.parent.parent.gameObject.GetComponent <TankManager>(); attack = manager.TankAttack; turning = (10.0f - manager.TankRe) / 7; utuwait = (3.5f - (manager.TankRe * 0.5f)); }
public override void OnPickup(TankManager tank) { if (weapons.Length > 0) { tank.GiveWeapon(currentWeapon); representationRenderer.enabled = false; } }
public override object Process(TankManager manager, object state = null) { PlayerTankControllerState convertedState = (state as PlayerTankControllerState); if (convertedState == null) { convertedState = new PlayerTankControllerState(); } if (manager.isDead) { return(convertedState); } InputDevice inputDevice = GameInput.GetPlayerDevice(convertedState.player); if (inputDevice == null) { return(convertedState); } Vector2 leftStickInput = inputDevice.LeftStick.Vector; Vector2 rightStickInput = inputDevice.RightStick.Vector; if (!manager.isDead) { manager.tankMovement.targetVector = leftStickInput; manager.tankMovement.targetSpeed = leftStickInput.magnitude; manager.AimTurrets(rightStickInput); if (inputDevice.LeftBumper.IsPressed) { manager.armourPickupManager.EjectArmourPickups(); manager.armourPickupManager.refusePickups = true; } else { manager.armourPickupManager.refusePickups = false; } if (inputDevice.RightTrigger.WasPressed) { manager.FireTurrets(TankManager.FiringInputType.Down); } else if (inputDevice.RightTrigger.WasReleased) { manager.FireTurrets(TankManager.FiringInputType.Up); } if (inputDevice.RightTrigger.IsPressed) { manager.FireTurrets(TankManager.FiringInputType.Held); } } return(convertedState); }
private void RpcAddTankOnClient(TankManager newTankManager) { newTankManager.SetMovementScipt(newTankManager.m_Instance.GetComponent <TankMovement>()); newTankManager.SetShootingScipt(newTankManager.m_Instance.GetComponent <TankShooting>()); newTankManager.SetNetworkHelperScipt(newTankManager.m_Instance.GetComponent <NetworkHelper>()); newTankManager.SetCanvasGameObject(newTankManager.m_Instance.GetComponentInChildren <Canvas>().gameObject); AddTankToArray(newTankManager); }
private void RpcAddTankOnClient(TankManager newTankManager) { newTankManager.SetMovementScipt(newTankManager.m_Instance.GetComponent<TankMovement>()); newTankManager.SetShootingScipt(newTankManager.m_Instance.GetComponent<TankShooting>()); newTankManager.SetNetworkHelperScipt(newTankManager.m_Instance.GetComponent<NetworkHelper>()); newTankManager.SetCanvasGameObject(newTankManager.m_Instance.GetComponentInChildren<Canvas>().gameObject); AddTankToArray(newTankManager); }
public void AccountEnterWorld(int eid, KBEngine.Avatar account) { TankManager tm = new TankManager(); tm.SetAvatar(account); g_tankDict.Add(account.id, tm); g_tankList.Add(tm); g_tankList.Sort((x, y) => x.m_roomNo.CompareTo(y.m_roomNo)); }
private void InitHudAndLocalPlayer() { for (int i = 0; i < s_Tanks.Count; i++) { m_LocalPlayer = s_Tanks[i]; HUDController.s_Instance.InitHudPlayer(s_Tanks[i]); m_LocalPlayerNumber = s_Tanks[i].playerNumber; } }
// Removes the tank. public void RemoveTank(TankManager tank) { int tankIndex = s_Tanks.IndexOf(tank); if (tankIndex >= 0) { s_Tanks.RemoveAt(tankIndex); } }
public void CambiarColor() { Color color = picker.GetSelectedColor(); if (jugadorLocal is null) { jugadorLocal = GameObject.Find("LocalPlayer").GetComponent <TankManager>(); } jugadorLocal.CmdCambiarColorJugador(color); }
//This method is called during setup, and subscribes all the HUD's listener methods to the local player's tank public void InitHudPlayer(TankManager playerTank) { m_TankManager = playerTank; m_Movement = m_TankManager.movement; m_TankManager.onPickupCollected += OnPickupTextChanged; m_TankManager.onCurrencyChanged += UpdatePickUpCurrency; SetHudEnabled(false); }
/// <summary> /// Handles the killer score - killer's score is increased for Deathmatch /// </summary> /// <param name="killer">Tank that did the killing</param> /// <param name="killed">Tank that was killed</param> public override void HandleKillerScore(TankManager killer, TankManager killed) { killer.IncrementScore(); if (killer.score >= m_KillLimit) { m_Winner = killer; m_MatchOver = true; } }
public void SetScreenSaverInterval(string interval) { Console.WriteLine("Settings: Setting screen saver effect inetrval {0}", interval); int i; if (int.TryParse(interval, out i)) { TankManager.SetScreenSaverInterval(i); } }
public void SetManualTick(string manualtick) { Console.WriteLine("Settings: Setting manual tick {0}", manualtick); int i; if (int.TryParse(manualtick, out i)) { TankManager.SetManualTick(i); } }
void OnTriggerEnter2D(Collider2D coll) { if (coll.transform.CompareTag("Enemy")) { TankManager enemy = coll.transform.GetComponent <TankManager>(); enemy.hp -= damage; Destroy(gameObject); } }
void Awake() { if (Instance == null) { Instance = this; GameObject.DontDestroyOnLoad(gameObject); InitializeTank(); } }
public static void Main() { IReader reader = new ConsoleReader(); IWriter writer = new ConsoleWriter(); IManager manager = new TankManager(); ICommandInterpreter commandInterpreter = new CommandInterpreter(manager); IEngine engine = new Engine(reader, writer, commandInterpreter); engine.Run(); }
void FindLocalTank() { if (ClientScene.localPlayer == null) { return; } LocalPlayer = ClientScene.localPlayer.gameObject.GetComponent <TankManager>(); LocalPlayer.DisableControl(); }
/// <summary> /// Gets the player position /// </summary> /// <returns>The player position</returns> /// <param name="tank">Tank</param> public int GetPlayerPosition(TankManager tank) { if (!isServer) { s_Tanks.Sort(TankSort); } int index = s_Tanks.IndexOf(tank); return(index + 1); }
public void RpcRespawnTank(int playerNumber, bool showLeaderboard, int spawnPointIndex) { TankManager tank = GetTankByPlayerNumber(playerNumber); if (tank == null) { return; } LocalRespawn(tank, showLeaderboard, SpawnManager.s_Instance.GetSpawnPointTransformByIndex(spawnPointIndex)); }
private IEnumerator RoundEnding() { DisableTankControl(); m_RoundWinner = GetRoundWinner(); UpdateScoreBoard(); m_GameWinner = GetGameWinner(); m_MessageText.text = EndMessage(); yield return(m_EndWait); }
private IEnumerator RoundEnding() { DisableTankControl(); m_RoundWinner = GetRoundWinner(); m_GameWinner = GetGameWinner(); string message = EndMessage(); m_MessageText.text = message; yield return(m_EndWait); }
/// <summary> /// Add a tank from the lobby hook /// </summary> /// <param name="tank">The actual GameObject instantiated by the lobby, which is a NetworkBehaviour</param> /// <param name="playerNum">The number of the player (based on their slot position in the lobby)</param> /// <param name="c">The color of the player, choosen in the lobby</param> /// <param name="name">The name of the Player, choosen in the lobby</param> /// <param name="localID">The localID. e.g. if 2 player are on the same machine this will be 1 & 2</param> static public void AddTank(GameObject tank, int playerNum, Color c, string name, int localID) { TankManager tmp = new TankManager(); tmp.m_Instance = tank; tmp.m_PlayerNumber = playerNum; tmp.m_PlayerColor = c; tmp.m_PlayerName = name; tmp.m_LocalPlayerID = localID; tmp.Setup(); m_Tanks.Add(tmp); }
private void RpcDeactivateTankOnClient(TankManager deactiveTankManager) { if (m_GameManager == null) m_GameManager = (GameManager) GameObject.FindWithTag("GameManager").GetComponent(typeof(GameManager)); foreach(TankManager tm in m_GameManager.m_Tanks) { if(tm.m_PlayerNumber == deactiveTankManager.m_PlayerNumber) { tm.m_Instance.SetActive(false); break;//skip the rest } } }
public void DeactivateTankOnClients(TankManager tankManagerToRemove) { if (m_GameManager == null) m_GameManager = (GameManager) GameObject.FindWithTag("GameManager").GetComponent(typeof(GameManager)); if (m_GameManager.m_IsOnlineMultiplayer) { foreach(TankManager tm in m_GameManager.m_Tanks) { if(tankManagerToRemove.m_PlayerNumber == tm.m_PlayerNumber) { RpcDeactivateTankOnClient(tm); } } } }
//Helper function. Increases the TankManager size by one and adds the new tank manager private void AddTankToArray(TankManager newTankManager) { if (m_GameManager == null) m_GameManager = (GameManager) GameObject.FindWithTag("GameManager").GetComponent(typeof(GameManager)); //Dont add existing tanks if(m_GameManager.m_Tanks.Count(lt=>lt.m_PlayerNumber == newTankManager.m_PlayerNumber) > 0) { return; } var m_TanksTmp = new TankManager[m_GameManager.m_Tanks.Length + 1]; m_GameManager.m_Tanks.CopyTo(m_TanksTmp, 0); newTankManager.m_PlayerNumber = m_TanksTmp.Length; //Increase player number by one m_TanksTmp[m_TanksTmp.Length - 1] = newTankManager; //add new tank manager as the last item m_GameManager.m_Tanks = m_TanksTmp; }
private WaitForSeconds m_StartWait; // Used to have a delay whilst the round starts. #endregion Fields #region Methods //Create new random managers based on predefined max player count public TankManager AddTankManager() { Debug.Log("AddTankManager"); GameObject[] spawnPoints = GameObject.FindGameObjectsWithTag("SpawnPoint"); int spawnPointNumber = Random.Range(0, spawnPoints.Length - 1); TankManager newTankManager = new TankManager(); newTankManager.m_SpawnPoint = spawnPoints[spawnPointNumber].transform; //newTankManager.m_PlayerNumber = m_Tanks.Length; //Generate a random color for each player newTankManager.m_PlayerColor = new Color( Random.Range(0, 101) / 100f, Random.Range(0, 101) / 100f, Random.Range(0, 101) / 100f); AddTankToArray(newTankManager); SpawnSingleTank(newTankManager); return newTankManager; }
public void SpawnSingleTank(TankManager tm) { tm.m_Instance = Instantiate(m_TankPrefab, tm.m_SpawnPoint.position, tm.m_SpawnPoint.rotation) as GameObject; tm.Setup(); }
static TankManager() { Instance = new TankManager { NeedToTaunt = new List<WoWUnit>() }; }
private IEnumerator RoundEnding() { // Clear the winner from the previous round. m_RoundWinner = null; // See if there is a winner now the round is over. m_RoundWinner = GetRoundWinner(); // If there is a winner, increment their score. if (m_RoundWinner != null) m_RoundWinner.m_Wins++; // Now the winner's score has been incremented, see if someone has one the game. m_GameWinner = GetGameWinner(); RpcUpdateMessage(EndMessage(0)); //notify client they should disable tank control RpcRoundEnding(); // Wait for the specified length of time until yielding control back to the game loop. yield return m_EndWait; }
private IEnumerator RoundEnding() { DisableTankControl(); m_RoundWinner = null; // We want to ensure that the previous round winner is nulled out m_RoundWinner = GetRoundWinner(); if (m_RoundWinner != null) m_RoundWinner.m_Wins++; m_GameWinner = GetGameWinner(); string message = EndMessage(); m_MessageText.text = message; yield return m_EndWait; }
private IEnumerator RoundEnding() { DisableTankControl(); m_RoundWinner = null; m_RoundWinner = GetRoundWinner(); if (m_RoundWinner != null) { m_RoundWinner.m_Wins++; } m_Player1_Info.text = string.Empty; m_Player2_Info.text = string.Empty; m_Player1_SpeedBuff.enabled = false; m_Player2_SpeedBuff.enabled = false; m_GameWinner = GetGameWinner(); string message = EndMessage(); m_MessageText.text = message; yield return m_EndWait; }
private IEnumerator RoundEnding() { // Stop tanks from moving. DisableTankControl(); // Clear the winner from the previous round. m_RoundWinner = null; // See if there is a winner now the round is over. m_RoundWinner = GetRoundWinner(); // If there is a winner, increment their score. if (m_RoundWinner != null) m_RoundWinner.m_Wins++; // Now the winner's score has been incremented, see if someone has one the game. m_GameWinner = GetGameWinner(); // Get a message based on the scores and whether or not there is a game winner and display it. string message = EndMessage(); m_MessageText.text = message; // Wait for the specified length of time until yielding control back to the game loop. yield return m_EndWait; }
public void SpawnSingleTankOnClients(TankManager tm) { tm.SpawnTanksOnClients(); tm.SpawnTanksOnClients(); }
private IEnumerator RoundEnding() { DisableTankControl (); m_RoundWinner = GetRoundWinner(); if (m_RoundWinner != null) { m_RoundWinner.m_Wins++; } m_GameWinner = GetGameWinner (); string message = EndMessage (); m_MessageText.text = message; yield return m_EndWait; }
//Update the server-side m_Tank private void AddTankToArray(TankManager newTankManager) { //Create a new TankManager array with the newly added Player var m_TanksTmp = new TankManager[m_Tanks.Length + 1]; m_Tanks.CopyTo(m_TanksTmp, 0); newTankManager.m_PlayerNumber = m_TanksTmp.Length; //Increase player number by one m_TanksTmp[m_TanksTmp.Length - 1] = newTankManager; //add new tank manager as the last item m_Tanks = m_TanksTmp; }