public IGun Create(GunRequirements requirements) { switch (requirements.Magazine) { case 1: return(new BaseRifle()); case 2: if (requirements.Accuracy == 2) { return(new Sniper()); } if (requirements.Accuracy == 0) { return(new SubMachineGun()); } return(new LargeRifle()); case 3: return(new LightMachineGun()); default: return(new BaseRifle()); } }
public IGun Create(GunRequirements requirements) { switch (requirements.Magazine) { case 1: if (requirements.Accuracy == 0) { return(new FuddGun()); } return(new BasePistol()); case 2: if (requirements.Accuracy == 1) { return(new RangePistol()); } return(new LargePistol()); case 3: if (requirements.Accuracy == 2) { return(new TargetPistol()); } return(new EncumberedPistol()); default: return(new BasePistol()); } }
public void CreateObjectOnPress() { requirements = require.GetComponent <GunRequirements>(); GunRequirements requiring = requirements; //Debug.Log(requiring); GunFactory factory = new GunFactory(requiring); createFactory(factory); }
// Start is called before the first frame update void Start() { GunRequirements requirements = new GunRequirements { Magazine = Mathf.Max(Magazine, 1), Size = Size, Accuracy = Mathf.Max(Accuracy) }; GunFactory factory = new GunFactory(requirements); createFactory(factory); }
public void createFactory(GunFactory factory) { GunRequirements textRequire = newText.GetComponent <GunRequirements>(); //Debug.Log(factory); IGun c = factory.Create(); //Debug.Log(c); g_spawn.GetGun(c.ToString()); //Debug.Log(c); textRequire.objectText.text = c.ToString(); }
public void DropdownChange() { string option = dropping1.options[dropping1.value].text; requirements = require.GetComponent <GunRequirements>(); //Debug.Log(require); if (option == "Small") { requirements.Magazine = 1; } else if (option == "Average") { requirements.Magazine = 2; } else if (option == "Encumbering") { requirements.Magazine = 3; } if (option == "Pistol") { requirements.Size = true; } else if (option == "Rifle") { requirements.Size = false; } if (option == "None") { requirements.Accuracy = 0; } else if (option == "Some") { requirements.Accuracy = 1; } else if (option == "Lots") { requirements.Accuracy = 2; } }
public GunFactory(GunRequirements requirements) { _factory = requirements.Size ? (IGunFactory) new PistolFactory() : new RifleFactory(); _requirements = requirements; }