// STATIC METHOD OTHER OBJECTS WILL CALL // caller can set: // position // radius // damage // collisions enabled // dissipation time // glow color // emit light enabled // expand time // team // damageProjectiles // friendlyFire public static 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) { ExplodeManager expMan = ExplodeManager.getExplodeManager(); expMan.createExplosionAt(position, setRadius, setCoreDamage, doCollide, dissipationTime, glowColor, doEmitLight, newSmokeColor, newExpandTime, newTeam, newDamageProjectiles, newFriendlyFire, newExplosiveForce); }
public CombatFlow spawnPlayer(int teamNum, bool isAI = false) { CombatFlow newSpawn = null; if (!isAI) { localTeam = CombatFlow.convertNumToTeam((short)teamNum); spawnUIPanel.SetActive(false); } Debug.Log("Spawning player on team: " + teamNum + ", isAI: " + isAI); // call almost all of this at runtime after player selects team if (playerPrefab == null) { Debug.LogError("<Color=Red><a>Missing</a></Color> playerPrefab Reference. Please set it up in GameObject 'Game Manager'", this); } else { Debug.LogFormat("We are Instantiating LocalPlayer from {0}", Application.loadedLevelName); // we're in a room. spawn a character for the local player. it gets synced by using PhotonNetwork.Instantiate Debug.Log("LocalPlayerInstance: " + TeamSpawner.localPlayerInstance); if (TeamSpawner.localPlayerInstance == null || isAI) { //PhotonNetwork.Instantiate(this.playerPrefab.name, spawnPoint.position, Quaternion.identity, 0); TeamSpawner spawner = getSpawnerByNum(teamNum); GameObject playerObj; if (isAI) { playerObj = spawner.spawnPlayer(playerPrefab, "Jeff", false); Debug.Log("Spawning AI"); spawner.setPlayerAsAI(playerObj); //playerObj.name = "Jeff"; } else { playerObj = spawner.spawnPlayer(playerPrefab, PhotonNetwork.NickName); spawner.setPlayerAsControllable(playerObj); localPlayer = playerObj; playerObj.name = PhotonNetwork.NickName; playerSpawnEvent.Invoke(); } newSpawn = playerObj.GetComponent <CombatFlow>(); //spawner.setPlayerAsControllable(playerObj); //localPlayer = playerObj; } } return(newSpawn); }
public List <LaneManager> getTeamLanes(CombatFlow.Team team) { if (team == CombatFlow.Team.TEAM1) { return(team1Lanes); } else { return(team2Lanes); } }
// Start is called before the first frame update void Start() { myFlow = transform.root.gameObject.GetComponent <CombatFlow>(); if (myFlow != null) { team = myFlow.team; } else { //Debug.Log("Unable to find combatFlow for: " + gameObject.name); } }
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); }
private TeamSpawner getSpawnerByTeam(CombatFlow.Team team) { TeamSpawner returnObj = null; for (int i = 0; i < teamSpawnerCollections.Length; i++) { TeamSpawner current = teamSpawnerCollections[i].GetComponent <TeamSpawner>(); if (current.team == team) { returnObj = current; } } return(returnObj); }
private bool checkSpawnContainer(List <AI_GroundAttack> listAI, CombatFlow.Team team) { bool didSpawn = false; for (int i = 0; i < listAI.Count && !didSpawn; i++) { if (listAI[i] == null) { didSpawn = true; listAI[i] = doSpawn(); } } return(didSpawn); }
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 void rpcCreateExplosionAt(Vector3 position, float setRadius, float setCoreDamage, bool doCollide, float dissipationTime, Color glowColor, bool doEmitLight, Color newSmokeColor, float newExpandTime, short newTeamNum, bool newDamageProjectiles, bool newFriendlyFire, float newExplosiveForce) { GameObject newExplosion = GameObject.Instantiate(explodePrefab); newExplosion.transform.position = position; Explosion newExplosionScript = newExplosion.GetComponent <Explosion>(); //newExplosionScript.localOwned = localOwned; CombatFlow.Team newTeam = CombatFlow.convertNumToTeam(newTeamNum); // smoke settings newExplosionScript.emissionColor = glowColor; newExplosionScript.smokeColor = newSmokeColor; //mat.SetColor("_EmissionColor", Color.yellow); newExplosionScript.radius = setRadius; newExplosionScript.coreDamage = setCoreDamage; newExplosionScript.doExplode = true; newExplosionScript.fadeOutTime = dissipationTime; newExplosionScript.GetComponent <Collider>().enabled = doCollide; newExplosionScript.expandTime = newExpandTime; newExplosionScript.team = newTeam; newExplosionScript.damageProjectiles = newDamageProjectiles; newExplosionScript.friendlyFire = newFriendlyFire; newExplosionScript.explosiveForce = newExplosiveForce; // light settings Light light = newExplosionScript.GetComponent <Light>(); light.enabled = doEmitLight; if (doEmitLight) { light.color = glowColor; light.range = newExplosionScript.radius * newExplosionScript.lightRangeScaleFactor; } }
public void setShellTeam(CombatFlow.Team team) { //shellSettings shellSettings.GetComponent <ExplodeStats>().team = team; }
public List <CombatFlow> getTeamAircraftList(CombatFlow.Team team) { return(getTeamAircraftList(CombatFlow.convertTeamToNum(team))); }