コード例 #1
0
    private void addMonster(Vector3 pPos, bool isMonster)
    {
        if (isMonster == false)
        {
            pPos.x += 0.2f;
            pPos.z += 0.2f;
        }
        int    roleID = LevMonsterTab.getRandomMonsterID();
        string strPre = RoleInfoTable.GetPrefab(roleID);
        Object tmpPre = Resources.Load("Prefab/Model/" + strPre);

        if (tmpPre == null)
        {
            Debug.LogError("role prefab not find roleID:" + roleID.ToString());
        }


        GameObject tmpMonster = GameObject.Instantiate(tmpPre, pPos, Quaternion.identity, monsterManagerTrans) as GameObject;

        tmpMonster.name = "monster_" + monsterID.ToString();
        monsterID++;

        GameObjCommon.skinUpdate(roleID, tmpMonster.transform);
        setMonsterTagLayer(tmpMonster);
        addRigidbody(tmpMonster);
        //addMonsterColliderCode(tmpMonster);
        //addAniControl(tmpMonster);
        tmpMonster.AddComponent <monsterCollider>();
        tmpMonster.AddComponent <modelAnimatorControl>();

        roleProperty tmpPro = addRolePro(tmpMonster, roleID);

        if (isMonster)
        {
            tmpPro.InitData(camerTransform, canvasTransform, 0);
            CapsuleCollider tmpColl = tmpMonster.GetComponent <CapsuleCollider>();
            //tmpColl.isTrigger = true;
            tmpMonster.AddComponent <monsterNormalAI>();
        }

        /*
         * else
         * {
         *  tmpPro.InitData(camerTransform, canvasTransform, 1);
         *  followRole tmpFollow = tmpMonster.AddComponent<followRole>();
         *  //tmpFollow.mainObj = friendRole;
         *  friendRole = tmpMonster;
         * }
         */
        //go.GetComponent<MeshRenderer>().material = material;
        //go.name = roomName + nameIndex.ToString() + "_" + placeIndex.ToString();
    }
コード例 #2
0
    private void createScene()
    {
        bool flag = true;

        while (flag)
        {
            PlaceRooms();      //生成房间
            if (Triangulate()) //三角测量
            {
                flag = false;
            }
            else
            {
                clearDataPlace();
                newSeedRandom();
            }
        }


        CreateHallways();   //创建走廊,过道
        PathfindHallways(); //走廊,过道寻路生成
        int lev = gameDataMgr.gameData().m_roleData.mazeLevel;

        LevMonsterTab.initMonsterIDFromLev(lev);
        createPlance(); //生成房间

#if !TESTPATH
        createHallWayLst(); //生成过道间

        //  createStairsLst(); //生成楼梯

        hideHallWay();        //隐藏墙壁
        //createMonterInHallWay();
        createMonterInRoom(); //创建怪物 并 初始化关卡配置
        createGoldInHallWay();
#if DebugCube
        drawLinePath();
#endif
#endif

        isInitFinish = true;
    }
コード例 #3
0
    public void initData()
    {
        using (var stream = new MemoryStream(roleItem.bytes))
        {
            RoleInfoTable.Load(stream);
            //StoneTable.CsdTTable<string>.Load(stream);
        }

        using (var stream = new MemoryStream(roleProperty.bytes))
        {
            RoleProTable.Load(stream);
        }

        using (var stream = new MemoryStream(shopItemTab.bytes))
        {
            ShopItemTable.Load(stream);
        }

        using (var stream = new MemoryStream(levMonsterTab.bytes))
        {
            LevMonsterTab.Load(stream);
        }
    }