Example #1
0
    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);
            }
        }
    }
Example #2
0
 public JIColliderUnit(PlayerProperty player,
                       JIColliderUnitType unitType = JIColliderUnitType.Player)
 {
     UnitType     = unitType;
     EnemyBullet  = null;
     PlayerBullet = null;
     Enemy        = null;
     Player       = player;
 }
Example #3
0
 public JIColliderUnit(EnemyProperty enemy,
                       JIColliderUnitType unitType = JIColliderUnitType.Enemy)
 {
     UnitType     = unitType;
     EnemyBullet  = null;
     PlayerBullet = null;
     Player       = null;
     Enemy        = enemy;
 }
Example #4
0
 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;
     }
 }
Example #5
0
    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);
        }
    }
Example #6
0
    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();
        }
    }
Example #7
0
    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;
        }
    }
Example #8
0
 /// <summary>
 /// Awake is called when the script instance is being loaded.
 /// </summary>
 protected void Awake()
 {
     _bullet     = GetComponent <JIBulletProperty> ();
     _bulletMove = GetComponent <JIBulletMovement> ();
 }
Example #9
0
 public BulletAttackEvent(JIBulletProperty bullet, Transform colUnit)
 {
     Bullet  = bullet;
     ColUnit = colUnit;
 }
Example #10
0
 public BulletAttackEvent(JIBulletProperty bullet, JIColliderUnit colUnit)
 {
     Bullet       = bullet;
     ColliderUnit = colUnit;
 }
Example #11
0
 private void PlayerBullet_Player(JIBulletProperty playerBullet, PlayerProperty player)
 {
 }
Example #12
0
 private void PlayerBullet_EnemyBullet(JIBulletProperty playerBullet, JIBulletProperty enemyBullet)
 {
 }
Example #13
0
 private void PlayerBullet_PlayerBullet(JIBulletProperty playerBulletA, JIBulletProperty playerBulletB)
 {
 }
Example #14
0
 private void EnemyBullet_Enemy(JIBulletProperty enemyBullet, EnemyProperty enemy)
 {
 }
Example #15
0
 private void EnemyBullet_EnemyBullet(JIBulletProperty enemyBulletA, JIBulletProperty enmeyBulletB)
 {
 }