Exemple #1
0
 public void SpawnProjectiles(SpawnProjectiles spawnData)
 {
     if (SpawnProjectilesRoutine == null)
     {
         SpawnProjectilesRoutine = StartCoroutine(_SpawnProjectiles(spawnData));
     }
 }
Exemple #2
0
 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));
     }
 }
Exemple #3
0
 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();
     }
 }
Exemple #4
0
    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;
 }
Exemple #7
0
 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));
            }
        }
Exemple #9
0
 public void Init()
 {
     spawnProjectiles = GameObject.FindGameObjectWithTag("Gun").GetComponent <SpawnProjectiles>();
 }
Exemple #10
0
 public void onReady()
 {
     SpawnProjectiles.tool  = this;
     SpawnProjectiles.model = GameObject.Find(Application.loadedLevelName).transform.FindChild("projectiles").gameObject;
 }