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 } } }
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; }
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; }
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); }
public void StartShoot() { _enumTurretAim = Enum_TurretAim.None; }