void PrepareStepBuildRPC(WorldObj.SoldierType _soldierType, WorldObj.Nationality _nationality) { if (!cityController) { Debug.Log("组件cityController没找到!"); } //初始化刚开始建造的模型 GameObject _newTeam = cityController.newTeam; if (_newTeam) { TeamObj newTeamObj = _newTeam.GetComponent <TeamObj>(); //锁住被建队伍模型的动画和隐藏他的血条 LockUnLockBuildingTeam(newTeamObj, true); } else { return; } switch (_soldierType) { case WorldObj.SoldierType.Tank: Transform model = null; switch (_nationality) { case WorldObj.Nationality.red: model = _newTeam.transform.Find("Tank_Red"); break; case WorldObj.Nationality.blue: model = _newTeam.transform.Find("Tank_Blue"); break; case WorldObj.Nationality.monster: break; default: break; } //激活基础配件 cityController.SetActiveParts(model, new string[] { "Cylinder020", "Object031" }); break; default: break; } }
void SpawnMonsterObjectsRPC(WorldObj.Nationality _nationality, int _soldiernumber, WorldObj.SoldierType _soldiertype, int _teamMorola, int _viewId, int _viewIdModel) { //计算出野怪位置 Vector3 GriffinPosition = Vector3.zero; switch (_soldiertype) { case SoldierType.Griffin: bool rightposition = false; while (!rightposition) { GriffinPosition = RandomPosition(); rightposition = true; for (int j = 0; j < citiespositions.Count; j++) { if (Vector3.Distance(citiespositions[j], GriffinPosition) < 2f) { rightposition = false; break; } } } break; default: break; } GameObject newMonster = Instantiate(team, GriffinPosition, Quaternion.identity); newMonster.GetComponent <PhotonView>().viewID = _viewId; //给新派生的队伍对象赋值 TeamObj teamObj = newMonster.GetComponent <TeamObj>(); teamObj.nationality = _nationality; teamObj.soldiernumber = _soldiernumber; teamObj.soldiertype = _soldiertype; teamObj.hero = ""; teamObj.teamspeed = WorldObj.BeginTeamSpeed; teamObj.teammorale = WorldObj.BeginTeamMorale; //根据士兵类型激活队伍模型 Transform teamModel = null; switch (teamObj.soldiertype) { case WorldObj.SoldierType.Griffin: teamModel = teamObj.transform.Find("Griffin_Yellow"); break; } if (teamModel) { //激活队伍模型 teamModel.gameObject.SetActive(true); //手动分配队伍模型的PhotonViewID teamModel.GetComponent <PhotonView>().viewID = _viewIdModel; } //使其不可见 Funcs.ChangeObjectAlphaValue(teamObj.teamHealthCanvas, 0f); Funcs.ChangeObjectAlphaValue(teamObj.transform, 0f); }