public void SpawnProjectiles(SpawnProjectiles spawnData) { if (SpawnProjectilesRoutine == null) { SpawnProjectilesRoutine = StartCoroutine(_SpawnProjectiles(spawnData)); } }
public override void ModifyShootStats(Item item, Player player, ref Vector2 position, ref Vector2 velocity, ref int type, ref int damage, ref float knockback) { if (AccessoryProperties.RangedDupe && item.DamageType == DamageClass.Ranged && CreateProjectiles.SpawnProjectile(item.useTime)) { SpawnProjectiles.CreateDuplicate(type, position, velocity.X, velocity.Y, damage, knockback, 1, player.GetSource_ItemUse(item)); } }
public override void tick() { if (Time.realtimeSinceStartup - this.startedUse > Viewmodel.model.animation["use"].length && !this.done) { this.done = true; SpawnProjectiles.throwProjectile(Equipment.id, Camera.main.transform.position + (Camera.main.transform.forward * -0.5f), Camera.main.transform.forward * 1500f); Equipment.use(); } }
IEnumerator _SpawnProjectiles(SpawnProjectiles spawnData) { for (int i = 0; i < spawnData.Amount; i++) { GameObject obj = PoolManager.Instance.GetObject(spawnData.ObjectType); GameObject pos = control.GetChildObj(spawnData.SpawnPosition); obj.transform.position = pos.transform.position; Projectile pro = obj.GetComponent <Projectile>(); pro.control = control; pro.InitProjectile(); yield return(new WaitForSeconds(spawnData.Interval)); } }
public PlayerFacade( User model, PlayerView view, MoveProjectiles pMover, SpawnProjectiles pSpawner) { _view = view; _model = model; _view.Facade = this; _settings = Services.Get <GameSettings>(); _health = new PlayerHealth(model, _view.Animator, _view.gameObject, null); _movement = new PlayerMovement(model, _view.transform, _view.Animator, _view.Rigidbody, _view.Controller); _shooting = new PlayerShooting(model, _view.Animator, _view.FirePoint, _view.GunFireSource, _view.MuzzleParticle, pMover, pSpawner); _kick = new PlayerKick(model, _view.transform, _view.KickCollider, _view.Animator, _view.Rigidbody, _movement); _dash = new PlayerDash(_model, _view.transform, _view.Animator, _movement); }
private void Awake() { _settings = Services.Get <GameSettings>(); _moveProjectiles = GetComponent <MoveProjectiles>(); _spawnProjectiles = GetComponent <SpawnProjectiles>(); _activePlayers = new Dictionary <int, PlayerFacade>(); CombatRoomData.Instance.Users.ForEach(CreatePlayer); CombatRoomData.Instance.OnNewUserJoined += CreatePlayer; GameEvents.onCharacterMoved += GameEvents_onCharacterMoved; GameEvents.onCharacterRotated += GameEvents_onCharacterRotated; GameEvents.onCharacterFiredGun += GameEvents_onCharacterFireGun; GameEvents.onCharacterTakenDamage += GameEvents_onCharacterTakenDamage; GameEvents.onCharacterRespawned += GameEvents_onCharacterRespawned; GameEvents.onCharacterPushed += GameEvents_onCharacterPushed; GameEvents.onCharacterKick += GameEvents_onCharacterKick; GameEvents.onCharacterDash += GameEvents_onCharacterDash; }
public PlayerShooting( User user, Animator animator, Transform firePoint, AudioSource gunFireSource, ParticleSystem muzzleParticle, MoveProjectiles projectileMover, SpawnProjectiles projectileSpawner) { _user = user; _animator = animator; _firePoint = firePoint; _gunFireSource = gunFireSource; _muzzleParticle = muzzleParticle; _projectileMover = projectileMover; _projectileSpawner = projectileSpawner; }
public override void ModifyHitNPC(Item item, Player player, NPC target, ref int damage, ref float knockBack, ref bool crit) { if (AccessoryProperties.SpawmBees && CreateProjectiles.SpawnProjectile(Main.LocalPlayer.HeldItem.useTime)) { if (AccessoryProperties.StrongBees && BuffedAccessories.Ran.Next(100) < 50) { SpawnProjectiles.CreateBees(target, damage, true, player.GetSource_ItemUse(item)); } else { SpawnProjectiles.CreateBees(target, damage, false, player.GetSource_ItemUse(item)); } } if (AccessoryProperties.SpawnStars && CreateProjectiles.SpawnProjectile(Main.LocalPlayer.HeldItem.useTime)) { SpawnProjectiles.CreateStars(target, damage, player.GetSource_ItemUse(item)); } }
public void Init() { spawnProjectiles = GameObject.FindGameObjectWithTag("Gun").GetComponent <SpawnProjectiles>(); }
public void onReady() { SpawnProjectiles.tool = this; SpawnProjectiles.model = GameObject.Find(Application.loadedLevelName).transform.FindChild("projectiles").gameObject; }