public void FAttemptFire(PC_Cont rPC, Vector3 vShotPoint) { if (mState == STATE.COOLING_DOWN) { return; } if (Time.time - mData.mGunD.mLastFireTmStmp > mData.mGunD._fireInterval) { mData.mGunD.mLastFireTmStmp = Time.time; PJ_EN_Plasmoid rPlasmoid = Instantiate(PF_Plasmoid, vShotPoint, transform.rotation); Vector3 vDir = rPC.transform.position - vShotPoint; vDir = Vector3.Normalize(vDir); rPlasmoid.cRigid.velocity = vDir * rPlasmoid.mProjD._spd; mData.mPlasmaD.mHeat += mData.mPlasmaD._heatPerShot; } }
void RUN_FiringState() { if (Time.time - mGunD.mLastFireTmStmp > mGunD._fireInterval) { mGunD.mLastFireTmStmp = Time.time; PJ_EN_Plasmoid rPlasmoid = Instantiate(PF_Plasmoid, transform.position, transform.rotation); rPlasmoid.GetComponent <PJ_Base>().FShootAt(rPC.transform.position, transform.position, gameObject); mPlasmaD.mHeat += mPlasmaD._heatPerShot; } if (mPlasmaD.mHeat >= 100f) { mState = STATE.COOLING_DOWN; mPlasmaD.mOverheatTmStmp = Time.time; Debug.Log("Weapon Overheated, cooling down"); } }