Esempio n. 1
0
    // 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);
    }