private void PlayerBullet_Enemy(JIBulletProperty playerBullet, EnemyProperty enemy) { if (playerBullet.Type == JIBulletType.Laser) { var laser = playerBullet.GetComponent <Laser> (); if (laser.DamageTimer < laser.Interval) { return; } laser.DamageTimer = 0f; AttackEnemy(laser.Damage, enemy); } else if (playerBullet.Type == JIBulletType.Normal) { AttackEnemy(playerBullet.Damage, enemy); BulletPool.Instance.ReleaseGameObject(playerBullet.gameObject); } else if (playerBullet.Type == JIBulletType.Bomb) { if (!enemy.m_elite) { AttackEnemy(enemy.m_health, enemy); } } }
public JIColliderUnit(PlayerProperty player, JIColliderUnitType unitType = JIColliderUnitType.Player) { UnitType = unitType; EnemyBullet = null; PlayerBullet = null; Enemy = null; Player = player; }
public JIColliderUnit(EnemyProperty enemy, JIColliderUnitType unitType = JIColliderUnitType.Enemy) { UnitType = unitType; EnemyBullet = null; PlayerBullet = null; Player = null; Enemy = enemy; }
public JIColliderUnit(JIBulletProperty bullet, JIColliderUnitType unitType) { UnitType = unitType; Player = null; Enemy = null; if (unitType == JIColliderUnitType.EnemyBullet) { PlayerBullet = null; EnemyBullet = bullet; } else { EnemyBullet = null; PlayerBullet = bullet; } }
private void EnemyBullet_Player(JIBulletProperty enemyBullet, PlayerProperty player) { if (!player.m_god) { player.GetComponentInChildren <PlayerTakeDamage> ().PlayerDeath(); } if (enemyBullet.Type == JIBulletType.Normal) { BulletPool.Instance.ReleaseGameObject(enemyBullet.gameObject); } else { Destroy(enemyBullet.gameObject); } }
private void DamagePlayerByState(string bulletName, JIBulletProperty enemyBullet) { if (enemyBullet == null) { return; } bulletName = bulletName.ToLower(); JIState bulletType; if (bulletName.Contains("black")) { bulletType = JIState.Black; } else if (bulletName.Contains("white")) { bulletType = JIState.White; } else { bulletType = JIState.All; } BulletPool.Instance.ReleaseGameObject(enemyBullet.gameObject); if (bulletType == m_playerProperty.m_playerState) { m_playerProperty.m_playerHealth--; if (m_playerProperty.m_playerHealth <= 0) { PlayerDeath(); } else { EventManager.Instance.Raise(new PlayerHurtedEvent( m_playerProperty.m_playerLife, m_playerProperty.m_playerHealth)); } } else { PlayerDeath(); } }
private void RaiseCollisionEvent(Collider2D other) { EnemyProperty enemy = other.transform.GetComponent <EnemyProperty> (); if (enemy != null) { EventManager.Instance.Raise(new BulletAttackEvent( _bullet, new JIColliderUnit(enemy))); return; } PlayerProperty player = other.transform.parent?.GetComponent <PlayerProperty> (); if (player != null) { EventManager.Instance.Raise(new BulletAttackEvent( _bullet, new JIColliderUnit(player))); return; } JIBulletProperty bullet = other.transform.parent?.GetComponent <JIBulletProperty> (); if (bullet != null) { if (bullet.IsPlayerBullet) { EventManager.Instance.Raise(new BulletAttackEvent( _bullet, new JIColliderUnit(bullet, JIColliderUnitType.PlayerBullet))); } else { EventManager.Instance.Raise(new BulletAttackEvent( _bullet, new JIColliderUnit(bullet, JIColliderUnitType.EnemyBullet))); } return; } }
/// <summary> /// Awake is called when the script instance is being loaded. /// </summary> protected void Awake() { _bullet = GetComponent <JIBulletProperty> (); _bulletMove = GetComponent <JIBulletMovement> (); }
public BulletAttackEvent(JIBulletProperty bullet, Transform colUnit) { Bullet = bullet; ColUnit = colUnit; }
public BulletAttackEvent(JIBulletProperty bullet, JIColliderUnit colUnit) { Bullet = bullet; ColliderUnit = colUnit; }
private void PlayerBullet_Player(JIBulletProperty playerBullet, PlayerProperty player) { }
private void PlayerBullet_EnemyBullet(JIBulletProperty playerBullet, JIBulletProperty enemyBullet) { }
private void PlayerBullet_PlayerBullet(JIBulletProperty playerBulletA, JIBulletProperty playerBulletB) { }
private void EnemyBullet_Enemy(JIBulletProperty enemyBullet, EnemyProperty enemy) { }
private void EnemyBullet_EnemyBullet(JIBulletProperty enemyBulletA, JIBulletProperty enmeyBulletB) { }