static EnemiesLibrary() { SmallEnemy = new SmallEnemyModel(); MediumEnemy = new MediumEnemyModel(); LargeEnemy = new LargeEnemyModel(); MapByType = new Dictionary <EnemyType, IEnemy> { { EnemyType.Small, SmallEnemy }, { EnemyType.Medium, MediumEnemy }, { EnemyType.Large, LargeEnemy }, }; }
public void init(EnemyManager owner) { name = "SmallEnemy"; hp = 2; fireRate = 0; speed = .8f; diveSpeed = 5; divePosition = .5f; transform.localScale = new Vector3 (.85f, 1f, 1f); col = gameObject.AddComponent<BoxCollider2D> (); body = gameObject.AddComponent<Rigidbody2D> (); body.isKinematic = true; transform.eulerAngles = new Vector3(0,0,180); this.owner = owner; if (transform.position.x > -4.5f) { direction = "L"; } else { direction = "R"; } var modelObject = GameObject.CreatePrimitive (PrimitiveType.Quad); model = modelObject.AddComponent<SmallEnemyModel>(); model.init(this); diving = false; }