Add launcheffects for RocketLauncher and GrenadeLauncher
This commit is contained in:
parent
81b8f13723
commit
0ec0584c01
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -23380,12 +23380,12 @@ PrefabInstance:
|
|||||||
- target: {fileID: 592487110401094196, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
- target: {fileID: 592487110401094196, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 1.54
|
value: -19.59
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 592487110401094196, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
- target: {fileID: 592487110401094196, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 0.35
|
value: 1.55
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 592487110401094196, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
- target: {fileID: 592487110401094196, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
||||||
type: 3}
|
type: 3}
|
||||||
@ -23435,12 +23435,12 @@ PrefabInstance:
|
|||||||
- target: {fileID: 1801310824674407730, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
- target: {fileID: 1801310824674407730, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: -21.04
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1801310824674407730, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
- target: {fileID: 1801310824674407730, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 2.02
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 592487111066334294, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
- target: {fileID: 592487111066334294, guid: 72a58ef1f50bfb946ae1af6e6b9fa1c5,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
@ -7,15 +7,23 @@ using Saltosion.OneWeapon.Effects;
|
|||||||
namespace Saltosion.OneWeapon.Guns {
|
namespace Saltosion.OneWeapon.Guns {
|
||||||
public class Gun : MonoBehaviour {
|
public class Gun : MonoBehaviour {
|
||||||
|
|
||||||
|
[Header("Essentials")]
|
||||||
public Bullet Bullet;
|
public Bullet Bullet;
|
||||||
public SpriteRenderer Sprite;
|
public SpriteRenderer Sprite;
|
||||||
public Transform BulletHole;
|
|
||||||
public float MaxCooldown = 0.5f;
|
public float MaxCooldown = 0.5f;
|
||||||
public float MinCooldown = 0.2f;
|
public float MinCooldown = 0.2f;
|
||||||
|
|
||||||
|
[Header("Effects")]
|
||||||
|
public Transform BulletHole;
|
||||||
public Bobbing Bobbing;
|
public Bobbing Bobbing;
|
||||||
|
public ParticleSystem LaunchExplosion;
|
||||||
|
public CustomLight LaunchLight;
|
||||||
|
public float LaunchLightIntensity = 2;
|
||||||
|
public float LaunchLightIntensityDegrade = 2;
|
||||||
|
|
||||||
private bool IsHeld = false;
|
private bool IsHeld = false;
|
||||||
private float CurrCooldown = 0;
|
private float CurrCooldown = 0;
|
||||||
|
private float CurrLaunchLight = 0;
|
||||||
|
|
||||||
private Bullet CurrentBullet;
|
private Bullet CurrentBullet;
|
||||||
private bool HasShotBullet = false;
|
private bool HasShotBullet = false;
|
||||||
@ -24,6 +32,9 @@ namespace Saltosion.OneWeapon.Guns {
|
|||||||
|
|
||||||
void Start() {
|
void Start() {
|
||||||
BulletHoleOriginalY = BulletHole.localPosition.y;
|
BulletHoleOriginalY = BulletHole.localPosition.y;
|
||||||
|
if (LaunchExplosion != null) {
|
||||||
|
LaunchExplosion.Stop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update() {
|
void Update() {
|
||||||
@ -36,6 +47,11 @@ namespace Saltosion.OneWeapon.Guns {
|
|||||||
CurrentBullet = null;
|
CurrentBullet = null;
|
||||||
HasShotBullet = false;
|
HasShotBullet = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (CurrLaunchLight > 0) {
|
||||||
|
CurrLaunchLight -= Time.deltaTime * LaunchLightIntensityDegrade;
|
||||||
|
LaunchLight.LightIntensity = CurrLaunchLight;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnCollisionEnter2D(Collision2D collision) {
|
void OnCollisionEnter2D(Collision2D collision) {
|
||||||
@ -58,6 +74,14 @@ namespace Saltosion.OneWeapon.Guns {
|
|||||||
} else {
|
} else {
|
||||||
if (CurrCooldown <= 0) {
|
if (CurrCooldown <= 0) {
|
||||||
CurrCooldown = MaxCooldown;
|
CurrCooldown = MaxCooldown;
|
||||||
|
if (LaunchExplosion != null) {
|
||||||
|
LaunchExplosion.Play();
|
||||||
|
}
|
||||||
|
if (LaunchLight != null) {
|
||||||
|
CurrLaunchLight = LaunchLightIntensity;
|
||||||
|
LaunchLight.LightIntensity = CurrLaunchLight;
|
||||||
|
}
|
||||||
|
|
||||||
Bullet ShotBullet = Instantiate(Bullet, BulletHole.position, new Quaternion());
|
Bullet ShotBullet = Instantiate(Bullet, BulletHole.position, new Quaternion());
|
||||||
ShotBullet.Direction = direction.normalized;
|
ShotBullet.Direction = direction.normalized;
|
||||||
ShotBullet.InitialRotation = rotation;
|
ShotBullet.InitialRotation = rotation;
|
||||||
|
@ -19,13 +19,22 @@ namespace Saltosion.OneWeapon.Utils {
|
|||||||
float[] SizeList = new float[500];
|
float[] SizeList = new float[500];
|
||||||
Color[] ColorList = new Color[500];
|
Color[] ColorList = new Color[500];
|
||||||
|
|
||||||
|
List<int> ToRemove = new List<int>();
|
||||||
for (int i = 0; i < Lights.Count; i++) {
|
for (int i = 0; i < Lights.Count; i++) {
|
||||||
|
if (Lights[i] == null) {
|
||||||
|
ToRemove.Add(i);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
PosList[i] = Lights[i].transform.position;
|
PosList[i] = Lights[i].transform.position;
|
||||||
IntensityList[i] = Lights[i].LightIntensity;
|
IntensityList[i] = Lights[i].LightIntensity;
|
||||||
SizeList[i] = Lights[i].LightSize;
|
SizeList[i] = Lights[i].LightSize;
|
||||||
ColorList[i] = Lights[i].LightTint;
|
ColorList[i] = Lights[i].LightTint;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (int i in ToRemove) {
|
||||||
|
Lights.RemoveAt(i);
|
||||||
|
}
|
||||||
|
|
||||||
Material.SetInt("_LightCount", Lights.Count);
|
Material.SetInt("_LightCount", Lights.Count);
|
||||||
Material.SetVectorArray("_LightLocations", PosList);
|
Material.SetVectorArray("_LightLocations", PosList);
|
||||||
Material.SetFloatArray("_LightIntensities", IntensityList);
|
Material.SetFloatArray("_LightIntensities", IntensityList);
|
||||||
|
Loading…
Reference in New Issue
Block a user