public static void Main(string[] args) { IHuman human = new Human(); IRobot robot = new Robot(); IWeapon kalashnikov = new AK47(); IWeapon laser = new Laser(); ICombatUnit soldier = new Soldiеr(human, kalashnikov); IKiborg kiborg = new Kiborg(human, robot, laser); Soldiеr specialSoldier = new Soldiеr(kiborg, laser); IPilot pilot = new Pilot(); IAirplane airplane = new F117(pilot); ISecretAirplane secretAirplane = new SecretAirCraft(airplane, kiborg); var army = new List <ICombatUnit> { soldier, specialSoldier, airplane, secretAirplane }; IArmy myArmy = new Army(army); foreach (var unit in myArmy.ArmyUnits) { unit.Attack(army); } }
public void Start() { AK47 ak47; ak47 = new AK47(); ak47.attack(); }
void Start() { weapons [0] = new Unarmed(); weapons [1] = new AK47(this, soundManager); selectedWeapon = weapons[0]; reloadArmSpriteRenderer.sprite = reloadArmSprites[0]; selectedWeaponSprite.sprite = weaponSprites[0]; crosshair.enabled = weapons[0].getShowCrosshair() && (networkView.isMine || !(Network.isServer || Network.isClient)); animationController.prepLayersForReload(); }
public void Update() { if (Input.GetKeyDown(KeyCode.UpArrow)) { AK47 ak47; ak47 = new AK47(); ak47.attack(); } }
private void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Player") { AK47 m_ak47 = other.GetComponentInChildren <AK47>(); if (m_ak47 != null) { Debug.Log("100 Ammo!"); m_ak47.bulletsLeft += 100; Destroy(this.gameObject); } } }
static void Main() { Personnel soldier = new Soldier(24, "Ahmed"); soldier.TrainingSchool(); Personnel naval = new Naval(29, "Gideon"); naval.TrainingSchool(); Weapon ak47 = new AK47(); Weapon m24 = new M24(); ak47.FiringRange(); m24.FiringRange(); ak47.RateOfFire(); m24.RateOfFire(); ak47.Weight(); m24.Weight(); }
static void Main(string[] args) { //比如,我们现在需要10000个一般士兵,只需这样 SoldierFactory factory = new SoldierFactory(); AK47 ak47 = new AK47(); for (int i = 0; i < 100; i++) { Soldier soldier = null; if (i <= 20) { soldier = factory.GetSoldier("士兵" + (i + 1), ak47, SoldierType.Normal); } else { soldier = factory.GetSoldier("士兵" + (i + 1), ak47, SoldierType.Water); } soldier.Fight(); } //我们有这么多的士兵,但是使用的内存不是很多,因为我们缓存了。 Console.Read(); }
//享元模式调用 public static void GetFlyWeight() { //比如,我们现在需要10000个一般士兵,只需这样 SoldierFactory facotry = new SoldierFactory(); AK47 ak47 = new AK47(); //我们又这么多的士兵,但是使用的内存不是很多,因为我们缓存了 for (int i = 0; i < 100; i++) { Soldier soldier = null; if (i <= 20) { soldier = facotry.GetSoldier("士兵" + (i + 1), ak47, SoldierType.Normal); } else { soldier = facotry.GetSoldier("士兵" + (i + 1), ak47, SoldierType.Water); } soldier.Fight(); } Console.Read(); }