Beispiel #1
0
 public AIVisuals()
 {
     if (aiVisualsRef == null)
     {
         aiVisualsRef = this;
     }
 }
Beispiel #2
0
    public void CheckBounderies()
    {
        if (!MovingTowardsBounds())
        {
            if (aiBase.transform.position.x < playArea.min.x ||
                aiBase.transform.position.x > playArea.max.x)
            {
                aiBase.aiMovement.InvertXDirection();

                AIVisuals.FlipSpriteOnX(aiBase.mySpriteRenderer,
                                        aiBase.waterParticles.GetComponent <SpriteRenderer>(),
                                        aiBase.aiMovement.direction.x, aiBase.myType);

                return;
            }

            if (aiBase.transform.position.y < playArea.min.y ||
                aiBase.transform.position.y > playArea.max.y - 5)
            {
                aiBase.aiMovement.InvertYDirection();

                return;
            }
        }

        if (aiBase.transform.position.y > playArea.max.y - 10 && aiBase.body.velocity.y > 0)
        {
            aiBase.aiMovement.InvertYDirection();
        }
    }
Beispiel #3
0
    protected void SetUp()
    {
        GetReferences();

        aiMovement    = new AIMovement(this);
        aiCheckStatus = new AICheckStatus(this);

        if (myType != EnemyType.Floater && myType != EnemyType.Surfer)
        {
            AIVisuals.FlipSpriteOnX(mySpriteRenderer,
                                    waterParticles.GetComponent <SpriteRenderer>(),
                                    aiMovement.direction.x, myType);
        }
    }
Beispiel #4
0
    void Awake()
    {
        if (gameManagerRef == null)
        {
            gameManagerRef = this;
        }
        else
        {
            Destroy(this);
        }

        aiVisuals    = new AIVisuals();
        aiSpawnerRef = new AISpawner();
    }
Beispiel #5
0
    void OnCollisionEnter2D(Collision2D collision)
    {
        if (aiCheckStatus.DidNotHitEnemy(collision))
        {
            if (aiCheckStatus.IsThistoTheRightOfMe(collision) || aiCheckStatus.IsThisToTheLeftOfMe(collision))
            {
                aiMovement.InvertXDirection();

                if (myType != EnemyType.Floater && myType != EnemyType.Surfer)
                {
                    AIVisuals.FlipSpriteOnX(mySpriteRenderer,
                                            waterParticles.GetComponent <SpriteRenderer>(),
                                            aiMovement.direction.x, myType);
                }
            }

            if (aiCheckStatus.IsThisAboveMe(collision) || aiCheckStatus.IsThisBeneathMe(collision))
            {
                aiMovement.InvertYDirection();
            }
        }
        else if (aiCheckStatus.HitEnemy(collision) && aiCheckStatus.IsWhatIHitBigger(collision))
        {
            if (aiCheckStatus.IsThistoTheRightOfMe(collision) || aiCheckStatus.IsThisToTheLeftOfMe(collision))
            {
                aiMovement.InvertXDirection();

                if (myType != EnemyType.Floater && myType != EnemyType.Surfer)
                {
                    AIVisuals.FlipSpriteOnX(mySpriteRenderer,
                                            waterParticles.GetComponent <SpriteRenderer>(),
                                            aiMovement.direction.x, myType);
                }
            }

            if (aiCheckStatus.IsThisAboveMe(collision) || aiCheckStatus.IsThisBeneathMe(collision))
            {
                aiMovement.InvertYDirection();
            }
        }
    }
Beispiel #6
0
 private void SpawnExplosions()
 {
     AIVisuals.SpawnExplosions(this);
 }
Beispiel #7
0
 protected void ParentUpdate()
 {
     aiCheckStatus.CheckStatus();
     AIVisuals.DeathShakeAndSink(this);
     Move();
 }