예제 #1
0
    public void OnTriggerEnter2D(Collider2D col)
    {
        StaticEnemy enemy1 = col.GetComponent <StaticEnemy>();
        movingEnemy enemy2 = col.GetComponent <movingEnemy>();

        if (enemy1 != null)
        {
            enemy1.TakeDamage(damage);
            ef = Instantiate(impactEffect, transform.position, transform.rotation);
            Destroy(this.gameObject);
            Destroy(ef, 0.35f);
        }
        if (enemy2 != null)
        {
            enemy2.TakeDamage(damage);
            ef = Instantiate(impactEffect, transform.position, transform.rotation);
            Destroy(this.gameObject);
            Destroy(ef, 0.3f);
        }
    }
예제 #2
0
 public StaticEnemyDead(StaticEnemy e)
 {
     enemy = e;
 }
예제 #3
0
 public StaticEnemyIdle(StaticEnemy e)
 {
     enemy = e;
 }
예제 #4
0
 public StaticEnemyDamaged(StaticEnemy e)
 {
     enemy = e;
 }
예제 #5
0
    //------------------------------------------------------------------------------------
    //                                      HandleMap
    //------------------------------------------------------------------------------------
    private void HandleMap(int tile, int mapHeight)
    {
        if (tile - 1 < 40)
        {
            Land land = new Land(tile - 1, game.height / mapHeight, game.height / mapHeight);
            land.x = posX * _tileNewSize;
            land.y = posY * _tileNewSize;
            AddChild(land);
        }
        switch (tile - 1)
        {
        case 40:
            _player = new Player(this, game.height / mapHeight, game.height / mapHeight, _level, _timer, posX * _tileNewSize, posY * _tileNewSize);
            AddChild(_player);
            _objectList.Add(_player);
            _playerAnimation   = new PlayerAnimation(_player, game.height / mapHeight * 2, game.height / mapHeight * 2);
            _playerAnimation.x = posX * _tileNewSize;
            _playerAnimation.y = posY * _tileNewSize;
            break;

        case 41:
            Box box = new Box(this, game.height / mapHeight * 2, game.height / mapHeight * 2);
            box.x = posX * _tileNewSize;
            box.y = posY * _tileNewSize;
            AddChild(box);
            _objectList.Add(box);
            break;

        case 44:
            Door doorYellow = new Door(tile - 1, game.height / mapHeight, game.height / mapHeight);
            doorYellow.x = posX * _tileNewSize;
            doorYellow.y = posY * _tileNewSize;
            AddChild(doorYellow);
            _doorsYellow.Add(doorYellow);
            break;

        case 46:
            Door doorBlue = new Door(tile - 1, game.height / mapHeight, game.height / mapHeight);
            doorBlue.x = posX * _tileNewSize;
            doorBlue.y = posY * _tileNewSize;
            AddChild(doorBlue);
            _doorsBlue.Add(doorBlue);
            break;

        case 48:
            Spikes syringe = new Spikes(game.height / mapHeight, game.height / mapHeight * 2, "SyringeC.png");
            syringe.x = posX * _tileNewSize;
            syringe.y = posY * _tileNewSize;
            AddChild(syringe);
            break;

        case 49:
            _end   = new EndPoint(tile - 1, game.height / mapHeight, game.height / mapHeight * 2);
            _end.x = posX * _tileNewSize;
            _end.y = posY * _tileNewSize;
            AddChild(_end);
            break;

        case 50:
            Spikes spikesUp = new Spikes(game.height / mapHeight, game.height / mapHeight, "Small_SyringeC_Top.png");
            spikesUp.x = posX * _tileNewSize;
            spikesUp.y = posY * _tileNewSize;
            AddChild(spikesUp);
            break;

        case 51:
            Spikes spikesLeft = new Spikes(game.height / mapHeight, game.height / mapHeight, "Small_SyringeC_Right.png");
            spikesLeft.x = posX * _tileNewSize;
            spikesLeft.y = posY * _tileNewSize;
            AddChild(spikesLeft);
            break;

        case 52:
            Spikes spikesDown = new Spikes(game.height / mapHeight, game.height / mapHeight, "Small_SyringeC_Bottom.png");
            spikesDown.x = posX * _tileNewSize;
            spikesDown.y = posY * _tileNewSize;
            AddChild(spikesDown);
            break;

        case 53:
            Spikes spikesRight = new Spikes(game.height / mapHeight, game.height / mapHeight, "Small_SyringeC_Left.png");
            spikesRight.x = posX * _tileNewSize;
            spikesRight.y = posY * _tileNewSize;
            AddChild(spikesRight);
            break;

        case 54:
            _buttonYellow   = new Button(tile - 1, game.height / mapHeight, game.height / mapHeight);
            _buttonYellow.x = posX * _tileNewSize;
            _buttonYellow.y = posY * _tileNewSize;
            AddChild(_buttonYellow);
            break;

        case 56:
            _buttonBlue   = new Button(tile - 1, game.height / mapHeight, game.height / mapHeight);
            _buttonBlue.x = posX * _tileNewSize;
            _buttonBlue.y = posY * _tileNewSize;
            AddChild(_buttonBlue);
            break;

        case 58:
            _pill   = new Pills(tile - 1, game.height / mapHeight, game.height / mapHeight);
            _pill.x = posX * _tileNewSize;
            _pill.y = posY * _tileNewSize;                           // New Code
            AddChild(_pill);
            break;

        case 59:
            StaticEnemy virus = new StaticEnemy(game.height / mapHeight, game.height / mapHeight);
            virus.x = posX * _tileNewSize;
            virus.y = posY * _tileNewSize;
            AddChild(virus);
            break;

        case 60:
            EnemyGravity enemyGravity = new EnemyGravity(this, game.height / mapHeight, game.height / mapHeight);
            enemyGravity.x = posX * _tileNewSize;
            enemyGravity.y = posY * _tileNewSize;
            AddChild(enemyGravity);
            _objectList.Add(enemyGravity);

            EnemyAnimation enemyAnimation = new EnemyAnimation(enemyGravity, game.height / mapHeight, game.height / mapHeight);
            enemyAnimation.SetOrigin(game.height / mapHeight / 2, game.height / mapHeight / 2);
            enemyAnimation.x = posX * _tileNewSize;
            enemyAnimation.y = posY * _tileNewSize;
            AddChild(enemyAnimation);
            break;

        case 61:
            EnemyThatMoves virusHorizontal = new EnemyThatMoves(0, game.height / mapHeight, game.height / mapHeight);
            virusHorizontal.x = posX * _tileNewSize;
            virusHorizontal.y = posY * _tileNewSize;
            AddChild(virusHorizontal);
            _objectList.Add(virusHorizontal);
            break;

        case 62:
            EnemyThatMoves virusVertical = new EnemyThatMoves(1, game.height / mapHeight, game.height / mapHeight);
            virusVertical.x = posX * _tileNewSize;
            virusVertical.y = posY * _tileNewSize;
            AddChild(virusVertical);
            _objectList.Add(virusVertical);
            break;

        case 63:
            Waypoint waypointUp = new Waypoint(90, game.height / mapHeight, game.height / mapHeight, posX * _tileNewSize, posY * _tileNewSize);
            AddChild(waypointUp);
            break;
        }
    }