public override void Fire2(int ammoId, int launcher, Vector3 pos, Vector3 rot) { Launcher = (LAUNCHER)launcher; Quaternion quaternion = Quaternion.Euler(0f, 0f, 0f); if (muzzleFxInstance2 == null) { GameObject gameObject = muzzleFxInstance2 = (Object.Instantiate((Object)GetMuzzleFireEffByLauncher()) as GameObject); } muzzleFxInstance2.transform.position = pos; muzzleFxInstance2.transform.localRotation = quaternion; ParticleEmitter particleEmitter = null; int childCount = muzzleFxInstance2.transform.childCount; for (int i = 0; i < childCount; i++) { Transform child = muzzleFxInstance2.transform.GetChild(i); particleEmitter = child.GetComponent <ParticleEmitter>(); if ((bool)particleEmitter) { particleEmitter.Emit(); } } misObj = (Object.Instantiate((Object)GetMissileByLauncher(), pos, quaternion) as GameObject); misSmokeEff = (Object.Instantiate((Object)GetSmokeEffByLauncher()) as GameObject); misSmokeEff.transform.position = pos; misSmokeEff.transform.parent = misObj.transform; dic.Add(0, new ProjectileWrap(misObj)); }
private GameObject GetMuzzleFireEffByLauncher() { LAUNCHER launcher = Launcher; if (launcher == LAUNCHER.GRANADE || launcher == LAUNCHER.ROCKET) { return(GlobalVars.Instance.misslieMuzzleFireEff); } Debug.LogError("(GetMuzzleFireEffByLauncher)no exist launcher: " + Launcher); return(null); }
private GameObject GetExplosionEffByLauncher() { if (Launcher == LAUNCHER.NONE) { return(null); } LAUNCHER lAUNCHER = Launcher; if (lAUNCHER == LAUNCHER.GRANADE || lAUNCHER == LAUNCHER.ROCKET) { return(GlobalVars.Instance.CurMissileExplosionEff()); } Debug.LogError("(GetExplosionEffByLauncher)no exist launcher: " + Launcher); return(null); }