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);
    }
Exemple #4
0
    // 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;
 }