Exemplo n.º 1
0
        //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));
            }
        }
Exemplo n.º 2
0
    public void Init(TankManager manager, TankDisplay display)
    {
        m_Manager     = manager;
        m_TankDisplay = display;
        m_Collider    = m_TankDisplay.GetComponent <BoxCollider>();

        SetDefaults();
    }
Exemplo n.º 3
0
    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();
    }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
        //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();
        }
Exemplo n.º 6
0
    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);
    }
Exemplo n.º 7
0
        //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();
        }