Exemplo n.º 1
0
    void Update()
    {
        if (!PlayerPrefs.HasKey(CheckpointName))
        {
            GameObject.Destroy(gameObject);
            return;
        }

        try
        {
            StringReaderEx str = new StringReaderEx(PlayerPrefs.GetString(CheckpointName));

            int enemiesCount = str.ReadLineInt();
            Debug.Log("Load: enemies = " + enemiesCount);
            for (int i = 0; i < enemiesCount; i++)
            {
                string prefabName = str.ReadLine();
                string path       = prefabName;


                GameObject prefab = (GameObject)Resources.Load(path, typeof(GameObject));
                Debug.Log("path: " + path + ", val=" + (prefab == null));
                EnemyShipController ship = ((GameObject)GameObject.Instantiate(prefab)).GetComponent <EnemyShipController>();
                ship.PrefabName = prefabName;
                //ship.transform.position = str.ReadLineVector3();
                //LoadObject(str,ship.gameObject);
                ObjectSerializer.LoadObject(str, ship.gameObject);
                //LoadClass<EnemyShipController>(str,ship);
                //EnemyShipController enemy = GameObject.Instantiate()
            }

            PlanetController planet = GameObject.FindGameObjectWithTag("Planet").GetComponent <PlanetController>();

            ObjectSerializer.LoadObject(str, planet.gameObject);
            ObjectSerializer.LoadObject(str, planet.Gun.gameObject);

            UIController ui = GameObject.Find("UICanvas").GetComponent <UIController>();;

            ObjectSerializer.LoadComponent(str, ui.HpBar);
            ObjectSerializer.LoadComponent(str, ui.Score);
            ObjectSerializer.LoadComponent(str, planet.Multiplier.Indicator);

            EnemyGeneratorController eg = GameObject.Find("EnemyGenerator").GetComponent <EnemyGeneratorController>();

            ObjectSerializer.LoadComponent(str, eg);
            StageController[] stages = eg.GetComponentsInChildren <StageController>(true);

            foreach (StageController s in stages)
            {
                ObjectSerializer.LoadObject(str, s.gameObject);
            }
        }
        catch (Exception e)
        {
            Debug.LogError("Exception while trying to load level: " + e.ToString());
        }

        GameObject.Destroy(gameObject);
    }
Exemplo n.º 2
0
    public static void Checkpoint()
    {
        StringWriterEx str = new StringWriterEx();


        EnemyShipController[] enemies = GameObject.FindObjectsOfType <EnemyShipController>();

        str.WriteLine(enemies.Length);

        foreach (EnemyShipController es in enemies)
        {
            //EnemyShipController es = enemy.GetComponent<EnemyShipController>();

            Debug.Log("Save: storing " + es.PrefabName);
            str.WriteLine(es.PrefabName);


            //str.WriteLine(es.transform.position);

            //StoreClass<EnemyShipController>(str,es);
            ObjectSerializer.StoreObject(str, es.gameObject);
        }

        PlanetController planet = GameObject.FindGameObjectWithTag("Planet").GetComponent <PlanetController>();

        ObjectSerializer.StoreObject(str, planet.gameObject);
        ObjectSerializer.StoreObject(str, planet.Gun.gameObject);

        UIController ui = GameObject.Find("UICanvas").GetComponent <UIController>();

        ObjectSerializer.StoreComponent(str, ui.HpBar);
        ObjectSerializer.StoreComponent(str, ui.Score);
        ObjectSerializer.StoreComponent(str, planet.Multiplier.Indicator);

        EnemyGeneratorController eg = GameObject.Find("EnemyGenerator").GetComponent <EnemyGeneratorController>();

        ObjectSerializer.StoreComponent(str, eg);
        StageController[] stages = eg.GetComponentsInChildren <StageController>(true);

        foreach (StageController s in stages)
        {
            ObjectSerializer.StoreObject(str, s.gameObject);
        }


        StreamWriter log = new StreamWriter("g:/unity-dev/OrbitalDefender/log.txt", false);

        log.WriteLine(str.ToString());
        log.Close();


        PlayerPrefs.SetString(CheckpointName, str.ToString());
    }
Exemplo n.º 3
0
 void OnTriggerEnter(Collider collider)
 {
     if (collider.collider.tag == "Bullet")
     {
         if (bombClip)
         {
             AudioSource.PlayClipAtPoint(bombClip, transform.position);
         }
         // 弾に当たったら敵の残り数を減らし、消滅する
         EnemyGeneratorController parent = FindObjectOfType(typeof(EnemyGeneratorController)) as EnemyGeneratorController;
         parent.ReduceEnemy();
         Destroy(gameObject);
     }
 }
Exemplo n.º 4
0
 void Awake()
 {
     Generator = GetComponentInParent <EnemyGeneratorController>();
 }
Exemplo n.º 5
0
    void Awake()
    {
        Generator = GetComponentInParent <EnemyGeneratorController>();

        Target.SetActive(true);
    }