コード例 #1
0
    public static void addKoalaJob(TrainingFacility fac, Koala k)
    {
        bool b = true;

        foreach (object[] ob in koalaToJob)
        {
            if (((Koala)ob[0]).Equals(k))
            {
                b = false;
            }
        }
        if (b)
        {
            object[] ob = new object[2];
            ob[0] = k;
            ob[1] = fac;
            koalaToJob.Add(ob);
        }
    }
コード例 #2
0
 public void setTrainingFacility(TrainingFacility tf)
 {
     this.tf = tf;
 }
コード例 #3
0
    //For time related stuffies, use FixedUpdate
    void Start()
    {
        terrain  = GameObject.FindGameObjectWithTag("terrain");
        RAND_Day = Random.Range(2, 6);
        events.Add(Events.DUST_STORM);
        events.Add(Events.EARTHQUAKE);
        events.Add(Events.METEOR);
        events.Add(Events.SOLAR_FLARE);
        timeScale      = PlayerPrefs.GetInt("TimeScale");
        Time.timeScale = .1f;
        DirectoryInfo d         = new DirectoryInfo(@Application.dataPath);
        IFormatter    formatter = new BinaryFormatter();

        FileInfo[] pdFiles = d.Parent.GetFiles("Assetspd.bin");
        foreach (FileInfo f in pdFiles)
        {
            Stream stream = new FileStream(f.Name,
                                           FileMode.Open,
                                           FileAccess.Read,
                                           FileShare.Read);
            pd = (PlayerData)formatter.Deserialize(stream);
            stream.Close();
            days    = pd.getDayCount();
            years   = pd.getYearCount();
            minutes = pd.getMinuteCount();
            Debug.Log(pd.getFoodSupply());
            Debug.Log(pd.getWaterSupply());
        }

        if (pd == null)
        {
            pd = new PlayerData(1500, 1500, 1000, 500);
            FileInfo[] allBinFiles = d.Parent.GetFiles("*.bin");
            foreach (FileInfo f in allBinFiles)
            {
                f.Delete();
            }
            for (int i = 0; i < 10; i++)
            {
                System.Random rnd = new System.Random();
                koalas.Add(new Koala(NameDictionary.firstNames[rnd.Next(NameDictionary.firstNames.Length)] + " " + NameDictionary.lastNames[rnd.Next(NameDictionary.lastNames.Length)],
                                     0, rnd.Next(2) + 1, rnd.Next(2) + 1, rnd.Next(2) + 1, Storage.days, Random.Range(1, 3)));
            }
            Debug.Log("New game");
        }
        else
        {
            FileInfo[] tbFiles = d.Parent.GetFiles("*tb.bin");
            foreach (FileInfo f in tbFiles)
            {
                Stream stream = new FileStream(f.Name,
                                               FileMode.Open,
                                               FileAccess.Read,
                                               FileShare.Read);
                Facility fac = (Facility)formatter.Deserialize(stream);
                Storage.allTB.Add(fac);
                fac.create();
                stream.Close();
                Debug.Log(f.Name);
            }

            FileInfo[] tfFiles = d.Parent.GetFiles("*tf.bin");
            foreach (FileInfo f in tfFiles)
            {
                Stream stream = new FileStream(f.Name,
                                               FileMode.Open,
                                               FileAccess.Read,
                                               FileShare.Read);
                TrainingFacility tf = (TrainingFacility)formatter.Deserialize(stream);
                tf.create();
                allTF.Add(tf);
                stream.Close();
            }

            FileInfo[] files = d.Parent.GetFiles("*koala.bin");
            foreach (FileInfo f in files)
            {
                Stream stream = new FileStream(f.Name,
                                               FileMode.Open,
                                               FileAccess.Read,
                                               FileShare.Read);
                Koala ko = (Koala)formatter.Deserialize(stream);
                koalas.Add(ko);
                stream.Close();
            }
        }
        FileInfo[] fe = d.Parent.GetFiles("*.bin");
        foreach (FileInfo f in fe)
        {
            f.Delete();
        }
    }
コード例 #4
0
    internal static void create(GameObject gameObject, Vector3 vector3, Quaternion identity, float x, float y, float z, TrainingFacility fac)
    {
        GameObject g = (GameObject)Instantiate(gameObject, vector3, identity);
        Vector3    v = new Vector3(x, y, z);

        g.transform.eulerAngles = v;
        g.tag = "inGame";
        g.AddComponent <TrainingFacilityFacility>();
        g.GetComponent <TrainingFacilityFacility>().setTrainingFacility(fac);
    }
