public void Setup() { // Get references to the components. m_Movement = m_Instance.GetComponent<TankMovement>(); m_Shooting = m_Instance.GetComponent<TankShooting>(); m_Health = m_Instance.GetComponent<TankHealth>(); m_Setup = m_Instance.GetComponent<TankSetup>(); // Get references to the child objects. m_TankRenderers = m_Health.m_TankRenderers; //Set a reference to that amanger in the health script, to disable control when dying m_Health.m_Manager = this; // Set the player numbers to be consistent across the scripts. m_Movement.m_PlayerNumber = m_PlayerNumber; m_Movement.m_LocalID = m_LocalPlayerID; m_Shooting.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_localID = m_LocalPlayerID; //setup is use for diverse Network Related sync m_Setup.m_Color = m_PlayerColor; m_Setup.m_PlayerName = m_PlayerName; m_Setup.m_PlayerNumber = m_PlayerNumber; m_Setup.m_LocalID = m_LocalPlayerID; }
// Use this for initialization void Start() { GameObject playObj = GameObject.FindGameObjectWithTag("Player"); playerScript = (PlayerMovement)playObj.GetComponent(typeof(PlayerMovement)); playerFireScript = (TankShooting)playObj.GetComponent(typeof(TankShooting)); }
private float degreesPerSecond = 200; // Magnitude of spin of death rotation. private void Awake() { m_Rigidbody = GetComponent <Rigidbody>(); m_TankShooting = GetComponent <TankShooting>(); frame = 0; spinToWin = false; }
public void Setup() { m_Movement = m_Instance.GetComponent <TankMovement>(); m_Shooting = m_Instance.GetComponent <TankShooting>(); m_Health = m_Instance.GetComponent <TankHealth>(); m_TankInput = TankInputFactory.MakeTankWithInput(m_InputType); m_Movement.m_TankInput = m_TankInput; m_Shooting.m_TankInput = m_TankInput; m_TankScore = new Score(m_PlayerNumber); m_Shooting.m_Score = m_TankScore; m_Health.m_Score = m_TankScore; m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject; m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>(); for (int i = 0; i < renderers.Length; i++) { renderers[i].material.color = m_PlayerColor; } m_CurrentColor = m_PlayerColor; }
public void Setup() { m_Movement = m_Instance.GetComponent <TankMovement>(); m_Shooting = m_Instance.GetComponent <TankShooting>(); m_NavMeshAgent = m_Instance.GetComponent <NavMeshAgent>(); m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject; m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; if (m_PlayerNumber == 1) { //Playerだったら m_Movement.movementType = MovementType.Player; m_Shooting.movementType = MovementType.Player; m_Instance.GetComponent <Cpu1Controller>().enabled = false; } else { m_Movement.movementType = MovementType.CPU1; m_Shooting.movementType = MovementType.CPU1; m_Instance.GetComponent <Cpu1Controller>().TargetObject = playerTank; m_Shooting.playerTank = playerTank; } m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>(); for (int i = 0; i < renderers.Length; i++) { renderers[i].material.color = m_PlayerColor; } }
private GameObject m_CanvasGameObject; // Used to disable the world space UI during the Starting and Ending phases of each round. public void Setup() { // Get references to the components. m_Movement = m_Instance.GetComponent <TankMovement> (); m_Shooting = m_Instance.GetComponent <TankShooting> (); m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas> ().gameObject; // Set the player numbers to be consistent across the scripts. Debug.Log(m_Instance); Debug.Log(m_PlayerNumber); m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; // Create a string using the correct color that says 'PLAYER 1' etc based on the tank's color and the player's number. m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; // Get all of the renderers of the tank. MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer> (); // Go through all the renderers... for (int i = 0; i < renderers.Length; i++) { // ... set their material color to the color specific to this tank. renderers[i].material.color = m_PlayerColor; } }
void Start() { GameObject player = GameObject.FindGameObjectWithTag("Player"); mover = (PlayerMovement)player.GetComponent(typeof(PlayerMovement)); firer = (TankShooting)player.GetComponent(typeof(TankShooting)); }
void Start() { movement = GetComponent <TankMovement>(); shooting = GetComponent <TankShooting>(); health = GetComponent <TankHealth>(); mainCamera = Camera.main; }
private void SetupPlayer() { Movement = Instance.GetComponent<TankMovement>(); Shooting = Instance.GetComponent<TankShooting>(); Movement.PlayerNumber = Player.Number; Shooting.PlayerNumber = Player.Number; }
public void Run(bool debug, int portOffset, TankMovement mv, TankObservation obv, TankShooting shoot, GenerateMaze generateMaze) { DebugMode = debug; m_Movement = mv; m_Observation = obv; m_Shooting = shoot; m_GenerateMaze = generateMaze; m_running = true; m_portOffset = portOffset; m_ControllerClient = new UdpClient(CONTROL_PORT + m_portOffset); //m_ObservationClient = new UdpClient(OBSERVATION_PORT + m_portOffset); m_ipEndPoint = new IPEndPoint(IPAddress.Any, OBSERVATION_PORT + m_portOffset); var debugString = DebugMode ? "Debug" : ""; var startString = $"Starting {debugString} Server: {m_ipEndPoint.Address}"; Debug.Log(startString); // Control thread ThreadStart controlThreadDelegate = new ThreadStart(ControlListener); Thread controlThread = new Thread(controlThreadDelegate); controlThread.Start(); // Obervation thread ThreadStart observationThreadDelegate = new ThreadStart(ObservationListener); Thread observationThread = new Thread(observationThreadDelegate); observationThread.Start(); }
public void Setup() { // Get references to the components. m_Movement = m_Instance.GetComponent <TankMovement>(); m_Shooting = m_Instance.GetComponent <TankShooting>(); m_Health = m_Instance.GetComponent <TankHealth>(); m_Setup = m_Instance.GetComponent <TankSetup>(); // Get references to the child objects. m_TankRenderers = m_Health.m_TankRenderers; //Set a reference to that amanger in the health script, to disable control when dying m_Health.m_Manager = this; // Set the player numbers to be consistent across the scripts. m_Movement.m_PlayerNumber = m_PlayerNumber; m_Movement.m_LocalID = m_LocalPlayerID; m_Shooting.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_localID = m_LocalPlayerID; //setup is use for diverse Network Related sync m_Setup.m_Color = m_PlayerColor; m_Setup.m_PlayerName = m_PlayerName; m_Setup.m_PlayerNumber = m_PlayerNumber; m_Setup.m_LocalID = m_LocalPlayerID; }
public void Setup() { m_Instance.GetComponent <Collider>().enabled = isPlayer; // Get references to the components. m_movement = m_Instance.GetComponent <TankMovement>(); m_shooting = m_Instance.GetComponent <TankShooting>(); m_health = m_Instance.GetComponent <TankHealth>(); m_propBehavior = m_Instance.GetComponent <TankPropBehavior>(); m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject; m_movement.m_avatar = m_avatar; m_shooting.m_isPlayer = isPlayer; m_shooting.m_tankmanager = this; m_propBehavior.m_isPlayer = isPlayer; m_propBehavior.m_tankmanager = this; m_health.SetIDText(m_avatarName); // Create a string using the correct color that says 'PLAYER 1' etc based on the tank's color and the player's number. m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; // Get all of the renderers of the tank. MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>(); // Go through all the renderers... for (int i = 0; i < renderers.Length; i++) { // ... set their material color to the color specific to this tank. renderers[i].material.color = m_PlayerColor; } }
public void Start() { navMeshAgent = GetComponent <NavMeshAgent>(); shooting = GetComponent <TankShooting>(); health = GetComponent <TankHealth>(); navMeshAgent.speed = moveSpeed; }
private string getAmmoDisplay(int Player_i) { TankManager player = m_Tanks[Player_i - 1]; TankShooting playerShootComponent = player.m_Instance.GetComponent <TankShooting>(); StringBuilder Player_Info = new StringBuilder("<color=#" + ColorUtility.ToHtmlStringRGB(player.m_PlayerColor) + ">Ammo: " + playerShootComponent.m_CurrentAmmo + "</color>"); Player_Info.Append("\n"); Player_Info.Append("<color=#" + ColorUtility.ToHtmlStringRGB(player.m_PlayerColor) + ">Special: "); if (playerShootComponent.m_HasThreeBurst) { Player_Info.Append("Three Burst Shot</color>"); } else if (playerShootComponent.m_HasConeShot) { Player_Info.Append("Cone Shot</color>"); } else if (playerShootComponent.m_HasBigBullet) { Player_Info.Append("Big Bullet</color>"); } else if (playerShootComponent.m_HasAlienSwarmBullet) { Player_Info.Append("Alien Swarm Bullet</color>"); } else { Player_Info.Append("None</color>"); } return(Player_Info.ToString()); }
public void Setup() { m_Movement = m_Instance.GetComponent <TankMovement>(); m_Shooting = m_Instance.GetComponent <TankShooting>(); m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject; m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; // if the player pref exists, reassign m_PlayerColor to this if (PlayerPrefs.HasKey("hue" + m_PlayerNumber)) { float customHue = PlayerPrefs.GetFloat("hue" + m_PlayerNumber); m_PlayerColor = Color.HSVToRGB(customHue, 0.8f, 0.8f); } else // m_PlayerColor == the value set in inspector { Debug.LogWarning("TankManager::Setup: could not find 'hue" + m_PlayerNumber + "'"); } m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>(); for (int i = 0; i < renderers.Length; i++) { renderers[i].material.color = m_PlayerColor; } }
public float distanceToFlag; //can change to public getter and setters instead public void Setup(Transform spawnPoint, Transform flag, GenerateMaze generateMaze) { //sets random spawn point for tank this.spawnPoint = m_SpawnPoint.position; m_GenerateMaze = generateMaze; m_Movement = m_Instance.GetComponent <TankMovement>(); m_Movement.m_PlayerNumber = teamNumber; m_Shooting = m_Instance.GetComponent <TankShooting>(); m_Shooting.m_PlayerNumber = teamNumber; //UI Healthbar manager m_Health = m_Instance.GetComponent <TankHealth>(); healthCanvas = GameObject.FindGameObjectWithTag("HealthBar" + teamNumber); m_Health.ui_HealthSlider = healthCanvas.GetComponentInChildren <Slider>(); //Kill count Ui manager killCountCanvas = GameObject.FindGameObjectWithTag("KillCount" + teamNumber); killCount = killCountCanvas.GetComponent <Text>(); killCount.text = "KILL COUNT: " + getKillCount().ToString();//Not updating for some reason // Observation m_tankObservation = m_Instance.GetComponent <TankObservation>(); m_tankObservation.SetFlag(flag); m_Instance.GetComponentsInChildren <ScreenshotHandler>()[0].SetScreenshotName($"Player{teamNumber}"); // Player server m_playerServer = new PlayerServer(); m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject; if (teamNumber == 1) { m_PlayerColor = Color.red; } else if (teamNumber == 2) { m_PlayerColor = Color.blue; } else //this one shouldn't matter so long as I did the mod operation correctly { m_PlayerColor = Color.black; } m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">TEAM " + teamNumber + "</color>"; //html like text to handle the text colour MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>(); //gets all mesh renderers in tank prefab //set all renderers in tank's meshrenderers to the player's colour for (int i = 0; i < renderers.Length; i++) { renderers[i].material.color = m_PlayerColor; } }
// Use this for initialization void Start() { if (isLocalPlayer) //if client { Debug.Log("Finding reference..."); playerSpawnPoint = FindObjectsOfType <NetworkStartPosition>(); // worldCam = GameObject.FindGameObjectWithTag("WorldCam"); screenText = FindObjectOfType <Text>(); scriptMovement = GetComponent <TankMovement>(); scriptShooting = GetComponent <TankShooting>(); if (screenText != null) { screenText.text = ""; } else { Debug.Log("cannot find the screen text"); } enableColor = color; } renderers = GetComponentsInChildren <MeshRenderer>(); // tankHealth = GetComponent<TankHealth>(); ChangeColor(color); //get the player text display with color coloredPlayerNameText = "<color=#" + ColorUtility.ToHtmlStringRGB(color) + ">" + playerName + "</color>"; waitOneSec = new WaitForSeconds(1f); }
private void Awake() { _movement = gameObject.GetComponent <TankMovement>(); _shooting = gameObject.GetComponent <TankShooting>(); instance = gameObject; Setup(); }
public void SelfDestruction() { TakeDamage(100.0f); TankShooting shooting = GetComponent <TankShooting>(); shooting.FireAndExplode(); }
void onPlay(SocketIOEvent socketIOEvent) { string data = socketIOEvent.data.ToString(); UserJSON currentUserData = UserJSON.CreateFromJSON(data); Vector3 position = new Vector3(currentUserData.position [0], currentUserData.position [1], currentUserData.position [2]); Quaternion rotation = Quaternion.Euler(0f, currentUserData.rotation, 0f); Color playerColor; ColorUtility.TryParseHtmlString(currentUserData.playerColor, out playerColor); GameObject p = Instantiate(player, position, rotation) as GameObject; p.name = currentUserData.name; TankShooting shooting = p.GetComponent <TankShooting> (); shooting.isLocalPlayer = true; shooting.playerName = currentUserData.name; TankMovement movement = p.GetComponent <TankMovement> (); movement.isLocalPlayer = true; MeshRenderer[] renderers = p.GetComponentsInChildren <MeshRenderer> (); for (int i = 0; i < renderers.Length; i++) { renderers[i].material.color = playerColor; } }
public void Setup() { // Get references to the components. m_Movement = m_Instance.GetComponent<TankMovement>(); m_Shooting = m_Instance.GetComponent<TankShooting>(); m_Percepts = m_Instance.GetComponent<TankPercepts>(); m_Health = m_Instance.GetComponent<TankHealth>(); m_CanvasGameObject = m_Instance.GetComponentInChildren<Canvas>().gameObject; // Set the player numbers to be consistent across the scripts. m_Movement.m_PlayerNumber = pid; m_Shooting.m_PlayerNumber = pid; // Create a string using the correct color that says 'PLAYER 1' etc based on the tank's color and the player's number. m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + pid + "</color>"; m_Instance.name = "Tank - Player " + pid; // Get all of the renderers of the tank. MeshRenderer[] renderers = m_Instance.GetComponentsInChildren<MeshRenderer>(); // Go through all the renderers... for (int i = 0; i < renderers.Length; i++) { // ... set their material color to the color specific to this tank. renderers[i].material.color = m_PlayerColor; } }
private GameObject m_CanvasGameObject; // Refrence to the UI Cavas gameobject to turn UI on or off. // Setup Method... Called by the game manager to initialize tank stats. public void Setup() { // assign ref. from tank movement script // assign ref. from tank shooting script // assign ref. from patrol movement AI script // assign ref. from rage movement AI script // assign ref from child UI canavas m_Movement = m_Instance.GetComponent <TankMovement>(); m_Shooting = m_Instance.GetComponent <TankShooting>(); m_PatrolMove = m_Instance.GetComponent <PatrolMovement>(); m_RageMove = m_Instance.GetComponent <RageMovement>(); m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject; // setting the player number for moving script // setting the player number for shooting script m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; // player text readout to UI uses tags "<color> </color>". // READS: (Player Color) PLAYER(#) m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; // assign an array of mesh renderers setting to the components in children that are mesh renderers. MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>(); // Takes all these mesh renderers and goes through each and sets this to the players number color. for (int i = 0; i < renderers.Length; i++) { // Set color. renderers[i].material.color = m_PlayerColor; } }
void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Player") { ts = collision.gameObject.GetComponent <TankShooting>(); ts.laserAmmo++; } }
void OnCollisionEnter(Collision target) { if (target.gameObject.tag == "Player") { ts = target.gameObject.GetComponent <TankShooting>(); ts.ammo = 20; } }
private void Awake() { m_MovementScript = GetComponent <TankMovement>(); m_ShootingScript = GetComponent <TankShooting>(); m_HealthScript = GetComponent <TankHealth>(); m_RadarScript = GetComponent <TankRadar>(); m_Agent = GetComponent <NavMeshAgent>(); }
/// <summary> /// Rework this method! /// </summary> private void BonusDamage() { TankShooting ts = _rb.GetComponent <TankShooting>(); ShellExplosion se = ts.m_Shell.GetComponent <ShellExplosion>(); se.m_MaxDamage = _maxDamage; Destroy(gameObject); }
IEnumerator WhenMeetCoin_About_Power() { TankShooting tankShooting = GetComponent <TankShooting>(); tankShooting.m_bEatenPowerCoin += 2; yield return(new WaitForSeconds(4f)); tankShooting.m_bEatenPowerCoin = 0; }
private void OnCollisionEnter(Collision collision) { TankShooting tank = collision.collider.GetComponent <TankShooting>(); if (tank != null) { tank.ActivatePowerUp(); } }
void Start() { m_AimSlider.value = m_MinLaunchForce; loads = false; m_ChargeSpeed = (m_MaxLaunchForce - m_MinLaunchForce) / m_MaxChargeTime; gun = player.GetComponent <TankShooting>(); current = m_MinLaunchForce; m_EndWait = new WaitForSeconds(2f); }
// Start is called before the first frame update void Start() { rigid = GetComponent <Rigidbody>(); FloorTrans = transform.parent.GetChild(0).transform; rayPer = GetComponent <RayPerception>(); detectableObjects = new string[] { "wall", "Agent", "block" }; enemyHealthScript = Target.GetComponent <TankHealth>(); healthScript = GetComponent <TankHealth>(); tankShooting = GetComponent <TankShooting>(); }
private IEnumerator SetMegaShell(GameObject gameObject, float duration) { TankShooting tankShooting = gameObject.GetComponent <TankShooting>(); tankShooting.SetShellRigidBody(MegaShell); yield return(new WaitForSeconds(duration)); tankShooting.EnableDefaultShellRigidBody(); }
private GameObject m_CanvasGameObject; // Used to disable the world space UI during the Starting and Ending phases of each round. public void Setup() { // Get references to the components. m_Movement = m_Instance.GetComponent <TankMovement>(); m_Shooting = m_Instance.GetComponent <TankShooting>(); m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject; // Atribuindo a cor escolhida pelo usuário ao tank // Verifica se o jogador 1 já teve cor atribuida // Se sim, atribui a cor para o 2° player if (1 == m_PlayerNumber) { ColorUtility.TryParseHtmlString("#" + PlayerPrefs.GetString("Player1"), out m_PlayerColor); } else { ColorUtility.TryParseHtmlString("#" + PlayerPrefs.GetString("Player2"), out m_PlayerColor); } // Set the player numbers to be consistent across the scripts. m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; Color botColorref = RandomColorGenerator(); if (m_Instance.layer == LayerMask.NameToLayer("Players")) { // Create a string using the correct color that says 'PLAYER 1' etc based on the tank's color and the player's number. m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGBA(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; } else { // Create a string using the correct color that says 'Bot 1' etc based on the tank's color and the Bot's number. m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGBA(botColorref) + ">Bot " + m_PlayerNumber + "</color>"; } // Get all of the renderers of the tank. MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>(); // Go through all the renderers... for (int i = 0; i < renderers.Length; i++) { // ... set their material color to the color specific to this tank. if (m_Instance.layer == LayerMask.NameToLayer("Players")) { renderers[i].material.color = m_PlayerColor; } else { renderers[i].material.color = botColorref; } } }
public void UpdateTankObject() { for (int i = 0; i < m_Tanks.Length; i++) { TankObject tankObject = m_Tanks [i].m_TankObject; TankShooting tankShooting = m_Tanks[i].m_Instance.GetComponent <TankShooting>(); tankObject.m_BomberAmmo = tankShooting.m_BomberAmmo; tankObject.m_ShellAmmo = tankShooting.m_ShellAmmo; tankObject.m_GuidedShellAmmo = tankShooting.m_GuidedShellAmmo; } }
public void Setup(){ m_Movement = m_Instance.GetComponent<TankMovement>(); m_Shooting = m_Instance.GetComponent<TankShooting>(); m_CanvasGameObject = m_Instance.GetComponentInChildren<Canvas>().gameObject; m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; MeshRenderer[] renderers = m_Instance.GetComponentsInChildren<MeshRenderer>(); for (int i = 0; i < renderers.Length; i++){ renderers[i].material.color = m_PlayerColor; } }
private void RemoveBulletBuffs(ref TankShooting tank) { tank.RemoveAllBulletBuffs(); }
private void ReloadAndUpdateBullets(ref TankShooting shootingComponent, PackageType bulletType, int reload) { if (OverCapacity(shootingComponent.m_CurrentAmmo, reload, shootingComponent.m_AmmoCapacity)) { shootingComponent.m_CurrentAmmo = shootingComponent.m_AmmoCapacity; } else { shootingComponent.m_CurrentAmmo += reload; } if (bulletType != PackageType.Bullet) { RemoveBulletBuffs(ref shootingComponent); } switch (bulletType) { case PackageType.ThreeBurst: shootingComponent.m_HasThreeBurst = true; break; case PackageType.ConeShot: shootingComponent.m_HasConeShot = true; break; case PackageType.BigBullet: shootingComponent.m_HasBigBullet = true; break; case PackageType.AlienSwarmBullet: shootingComponent.m_HasAlienSwarmBullet = true; break; default: break; } }
public void SetShootingScipt(TankShooting m_Shooting) { this.m_Shooting = m_Shooting; }
public TankEffect m_Effect; // Reference to tank's movement script, used to disable and enable control. public void Setup(int type) { // Get references to the components. m_Movement = m_Instance.GetComponent<TankMovement>(); m_Shooting = m_Instance.GetComponent<TankShooting>(); m_Health = m_Instance.GetComponent<TankHealth>(); m_Effect = m_Instance.GetComponent<TankEffect>(); // Set the player numbers to be consistent across the scripts. m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; m_Health.m_PlayerNumber = m_PlayerNumber; m_Effect.m_PlayerNumber = m_PlayerNumber; m_Movement.m_PlayerType = type; m_Shooting.m_PlayerType = type; m_Health.m_PlayerType = type; m_Effect.m_PlayerType = type; if (m_PlayerNumber == 1 || m_PlayerNumber == 2) { m_Shooting.m_CurrentFireDame = 1; m_Shooting.m_CurrentFireSpeed = 25; m_Movement.m_Speed = 12; } else { if (m_Movement.m_PlayerType == 0)//normal { m_Shooting.m_CurrentFireDame = 1; m_Shooting.m_CurrentFireSpeed = 25; m_Movement.m_Speed = 10; } else if (m_Movement.m_PlayerType == 1)//fast { m_Shooting.m_CurrentFireDame = 1; m_Shooting.m_CurrentFireSpeed = 30; m_Movement.m_Speed = 14; } else if (m_Movement.m_PlayerType == 2)//power { m_Shooting.m_CurrentFireDame = 1; m_Shooting.m_CurrentFireSpeed = 35; m_Movement.m_Speed = 12; } else if (m_Movement.m_PlayerType == 3)//armo { m_Shooting.m_CurrentFireDame = 1; m_Shooting.m_CurrentFireSpeed = 30; m_Movement.m_Speed = 8; } } m_Health.m_CurrentLive = 3; // Create a string using the correct color that says 'PLAYER 1' etc based on the tank's color and the player's number. if (m_PlayerNumber != 0) { m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>"; } else { m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(Color.grey) + ">ENEMY</color>"; } // Get all of the renderers of the tank. MeshRenderer[] renderers = m_Instance.GetComponentsInChildren<MeshRenderer>(); // Go through all the renderers... for (int i = 0; i < renderers.Length; i++) { // ... set their material color to the color specific to this tank. if (m_PlayerNumber == 1 || m_PlayerNumber == 2) renderers[i].material.color = m_PlayerColor; else if (m_Shooting.m_PlayerType != 1) renderers[i].material.color = Color.grey; } m_Effect.initEffect(this); if (m_PlayerNumber == 1 || m_PlayerNumber == 2) { m_Shooting.m_Star = GameObject.Instantiate(GameManager.m_Instancce.m_StarFrefab, m_Health.transform.position, Quaternion.identity) as GameObject; m_Shooting.m_Star.transform.position = new Vector3(m_Shooting.m_Star.transform.position.x, 2, m_Shooting.m_Star.transform.position.z); m_Shooting.m_Star.transform.parent = m_Health.transform; if (m_PlayerNumber == 1) m_Shooting.InitNewStar(GameManager.m_TanksStarSave[0]); else m_Shooting.InitNewStar(GameManager.m_TanksStarSave[1]); } //if (!SoundEngine.m_isSoundEnable) // { // m_Movement.m_MovementAudio.enabled = false; // } // else // m_Movement.m_MovementAudio.enabled = true; }