void Update() { if (isHostInstance && Input.GetKeyDown(KeyCode.B)) { Debug.Log("=========== SPAWNING AI"); spawnPlayer(CombatFlow.convertTeamToNum(0), true); } }
private void deployUnit() { //tankCount++; //squadRemaining--; GameObject selectedPrefab = selectDeployPrefab(); Vector3 spawnPoint = currentSpawnPoint; if (selectedPrefab == SAMPrefab) { spawnPoint = randomSpawnPoint(); //Debug.LogError("SAM detected, spawning at random point"); } CreepControl newCreep = PhotonNetwork.InstantiateSceneObject(selectedPrefab.name, spawnPoint, Quaternion.LookRotation(waypoints[1] - transform.position, Vector3.up)).GetComponent <CreepControl>(); float range; if (selectedPrefab == SAMPrefab) { range = SAMSpacing * SAMCount + SAMSpacing; } else if (selectedPrefab == AAAPrefab) { squadRemaining--; range = currentSpawnRange - currentRangeOffset; } else { squadRemaining--; range = newCreep.effectiveRange - currentRangeOffset; currentSpawnRange = range; } Vector3 offset = spawnPoint - transform.position; int teamNum = CombatFlow.convertTeamToNum(team); newCreep.photonView.RPC("rpcInit", RpcTarget.AllBuffered, photonView.ViewID, offset, range, teamNum); // instantiate // place at offset // fill waypoints // set offset // RANGE: // if creep, use its own range // if AAA at end of squad, use previously saved range }
private AI_GroundAttack doSpawn() { totalSpawnCount++; CombatFlow newAircraft = gm.spawnPlayer(CombatFlow.convertTeamToNum(spawner.team), true); AI_GroundAttack newAirGndAtk = newAircraft.GetComponent <AI_GroundAttack>(); newAirGndAtk.assignToLane(decideLane(myAI)); newAircraft.setNetName("JeffBot" + totalSpawnCount); return(newAirGndAtk); }
public void createExplosionAt(Vector3 position, float setRadius, float setCoreDamage, bool doCollide, float dissipationTime, Color glowColor, bool doEmitLight, Color newSmokeColor, float newExpandTime, CombatFlow.Team newTeam, bool newDamageProjectiles, bool newFriendlyFire, float newExplosiveForce) { // If the weapon that initiated the explosion is not local-owned, it will have // to set the damage, doCollide, and explosive force to zero // create local-only explosion rpcCreateExplosionAt(position, setRadius, setCoreDamage, doCollide, dissipationTime, glowColor, doEmitLight, newSmokeColor, newExpandTime, CombatFlow.convertTeamToNum(newTeam), newDamageProjectiles, newFriendlyFire, newExplosiveForce); }
public void createNetExplosionAt(Vector3 position, float setRadius, float setCoreDamage, bool doCollide, float dissipationTime, Color glowColor, bool doEmitLight, Color newSmokeColor, float newExpandTime, CombatFlow.Team newTeam, bool newDamageProjectiles, bool newFriendlyFire, float newExplosiveForce) { // create local explosion, will deal damage rpcCreateExplosionAt(position, setRadius, setCoreDamage, doCollide, dissipationTime, glowColor, doEmitLight, newSmokeColor, newExpandTime, CombatFlow.convertTeamToNum(newTeam), newDamageProjectiles, newFriendlyFire, newExplosiveForce); // create networked explosion, cosmetic only // zero damage, will not collide, zero explosive force photonView.RPC("rpcCreateExplosionAt", RpcTarget.Others, position, setRadius, 0, false, dissipationTime, glowColor, doEmitLight, newSmokeColor, newExpandTime, CombatFlow.convertTeamToNum(newTeam), newDamageProjectiles, newFriendlyFire, 0); }
public GameObject spawnPlayer(GameObject playerPrefab, string name, bool isPlayer = true) { //playerPrefab.name = PhotonNetwork.NickName; GameObject emptySpawn = findEmptySpawnPoint(); GameObject player = PhotonNetwork.Instantiate(playerPrefab.name, emptySpawn.transform.position, Quaternion.identity, 0); if (isPlayer) { localPlayerInstance = player; } player.transform.rotation = emptySpawn.transform.rotation; CombatFlow playerFlow = player.GetComponent <CombatFlow>(); playerFlow.setNetName(name); playerFlow.setNetTeam(CombatFlow.convertTeamToNum(team)); return(player); }
public List <CombatFlow> getTeamAircraftList(CombatFlow.Team team) { return(getTeamAircraftList(CombatFlow.convertTeamToNum(team))); }