Exemplo n.º 1
0
    public bool CollectResearchMaterial(ResearchMaterial _researchMaterial)
    {
        if (_researchMaterial == null)
        {
            return(false);
        }
        StorageEquipment storageEquipment = (StorageEquipment)equipment[2];

        if (pickedUpResearchMaterials.Count >= storageEquipment.capacity)
        {
            return(false);
        }
        pickedUpResearchMaterials.Add(new ResearchMaterialStruct(_researchMaterial.GetResearchType(), _researchMaterial.GetWorth()));
        EnergyEquipment e = (EnergyEquipment)equipment[GetEnergyEquipment()];

        if (_researchMaterial.GetResearchType() == ResearchTypes.Biology)
        {
            e.energy += biologyMaterialEnergyBoost;
        }
        else if (_researchMaterial.GetResearchType() == ResearchTypes.Archeology)
        {
            e.energy += archeologyMaterialEnergyBoost;
        }
        else
        {
            e.energy += geologyMaterialEnergyBoost;
        }

        e.energy = Mathf.Clamp(e.energy, 0f, e.energyCapacity);
        Destroy(_researchMaterial.gameObject);
        return(true);
    }
Exemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        totalMaterials    = PlayerManager.instance.pickedUpResearchMaterials.Count;
        storage           = (StorageEquipment)PlayerManager.instance.equipment[2];
        totalCapacity     = storage.capacity;
        capacityText.text = String.Format("Capacity: {0}/{1}", totalMaterials, totalCapacity);

        if (missingResearchType != ResearchTypes.Geology)
        {
            geoSlotText.text = String.Format("{0}", PlayerManager.instance.GetNumGeo());
        }
        if (missingResearchType != ResearchTypes.Biology)
        {
            bioSlotText.text = String.Format("{0}", PlayerManager.instance.GetNumBio());
        }
        if (missingResearchType != ResearchTypes.Archeology)
        {
            archSlotText.text = String.Format("{0}", PlayerManager.instance.GetNumArch());
        }


        for (int i = 0; i < slots.Count; i++)
        {
            Equipment e = PlayerManager.instance.equipment[i];
            levelText      = slots[i].transform.GetChild(1).GetComponent <Text>();
            levelText.text = String.Format("Level: {0}", e.level);
        }

        if (Input.GetKeyDown(KeyCode.R))
        {
            equipmentToggle = !equipmentToggle;
            equipmentParent.SetActive(equipmentToggle);
            directions.enabled = !directions.enabled;
        }
    }
Exemplo n.º 3
0
 private void InitializeStats()
 {
     foreach (Equipment eq in PlayerManager.instance.equipment)
     {
         if (eq is WeaponEquipment)
         {
             WeaponEquipment     w  = eq as WeaponEquipment;
             WeaponUpgradeStruct wu = new WeaponUpgradeStruct(800, 1, w.damage, w.inaccuracy, w.fireRate, w.range);
             wu.Upgrade();
             upgradeStructs.Add(wu);
             structVals.Add(0);
         }
         else if (eq is StorageEquipment)
         {
             StorageEquipment     s  = eq as StorageEquipment;
             StorageUpgradeStruct su = new StorageUpgradeStruct(700, 1, s.capacity);
             su.Upgrade();
             upgradeStructs.Add(su);
             structVals.Add(1);
         }
         else if (eq is EnergyEquipment)
         {
             EnergyEquipment     e  = eq as EnergyEquipment;
             EnergyUpgradeStruct ee = new EnergyUpgradeStruct(850, 1, e.energyCapacity);
             ee.Upgrade();
             upgradeStructs.Add(ee);
             structVals.Add(2);
         }
         else if (eq is TransmitterEquipment)
         {
             TransmitterEquipment t  = eq as TransmitterEquipment;
             TransUpgradeStruct   tu = new TransUpgradeStruct(700, 1, t.uploadFactor);
             tu.Upgrade();
             upgradeStructs.Add(tu);
             structVals.Add(3);
         }
         else
         {
             ResearchEquipment     r  = eq as ResearchEquipment;
             ResearchUpgradeStruct ru = new ResearchUpgradeStruct(750, 1, r.scanTime, r.range);
             ru.Upgrade();
             upgradeStructs.Add(ru);
             structVals.Add(4);
         }
     }
 }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            IEquipment equipment;
            Validator  validator = new Validator();

            equipment = new StorageEquipment();
            equipment.AddValidation(getStrictvalidation());
            equipment.AddValidation(getSimplevalidation());


            Console.WriteLine(validator.Validate(equipment));

            Console.ReadKey();

            equipment = new RotaryEquipment();
            equipment.AddValidation(getStrictvalidation());
            equipment.AddValidation(getSimplevalidation());

            Console.WriteLine(validator.Validate(equipment));

            Console.ReadKey();
        }
