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(); }
private void addRoleData(GameObject obj, int roleID) { GameObjCommon.skinUpdate(roleID, obj.transform); setRoleTagLayer(obj); addRigidbody(obj); // addMonsterColliderCode(obj); // addAniControl(obj); obj.AddComponent <roleCollider>(); obj.AddComponent <modelAnimatorControl>(); addRoleProperty(obj, roleID); obj.AddComponent <roleAI>(); }
/* * private GameObject getHpPoint(Transform parent) * { * GameObject res = parent.gameObject; * int nCount = parent.childCount; * for (int i = 0; i < nCount; i++) * { * Transform tmp = parent.GetChild(i); * if (tmp.name == "HpPoint") * { * res = tmp.gameObject; * break; * } * } * * return res; * } */ private void addRoleProperty(GameObject obj, int roleID) { roleProperty pro = obj.AddComponent <roleProperty>(); RoleProTable.rolePro tmpPro = RoleProTable.GetFromRoleID(roleID); pro.roleSort = 1; pro.hpMax = tmpPro.MaxHp; pro.hp = gameDataMgr.gameData().m_roleData.bosshp[roleID]; pro.attack = tmpPro.Atk; pro.def = tmpPro.Def; pro.element = tmpPro.Ele; pro.roleID = roleID; pro.level = 1; pro.speed = 0.5f; // pro.turnTime = 0.0f; pro.HpUIPoint = GameObjCommon.getObjNode(obj.transform, "HpPoint"); }
//怪物属性 private roleProperty addRolePro(GameObject obj, int roleID) { roleProperty pro = obj.AddComponent <roleProperty>(); RoleProTable.rolePro tmpPro = RoleProTable.GetFromRoleID(roleID); pro.roleSort = 0; pro.hpMax = tmpPro.MaxHp; pro.hp = pro.hpMax; pro.attack = tmpPro.Atk; pro.def = tmpPro.Def; pro.element = tmpPro.Ele; pro.roleID = roleID; pro.level = 1; pro.speed = 0.5f; pro.HpUIPoint = GameObjCommon.getObjNode(obj.transform, "HpPoint"); return(pro); }