コード例 #5
0
    void Start()
    {
        Text observatory_cap = GameObject.FindGameObjectWithTag("observatory_cap").GetComponent <Text>();
        Text agriculture_cap = GameObject.FindGameObjectWithTag("agriculture_cap").GetComponent <Text>();
        Text water_cap       = GameObject.FindGameObjectWithTag("water_cap").GetComponent <Text>();
        Text mining_cap      = GameObject.FindGameObjectWithTag("mining_cap").GetComponent <Text>();
        Text training_cap    = GameObject.FindGameObjectWithTag("training_cap").GetComponent <Text>();
        Text launchpad_cap   = GameObject.FindGameObjectWithTag("launchpad_cap").GetComponent <Text>();
        Text powerplant_cap  = GameObject.FindGameObjectWithTag("powerplant_cap").GetComponent <Text>();
        Text living_cap      = GameObject.FindGameObjectWithTag("living_cap").GetComponent <Text>();

        Text observatory_health = GameObject.FindGameObjectWithTag("observatory_health").GetComponent <Text>();
        Text agriculture_health = GameObject.FindGameObjectWithTag("agriculture_health").GetComponent <Text>();
        Text water_health       = GameObject.FindGameObjectWithTag("water_health").GetComponent <Text>();
        Text mining_health      = GameObject.FindGameObjectWithTag("mining_health").GetComponent <Text>();
        Text training_health    = GameObject.FindGameObjectWithTag("training_health").GetComponent <Text>();
        Text launchpad_health   = GameObject.FindGameObjectWithTag("launchpad_health").GetComponent <Text>();
        Text powerplant_health  = GameObject.FindGameObjectWithTag("powerplant_health").GetComponent <Text>();
        Text living_health      = GameObject.FindGameObjectWithTag("living_health").GetComponent <Text>();

        String[] facilityNameArray = new string[8]
        {
            "Observatory",
            "Agriculture Facility",
            "Water Purification Facility",
            "Mining Facility",
            "Training Facility",
            "Launch Pad",
            "Power Plant",
            "Living Facility"
        };

        /* Capacity = (# of buildings) * (max per building) */
        /* Full = # koalas per building */
        /* Empty = capacity - full */
        /* Health = average of each building's health */
        /* THERE ARE A TOTAL OF 8 TYPES OF BUILDINGS */

        int   capacity            = 0;
        int   full                = 0;
        int   empty               = 0;
        int   num_buildings       = 0;
        int   facility_maxWorkers = 0;
        float health              = 0;

        for (int i = 0; i < 8; i++)
        {
            if (facilityNameArray[i].ToLower().Contains("training"))
            {
                facility_maxWorkers = 4;
            }
            else
            {
                facility            = FacilityType.getFacilityByName(facilityNameArray[i]);
                facility_maxWorkers = facility.getMaxWorkers();
            }

            List <object> obs = new List <object>();
            foreach (Facility fac in Storage.allTB)
            {
                obs.Add(fac);
            }
            foreach (TrainingFacility tf in Storage.allTF)
            {
                obs.Add(tf);
            }
            foreach (object f in obs)
            {
                if (f is Facility)
                {
                    Facility fac = (Facility)f;
                    // getFacilityType does not return String type
                    if (fac.getFacilityType().Equals(facilityNameArray[i]) && !facilityNameArray[i].ToLower().Contains("training"))
                    {
                        num_buildings++;
                        full   += fac.getKoalas().Count;
                        health += fac.getHP();
                    }
                }
                else
                {
                    TrainingFacility tf = (TrainingFacility)f;
                    num_buildings++;
                    full   += tf.getTrainees().Count + tf.getTrainers().Count;
                    health += tf.getHP();
                }
            }

            capacity = facility_maxWorkers * num_buildings;
            empty    = capacity - full;

            health = health / num_buildings;

            /* String builder */
            switch (i)
            {
            case 0:
                observatory_cap.text    = full + "F/" + empty + "E";
                observatory_health.text = health + "%";
                break;

            case 1:
                agriculture_cap.text    = full + "F/" + empty + "E";
                agriculture_health.text = health + "%";
                break;

            case 2:
                water_cap.text    = full + "F/" + empty + "E";
                water_health.text = health + "%";

                break;

            case 3:
                mining_cap.text    = full + "F/" + empty + "E";
                mining_health.text = health + "%";
                break;

            case 4:
                training_cap.text    = full + "F/" + empty + "E";
                training_health.text = health + "%";
                break;

            case 5:
                launchpad_cap.text    = full + "F/" + empty + "E";
                launchpad_health.text = health + "%";
                break;

            case 6:
                powerplant_cap.text    = full + "F/" + empty + "E";
                powerplant_health.text = health + "%";
                break;

            case 7:
                living_cap.text    = full + "F/" + empty + "E";
                living_health.text = health + "%";
                break;
            }

            num_buildings = 0;
            full          = 0;
            health        = 0;
        }
        this.gameObject.SetActive(false);
    }