コード例 #1
0
    public void UpdateShoot()
    {
        if (_enumCurrentStateTurret == Enum_StateTurret.TurretDestroy)
        {
            Debug.Log(this.gameObject.name + " is Destroy");
            return;
        }

        if (_enumCurrentTurretType == Enum_TurretType.None)
        {
            return;
        }

        if (_enumCurrentStateTurret == Enum_StateTurret.TurretNone)
        {
            return;
        }

        if (!isAllowedToShoot())
        {
            //Debug.Log ("IS NOT ALLOWED TO SHOOT");
            return;
        }


        //Debug.Log ("Turret Update Shoot");
        GameObject ship = getTarget();



        if (ship == null)
        {
            //Debug.Log ("All Ligne null");
            _enumTurretAim = Enum_TurretAim.NoEnnemiFound;
        }
        else
        {
            float distance = Vector3.Distance(this.transform.position, ship.transform.position);
            if (distance >= ConstantesManager.DISTANCE_OF_VUE_SHOOT)
            {
                _enumTurretAim = Enum_TurretAim.TooFar;

                //Debug.Log ("Cible Too Far " + distance);
            }
            else
            {
                ShootAt(ship);                 //Tire si ship != null et distance suffisante
            }
        }
    }
コード例 #2
0
    public void Initialize()
    {
        _enumCurrentStateTurret = Enum_StateTurret.TurretLevel1;
        _enumCurrentTurretType  = Enum_TurretType.Standard;
        _enumOldStateTurret     = _enumCurrentStateTurret;
        _pv            = ConstantesManager.STANDARD_LVL1_PV_MAX;
        _pvMax         = ConstantesManager.STANDARD_LVL1_PV_MAX;
        _enumTurretAim = Enum_TurretAim.None;

        _bulletSpeed = ConstantesManager.BULLET_TURRET_SPEED;
        _pv          = ConstantesManager.STANDARD_LVL1_PV_MAX;
        _rateOfFire  = ConstantesManager.EMP_LVL1_RATE_OF_FIRE + RandOn10Percent(ConstantesManager.STANDARD_LVL1_RATE_OF_FIRE / 10);      //shooting/sec
        _shootDamage = ConstantesManager.STANDARD_LVL1_PV_MAX;
    }
コード例 #3
0
 void Start()
 {
     _enumCurrentStateTurret = Enum_StateTurret.TurretLevel1;
     _enumCurrentTurretType  = Enum_TurretType.None;
     _enumOldStateTurret     = _enumCurrentStateTurret;
     _pv            = ConstantesManager.STANDARD_LVL1_PV_MAX;
     _pvMax         = ConstantesManager.STANDARD_LVL1_PV_MAX;
     _enumTurretAim = Enum_TurretAim.None;
     _ennemiManager = (GameObject.FindGameObjectWithTag(_tagEnnemiManager)).GetComponent <EnnemiManager>();
     //Debug.Log ("PLOP " + _ennemiManager);
     _bulletSpeed = ConstantesManager.BULLET_TURRET_SPEED;
     _pv          = ConstantesManager.STANDARD_LVL1_PV_MAX;
     _rateOfFire  = ConstantesManager.EMP_LVL1_RATE_OF_FIRE + RandOn10Percent(ConstantesManager.STANDARD_LVL1_RATE_OF_FIRE / 10);      //shooting/sec
     _shootDamage = ConstantesManager.STANDARD_LVL1_PV_MAX;
 }
コード例 #4
0
    public GameObject getTarget()
    {
        GameObject ship = getFirstChoice();

        //Debug.Log ("SHIP " + ship);
        _enumTurretAim = Enum_TurretAim.FirstChoice;
        if (ship == null)
        {
            //Debug.Log ("getCloserShipLigne1 is null");
            ship           = getSecondChoice();
            _enumTurretAim = Enum_TurretAim.SecondChoice;
            if (ship == null)
            {
                //Debug.Log ("getCloserShipLigne2 is null");
                ship           = getThirdChoice();
                _enumTurretAim = Enum_TurretAim.ThirdChoice;
            }
        }
        return(ship);
    }
コード例 #5
0
 public void StartShoot()
 {
     _enumTurretAim = Enum_TurretAim.None;
 }