// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.B)) { IRifle rifle = new BasicRifle(); Instantiate(rifle.LoadPart()); Debug.Log("Basic accuracy: " + rifle.GetAccuracy()); } if (Input.GetKeyDown(KeyCode.S)) { IRifle rifle = new BasicRifle(); rifle = new WithScope(rifle); Instantiate(rifle.LoadPart()); Debug.Log("WithScope accuracy: " + rifle.GetAccuracy()); } if (Input.GetKeyDown(KeyCode.T)) { IRifle rifle = new BasicRifle(); rifle = new WithStabilizer(new WithScope(rifle)); Instantiate(rifle.LoadPart()); Debug.Log("Stabilizer+Scope accuracy: " + rifle.GetAccuracy()); } if (Input.GetKeyDown(KeyCode.C)) { IRifle rifle = new BasicRifle(); rifle = new WithSilencer(new WithStabilizer(new WithScope(rifle))); Instantiate(rifle.LoadPart()); Debug.Log("Stabilizer+Scope+Silencer accuracy: " + rifle.GetAccuracy()); } if (Input.GetKeyDown(KeyCode.P)) { IRifle rifle = new BasicRifle(); rifle = new InPink(new WithStabilizer (new WithSilencer(new WithScope(rifle)))); Instantiate(rifle.LoadPart()); Debug.Log("Stabilizer+Scope+Silencer in Pink! accuracy: " + rifle.GetAccuracy()); } if (Input.GetKeyDown(KeyCode.R)) { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } }
public override IAK GetAK(AttachmentType aType) { IAK currentRifle; switch (aType) { case AttachmentType.Basic: IAK rifleBasic = new BasicAK(); currentRifle = rifleBasic; return(rifleBasic); case AttachmentType.ReflexSight: IAK rifleRS = new BasicAK(); rifleRS = new WithReflexSight(rifleRS); currentRifle = rifleRS; return(rifleRS); case AttachmentType.Stock: IAK rifleStock = new BasicAK(); rifleStock = new WithStock(rifleStock); currentRifle = rifleStock; return(rifleStock); case AttachmentType.Grip: IAK rifleGrip = new BasicAK(); rifleStock = new WithGrip(rifleGrip); currentRifle = rifleGrip; return(rifleGrip); case AttachmentType.Silencer: IAK rifleSilencer = new BasicAK(); rifleStock = new WithSilencer(rifleSilencer); currentRifle = rifleSilencer; return(rifleSilencer); case AttachmentType.Drum: IAK rifleDrum = new BasicAK(); rifleDrum = new WithDrum(rifleDrum); currentRifle = rifleDrum; return(rifleDrum); } return(null); }