//Handles changing the current tank public void ChangeTankModel(GameObject newModel) { if (transform.childCount > 0) { Transform tankChild = transform.GetChild(0); if (tankChild != null) { Destroy(tankChild.gameObject); } } GameObject newTankMesh = (GameObject)Instantiate(newModel, transform.position, transform.rotation); newTankMesh.transform.localScale = transform.localScale; newTankMesh.transform.SetParent(transform, true); m_CurrentTankDisplay = newTankMesh.GetComponent <TankDisplay>(); m_CurrentTankDisplay.HideShadow(); PlayerDataManager dataManager = PlayerDataManager.s_Instance; if (dataManager != null) { int decorationIndex = dataManager.selectedDecoration; LoadDecorationForIndex(decorationIndex, dataManager.GetSelectedMaterialForDecoration(decorationIndex)); } }
public void Init(TankManager manager, TankDisplay display) { m_Manager = manager; m_TankDisplay = display; m_Collider = m_TankDisplay.GetComponent <BoxCollider>(); SetDefaults(); }
public void Init(TankDisplay display) { enabled = false; canShoot = false; m_Initialized = true; m_FireTransform = display.GetFireTransform(); m_TurretTransform = display.GetTurretTransform(); m_AimSliderParent.SetParent(m_TurretTransform, false); m_DefaultTurretPos = m_TurretTransform.localPosition; SetDefaults(); }
/// <summary> /// Handles triggering by checking that the zone object is a player and does the collection logic /// </summary> /// <param name="zoneObject">Zone object.</param> protected override void HandleTrigger(GameObject zoneObject) { TankDisplay playerTank = zoneObject.GetComponent <TankDisplay>(); if (playerTank == null) { return; } if (collectionEffect != null) { Instantiate(collectionEffect, transform.position + Vector3.up, Quaternion.LookRotation(Vector3.up)); } Destroy(gameObject); }
//Used for collecting an item public override void EntersZone(GameObject zoneObject, TargetZone zone) { Collectible collectible = zone as Collectible; if (collectible != null) { return; } TankDisplay tank = zoneObject.GetComponent <TankDisplay>(); if (tank == null) { return; } Achieved(); }
public void Init(bool isServer, Material material) { _isServer = isServer; var tankDisplay = Instantiate(_tankPrefab, transform.position, transform.rotation); tankDisplay.transform.SetParent(transform, true); _display = tankDisplay.GetComponent <TankDisplay>(); _movement = GetComponent <TankMovement>(); _shooting = GetComponent <TankShooting>(); Health = GetComponent <TankHealth>(); _movement.Init(isServer); _shooting.Init(_display); Health.Init(this, _display); _display.Init(_movement, material); }
//Handles changing the current tank public void ChangeTankModel(GameObject newModel) { if (transform.childCount > 0) { Transform tankChild = transform.GetChild(0); if (tankChild != null) { Destroy(tankChild.gameObject); } } GameObject newTankMesh = (GameObject)Instantiate(newModel, transform.position, transform.rotation); newTankMesh.transform.localScale = transform.localScale; newTankMesh.transform.SetParent(transform, true); m_CurrentTankDisplay = newTankMesh.GetComponent <TankDisplay>(); m_CurrentTankDisplay.HideShadow(); }