Ejemplo n.º 1
0
        private static void ChainOfResponsibilityExample()
        {
            Console.WriteLine("Chain of Responsibility Example:");
            var          mockPosition       = Vector2.Zero;
            int          mapSize            = 32;
            var          mockMap            = new Map(mapSize, mapSize);
            IPathFinding pathfindingAdapter = new PathFindingAdapter(mockMap);
            var          weapon             = new Shotgun();
            var          mockPlayer         = new Player1 {
                LifePoints = 100
            };
            var enemyState = new EnemyStateFactory();

            var grandparentEnemy = new EnemyA(pathfindingAdapter, weapon, mockPlayer, 100, mockPosition, null, enemyState.GetState("Moving"), mockMap);
            var parentEnemy      = new EnemyB(pathfindingAdapter, weapon, mockPlayer, 100, mockPosition, null, enemyState.GetState("Moving"), mockMap);
            var childEnemy       = new EnemyA(pathfindingAdapter, weapon, mockPlayer, 100, mockPosition, null, enemyState.GetState("Moving"), mockMap);

            parentEnemy.SetParentEnemy(grandparentEnemy);
            childEnemy.SetParentEnemy(parentEnemy);

            Console.WriteLine("Life points before child takes damage:");
            Console.WriteLine($"Grandparent: {grandparentEnemy.LifePoints}");
            Console.WriteLine($"Parent: {parentEnemy.LifePoints}");
            Console.WriteLine($"Child: {childEnemy.LifePoints}");

            childEnemy.TakeDamage(100);

            Console.WriteLine("Life points after child takes damage:");
            Console.WriteLine($"Grandparent: {grandparentEnemy.LifePoints}");
            Console.WriteLine($"Parent: {parentEnemy.LifePoints}");
            Console.WriteLine($"Child: {childEnemy.LifePoints}");
        }
Ejemplo n.º 2
0
 // Start is called before the first frame update
 void Start()
 {
     animator    = GetComponentInChildren <Animator>();
     enemyb      = GetComponent <EnemyB>();
     direction   = enemyb.direction;
     AnimGorilla = transform.GetChild(0).transform.gameObject;
     size        = AnimGorilla.transform.localScale;
 }
Ejemplo n.º 3
0
    public override EnemyPrototype Clone()
    {
        EnemyB b = new EnemyB();

        b.hp     = this.hp;
        b.damage = this.damage;
        b.range  = this.range;
        return(b);
    }
Ejemplo n.º 4
0
    void onTriggerEnter(Collider collider)
    {
        EnemyA firstEnemy  = collider.gameObject.GetComponent <EnemyA>();
        EnemyB secondEnemy = collider.gameObject.GetComponent <EnemyB>();

        if (firstEnemy || secondEnemy)
        {
            Destroy(gameObject);
        }
    }
Ejemplo n.º 5
0
        public override Enemy Create(BulletManager bulletManager, EnemyConfig enemy, GameData gameData, Vector2 origin)
        {
            this.bulletManager = bulletManager;

            EnemyB newEnemy = new EnemyB(bulletManager, gameData);

            //Load - sets position of enemy as well
            Load(newEnemy, enemy, origin);

            return(newEnemy);
        }
Ejemplo n.º 6
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            EnemyA aa = a.Clone() as EnemyA;
            EnemyB bb = b.Clone() as EnemyB;
            EnemyC cc = c.Clone() as EnemyC;

            aa.ToString();
            bb.ToString();
            cc.ToString();
        }
        Single.instance.dor = 0;
    }
Ejemplo n.º 7
0
    void SpawnBoss()
    {
        //EraseCurEnemies();

        Boss = GameManager.Inst().ObjManager.MakeObj("EnemyB").GetComponent <EnemyB>();
        Vector3 pos = Vector3.zero;

        pos.y = 13.0f;
        pos.z = 0.05f * EnemyCount++;
        Boss.transform.position = pos;
        Boss.ResetData();
        GameManager.Inst().UiManager.MainUI.BossLevel.text = ("LV " + (BossDeathCounts[Stage - 1] + 1).ToString()).ToString();

        CheckEnemyCount();

        GameManager.Inst().UiManager.MainUI.BossHPBarCanvas.SetActive(true);
    }
Ejemplo n.º 8
0
        private static void BridgeExample()
        {
            Logger.Instance.Info("Running Bridge Example");

            var mockPosition   = Vector2.Zero;
            var mockMap        = new Map(16, 16);
            var mockPathFinder = new PathFindingAdapter(mockMap);
            var enemyState     = new EnemyStateFactory();

            IPlayer player  = new Player1();
            IWeapon bazooka = new Bazooka();
            IWeapon pistol  = new Pistol();

            Enemy enemyAWithBazooka = new EnemyA(mockPathFinder, bazooka, player, 50, mockPosition, null, enemyState.GetState("Moving"), mockMap);
            Enemy enemyBWithPistol  = new EnemyB(mockPathFinder, pistol, player, 50, mockPosition, null, enemyState.GetState("Moving"), mockMap);

            enemyAWithBazooka.Attack();
            enemyBWithPistol.Attack();
        }
Ejemplo n.º 9
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        PlayerController playerShip = collider.gameObject.GetComponent <PlayerController>(); // if player bullet hits player ship
        EnemyA           enemy1     = collider.gameObject.GetComponent <EnemyA>();           // if bullet hits enemy A
        EnemyB           enemy2     = collider.gameObject.GetComponent <EnemyB>();           // if bullet hits enemy B
        HellDestroyerTop destroyer  = collider.gameObject.GetComponent <HellDestroyerTop>(); // The garbage bin at the top of hell mode
        BossRight        rightWing  = collider.gameObject.GetComponent <BossRight>();        // the boss's right wing
        BossLeft         leftWing   = collider.gameObject.GetComponent <BossLeft>();         // boss left wing
        BossCore         core       = collider.gameObject.GetComponent <BossCore>();         // boss core

        if (playerShip || enemy1 || enemy2)
        {
            Destroy(gameObject);
        }

        if (rightWing || leftWing || core)
        {
            Destroy(gameObject);
            GameObject bulletExploding = Instantiate(explosion, transform.position, Quaternion.identity) as GameObject;
            Destroy(bulletExploding, 0.2f);
            AudioSource.PlayClipAtPoint(explosionSound, transform.position);
        }

        if (destroyer)
        {
            hellCounter++;
            if (hellCounter != 4)
            {
                transform.position = new Vector3(transform.position.x, -5.2f, transform.position.z);
            }
            else
            {
                Destroy(gameObject);
            }
        }
    }
Ejemplo n.º 10
0
 public static void DisposeEnemy(EnemyB enemy)
 {
     enemy.Dispose();
     enemy.gameObject.SetActive(false);
 }
Ejemplo n.º 11
0
 public static void InitializeEnemy(EnemyB enemy)
 {
     enemy.gameObject.SetActive(true);
     enemy.Initialize();
 }
Ejemplo n.º 12
0
 public void Visit(EnemyB enemyB)
 {
     enemyB.Die();
 }
Ejemplo n.º 13
0
 public void Visit(EnemyB enemyB)
 {
     Logger.Instance.Info("Displaying EnemyB with " + enemyB.LifePoints + " HP.");
 }
Ejemplo n.º 14
0
 //El spawner es el unico que conoce al pool de EnemyA, asi que nos llega un objeto por parametro y a ese lo mandamos por parametro para que el pool se encargue de desactivarlo de la lista para vovler a usarlo.
 public void ReturnEnemyToPool(EnemyB enemy)
 {
     _enemyPool.DisablePoolObject(enemy);
 }