示例#1
0
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == this.gameObject.tag)
        {
            switch (this.gameObject.tag)
            {
            case "BigSlime":
                Destroy(this.gameObject);
                Debug.Log("BiggestSlimes Disappear!");
                break;

            case "MiddleSlime":
                //おっきくなって上位存在のプレハブ生産
                Vector3    tmp = this.gameObject.transform.position; //生まれる位置(=変更前の位置)取得
                GameObject OYA = transform.parent.gameObject;        //親クラス取得
                Destroy(this.gameObject);
                script.CreatePrefabAsChild(OYA, (GameObject)Resources.Load("Prefab/BigSlime"),
                                           tmp, "BigSlime");
                break;

            case "SmallSlime":
                //おっきくなって上位存在のプレハブ生産
                Vector3    tmp2 = this.gameObject.transform.position; //生まれる位置(=変更前の位置)取得
                GameObject OYA2 = transform.parent.gameObject;        //親クラス取得
                Destroy(this.gameObject);
                GameObject G = (GameObject)Resources.Load("Prefab/MiddleSlime");
                script.CreatePrefabAsChild(OYA2, G,   // (GameObject)Resources.Load("Prefab/MiddleSlime")
                                           tmp2, "MiddleSlime");
                break;

            default: break;
            }
        }
    }
示例#2
0
    [SerializeField] public Vector3 SpawnSlimePos; //スライムごとの位置

    // Start is called before the first frame update
    void Start()
    {
        GameObject SmallSlime = (GameObject)Resources.Load("Prefab/SmallSlime");

        //フィールドの中心軸(の位置)を取得
        Center = GameObject.Find("FieldCenter");

        //ステージマネージャーの取得
        StageManager = GameObject.Find("StageManager");
        //マネージャーが持っているmanagerスクリプト
        script = StageManager.GetComponent <manager>();

        //===================
        // 小スライムの生成
        //===================
        for (int i = 0; i < AppearSlimeCount; i++)
        {
            script.CreatePrefabAsChild
            (
                this.gameObject,
                SmallSlime,
                SpawnSlimePos,
                SmallSlime.tag
            );
        }
        targetObj = GameObject.Find("FieldCenter");
        targetPos = targetObj.transform.position;

        Manager = GameObject.Find("StageManager");

        BottunScriptL = GameObject.Find("ButtonL").GetComponent <Bottun>();
        BottunScriptR = GameObject.Find("ButtonR").GetComponent <Bottun>();
    }
示例#3
0
    [SerializeField, PersistentAmongPlayMode] public Vector3 SpawnSlimePos; //スライムごとの位置

    // Start is called before the first frame update
    void Start()
    {
        GameObject SmallSlime = (GameObject)Resources.Load("Prefab/SmallSlime");

        //フィールドの中心軸(の位置)を取得
        Center = GameObject.Find("FieldCenter");

        //ステージマネージャーの取得
        StageManager = GameObject.Find("StageManager");
        //マネージャーが持っているmanagerスクリプト
        script = StageManager.GetComponent <manager>();

        //===================
        // 小スライムの生成
        //===================
        for (int i = 0; i < AppearSlimeCount; i++)
        {
            script.CreatePrefabAsChild
            (
                this.gameObject,
                SmallSlime,
                SpawnSlimePos,
                SmallSlime.tag
            );
        }
    }
示例#4
0
    [SerializeField, PersistentAmongPlayMode] public string TakenTag;       //スライムごとのタグ

    //}
    //[SerializeField, PersistentAmongPlayMode] SlimeAttriBute[] slime;



    // Start is called before the first frame update
    void Start()
    {
        Center    = GameObject.Find("FieldCenter");
        targetPos = Center.transform.position;

        Manager = GameObject.Find("Manager");
        script  = Manager.GetComponent <manager>();


        for (int i = 0; i < AppearSlimeCount; i++)
        {
            script.CreatePrefabAsChild(this.gameObject, (GameObject)Resources.Load("Prefab/SmallSlime"), SpawnSlimePos, TakenTag);
        }
    }