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}"); }
// 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; }
public override EnemyPrototype Clone() { EnemyB b = new EnemyB(); b.hp = this.hp; b.damage = this.damage; b.range = this.range; return(b); }
void onTriggerEnter(Collider collider) { EnemyA firstEnemy = collider.gameObject.GetComponent <EnemyA>(); EnemyB secondEnemy = collider.gameObject.GetComponent <EnemyB>(); if (firstEnemy || secondEnemy) { Destroy(gameObject); } }
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); }
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; }
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); }
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(); }
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); } } }
public static void DisposeEnemy(EnemyB enemy) { enemy.Dispose(); enemy.gameObject.SetActive(false); }
public static void InitializeEnemy(EnemyB enemy) { enemy.gameObject.SetActive(true); enemy.Initialize(); }
public void Visit(EnemyB enemyB) { enemyB.Die(); }
public void Visit(EnemyB enemyB) { Logger.Instance.Info("Displaying EnemyB with " + enemyB.LifePoints + " HP."); }
//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); }