Exemplo n.º 5
0
    // Start is called before the first frame update
    void Start()
    {
        totalMaterials    = PlayerManager.instance.pickedUpResearchMaterials.Count;
        storage           = (StorageEquipment)PlayerManager.instance.equipment[2];
        totalCapacity     = storage.capacity;
        capacityText.text = String.Format("Capacity: {0}/{1}", totalMaterials, totalCapacity);
        bool foundGeo  = false;
        bool foundArch = false;
        bool foundBio  = false;

        for (int i = 2; i < PlayerManager.instance.equipment.Count; i++)
        {
            if (PlayerManager.instance.equipment[i] is ResearchEquipment)
            {
                ResearchEquipment e = (ResearchEquipment)PlayerManager.instance.equipment[i];
                if (e.type == ResearchTypes.Geology)
                {
                    foundGeo = true;
                }
                else if (e.type == ResearchTypes.Archeology)
                {
                    foundArch = true;
                }
                else
                {
                    foundBio = true;
                }
            }
        }
        if (!foundGeo)
        {
            missingResearchType  = ResearchTypes.Geology;
            archImageSpot.sprite = archImage;
            bioImageSpot.sprite  = bioImage;
        }
        else if (!foundBio)
        {
            missingResearchType  = ResearchTypes.Biology;
            archImageSpot.sprite = archImage;
            geoImageSpot.sprite  = geoImage;
        }
        else if (!foundArch)
        {
            missingResearchType = ResearchTypes.Archeology;
            bioImageSpot.sprite = bioImage;
            geoImageSpot.sprite = geoImage;
        }

        geoSlotText.text  = "";
        bioSlotText.text  = "";
        archSlotText.text = "";


        equipmentPrefab = (GameObject)Resources.Load("EquipmentSlot");
        equipmentParent = this.gameObject.transform.GetChild(1).gameObject;

        foreach (Equipment e in PlayerManager.instance.equipment)
        {
            slot = Instantiate(equipmentPrefab) as GameObject;
            slot.transform.SetParent(equipmentParent.transform, false);
            slots.Add(slot);
            equipmentText      = slot.transform.GetChild(0).GetComponent <Text>();
            levelText          = slot.transform.GetChild(1).GetComponent <Text>();
            equipmentText.text = String.Format("{0}", e.name);
            levelText.text     = String.Format("Level: {0}", e.level);
            Image icon = slot.transform.GetChild(2).GetComponent <Image>();
            if (e is TransmitterEquipment)
            {
                slot.transform.GetChild(2).GetComponent <Image>().sprite = transmitterImage;
            }
            else if (e is EnergyEquipment)
            {
                slot.transform.GetChild(2).GetComponent <Image>().sprite = batteryImage;
            }
            else if (e is StorageEquipment)
            {
                slot.transform.GetChild(2).GetComponent <Image>().sprite = storageImage;
            }
            else if (e is WeaponEquipment)
            {
                slot.transform.GetChild(2).GetComponent <Image>().sprite = weaponImage;
            }
            else if (e is ResearchEquipment)
            {
                ResearchEquipment rE = (ResearchEquipment)e;
                if (rE.type == ResearchTypes.Archeology)
                {
                    slot.transform.GetChild(2).GetComponent <Image>().sprite = archImage;
                }
                else if (rE.type == ResearchTypes.Biology)
                {
                    slot.transform.GetChild(2).GetComponent <Image>().sprite = bioImage;
                }
                else if (rE.type == ResearchTypes.Geology)
                {
                    slot.transform.GetChild(2).GetComponent <Image>().sprite = geoImage;
                }
            }
        }

        equipmentParent.SetActive(equipmentToggle);
    }