public void BallGoalCollision(GameObject ball, ETeam team, int points) { if (gameMode == EMode.Soccer && GameRunning) { onGoal.Raise(); if (lightsController != null) { ETeam t = team == ETeam.RedTeam ? ETeam.BlueTeam : ETeam.RedTeam; lightsController.HitTheTeamLights(t, 3); } if (!modeManager.UpdateScore(team, points)) { Ball ballScpt = ball.GetComponent <Ball>(); ballScpt.OnBallGoalCollision(); ball.SetActive(false); RespawnBall(ball); NoWaitRespawnAllPlayers(); StartCoroutine(ResetTeamScale(ETeam.RedTeam, 0.0f)); StartCoroutine(ResetTeamScale(ETeam.BlueTeam, 0.0f)); } else { StopCoroutine("StartGameTimer"); gameData.SetGameWinner(GetOpposingTeam(team)); DeactivatePlayersAndGoals(); lightsController.HitAllTheLightsAsTeam(modeManager.GetMaxScore(), 10); StartCoroutine("DelayedWinScreen"); } } }
public void SetSkillButtons(ETeam team) { if (enabledSkillButtons.Length != Constants.maxSkillNum) { Debug.LogError("Number of skill buttons must be same with the maximum number of usable skill in a game."); return; } SkillDataSet skillDataSet; if (team == ETeam.Thief) { skillDataSet = thiefSkillDataSet; } else { skillDataSet = detectiveSkillDataSet; } defaultSkillButton.Init(skillDataSet.DefaultSkill); for (int i = 0; i < enabledSkillButtons.Length; i++) { //Get saved skill code int selectedSkillIdx = PlayerPrefs.GetInt(MultiplayRoomManager.Instance.MyTeam + " Skill " + i); SkillData selectedSkillData = skillDataSet.Get(selectedSkillIdx); enabledSkillButtons[i].Init(selectedSkillData); } }
///////////////////////////////////////////////////////////////////////////// /// Function: GetEnemyPlayers ///////////////////////////////////////////////////////////////////////////// protected List <GameObject> GetEnemyPlayers(ETeam eMyTeam) { List <PlayerController> liControllers = PlayerController.PlayerControllers; List <GameObject> liEnemyPlayers = new List <GameObject>(); foreach (PlayerController cPlayerController in liControllers) { switch (eMyTeam) { case ETeam.TEAM_BLUE: if (cPlayerController.gameObject.name == Names.NAME_PLAYER_RED_DRONE + "(Clone)") { liEnemyPlayers.Add(cPlayerController.gameObject); } break; case ETeam.TEAM_RED: if (cPlayerController.gameObject.name == Names.NAME_PLAYER_BLUE_DRONE + "(Clone)") { liEnemyPlayers.Add(cPlayerController.gameObject); } break; } } return(liEnemyPlayers); }
public bool HandleHit(ETeam ballTeam) { if (ballTeam == TeamUtils.GetOppositeTeam(team)) { if (GameManager.Instance.rules.hitsToDestroyTiles > 0) { hit++; if (hit >= GameManager.Instance.rules.hitsToDestroyTiles) { if (GameManager.Instance.rules.scoreIfDestroyTile) { GameManager.Instance.IncrementScore(ballTeam); } DisableTile(); } else { renderer.material = hitMaterial; } } else if (GameManager.Instance.rules.scoreIfDestroyTile) { GameManager.Instance.IncrementScore(ballTeam); } return(true); } else //Ball hit tile of same team { return(false); //Start glow effect } }
private GUIButton ShowTeam(Vector2 offSet, ETeam team) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer("SlotNameBar"); Texture2D texture1 = SpriteContainer.Instance.Sprite["SlotNameBar"]; Texture2D texture2 = SpriteContainer.Instance.Sprite["SlotNameBar"]; GUIButton btn = new GUIButton(sr, texture1, texture2, Color.White, Color.YellowGreen); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIButton>(btn); float newScale = SpriteContainer.Instance.NormalFont.MeasureString(team.ToString()).X / texture1.Width; Vector2 scale = new Vector2(newScale, 0.6f); sr.LayerDepth = 0.03f; sr.SetOrigin(EOriginPosition.TopLeft); go.MyParent = actionBarFactionAndTeam; go.Transform.Scale = new Vector2(0.5f, 0.5f) * GraphicsSetting.Instance.ScreenScale * scale; go.Transform.Position = go.MyParent.Transform.Position + new Vector2(offSet.X * GraphicsSetting.Instance.ScreenScale.X, -go.MyParent.GetComponent <CSpriteRenderer>().Sprite.Height *go.MyParent.Transform.Scale.Y + (offSet.Y * GraphicsSetting.Instance.ScreenScale.Y)); TextToSlotBar(team.ToString(), new Vector2(sr.Sprite.Width, sr.Sprite.Height) * go.Transform.Scale, go, EOriginPosition.Mid, new Vector2(0, 0)); myScene.Instantiate(go); btn.OnClick += () => { placeTile.Team = team; placeTile.GameObjectTileMouse.IsActive = false; ResetColorOnTeam(btn); }; return(btn); }
public void PlayerPowerUpCollision(GameObject player, PowerUp powerUp) { PlayerController playerController; // If player is not cached, cache them if (!playerDictionary.TryGetValue(player, out playerController)) { playerController = player.GetComponent <PlayerController>(); playerDictionary.Add(player, playerController); } if (playerController.GetCurrentPowerUp() != EPowerUp.None) { playerController.RemovePowerUp(); } EPowerUp powerUpType = powerUp.GetPowerUpType(); Color powerUpShieldColor = powerUpManager.GetPowerUpShieldColor(powerUpType); playerController.ReceivePowerUp(powerUpType, powerUpShieldColor); if (powerUpType == EPowerUp.CircleShield) //need to have a list of powerups that reference a secondary shield { playerController.EnableSecondaryShield(true); } else if (powerUpType == EPowerUp.Multiball) { multiBallInPlay = true; } else if (powerUpType == EPowerUp.Shrink) { ETeam team = playerController.GetTeamNumber(); ETeam opTeam = GetOpposingTeam(team); ShrinkTeam(opTeam); playerController.RemovePowerUp(); } }
private void Awake() { if (playerNumberTag) { playerNumberTag.text = playerNumber.ToString(); } //powerupParticle.Stop(); isFrozen = false; isShrunken = false; thrusterSpeed = defaultThrusterSpeed; defaultMass = rigid.mass; killList = new List <PlayerController>(); rigid.gravityScale = 0; rightStickHorz = 1; rightStickVert = 0; shield = GetComponentInChildren <Shield>(); animator = transform.GetComponentInChildren <Animator>(); team = gameData.GetPlayerTeam(playerNumber - 1); chosenCharacter = gameData.GetPlayerCharacter(playerNumber - 1); shield.SetTeamColor(team); acceptingInput = true; dashController = GetComponent <PlayerDashController>(); if (gameManagerInstance != null || GameManager.TryGetInstance(out gameManagerInstance)) { gameManagerInstance.LoadPlayer(this, playerNumber); } }
public Player(int _id, string _username, ETeam _teamId) { id = _id; username = _username; teamId = _teamId; gameObj = null; }
public override void OnPhotonCustomRoomPropertiesChanged(Hashtable propertiesThatChanged) { if (GameState == EGameState.None && propertiesThatChanged[teamSettingEndKey] != null) { GameState = EGameState.Team_Set; InitializeGame(); return; } if (GameState == EGameState.Team_Set && propertiesThatChanged[initializedKey] != null) { GameState = EGameState.Initialized; GenLocalPlayerAndReady(); return; } if (GameState == EGameState.Ready && propertiesThatChanged[startTimeKey] != null) { prepareStartTimestamp = (int)propertiesThatChanged[startTimeKey]; if (PhotonNetwork.ServerTimestamp - prepareStartTimestamp < 0) { GameState = EGameState.ReadyChecked; PhotonExtends.SetLocalPlayerProp(playerReadyKey, true); } } //When Game set key is set by the master client, let the game be end. if (propertiesThatChanged[gameSetKey] != null) { PhotonNetwork.automaticallySyncScene = false; GameState = EGameState.Game_Set; ETeam winTeam = (ETeam)propertiesThatChanged[winTeamKey]; if (winTeam == myTeam) { uiManager.SetWinPanel(); } else { uiManager.SetLosePanel(); } StartCoroutine("LoadRecordScene"); foreach (PhotonPlayer player in PhotonNetwork.playerList) { Debug.Log("Player " + player.NickName + "\'s Record"); if (player.CustomProperties[playerRecordsNumKey] != null) { int recordsNum = (int)player.CustomProperties[playerRecordsNumKey]; for (int i = 0; i < recordsNum; i++) { int record = (int)player.CustomProperties[playerRecordsKey + i]; Debug.Log(record); } } } } }
public Player(int _id, string _username, ETeam _teamId) { id = _id; username = _username; teamId = _teamId; character = null; }
public void Touchdown(ETeam team) { if (m_scoredThisTurn) { return; } m_scoredThisTurn = true; if (team == ETeam.Green) { m_greenScore++; } else { m_redScore++; } if (m_greenScore >= m_scoreToWin || m_redScore >= m_scoreToWin) { EndGame(); } else { m_bluePlayerScorePanel.GetComponent <Animator>().SetTrigger("ScoreLeft"); m_redPlayerScorePanel.GetComponent <Animator>().SetTrigger("ScoreRight"); StartCoroutine(UpdateScoreUI(team)); } }
public BuildingStateData(int _id, EBuildingType _type, ETeam _teamId, Vector2 _position, int _hp) { id = _id; type = _type; teamId = _teamId; position = _position; hp = _hp; }
public int CountInTeamPlaying(ETeam team) { var res = from plr in _players.Values where plr.Team == team && (plr.State == EPlayerState.Alive || plr.State == EPlayerState.Dead || plr.State == EPlayerState.Waiting) select plr; return(res.Count()); }
public BuildingStateData(Packet _packet) { id = _packet.ReadInt(); type = (EBuildingType)_packet.ReadInt(); position = _packet.ReadVector2(); teamId = (ETeam)_packet.ReadInt(); hp = _packet.ReadInt(); }
public Tank GetTank(ETeam t) { if (m_Tanks.Count <= (int)t) { return(null); } return(m_Tanks[(int)t]); }
public int CountInTeamReady(ETeam team) { var res = from plr in _players.Values where plr.Team == team && (plr.IsReady || MasterID == plr.AccountID) && plr.GameMode != EPlayerGameMode.Spectate select plr; return(res.Count()); }
public Team Create(int createdBy, Team team) { ETeam eTeam = ETeam(team); eTeam.CreatedDate = DateTime.Now; eTeam.CreatedBy = createdBy; eTeam = _iDTeam.Create(eTeam); return(Team(eTeam)); }
private void InitializeGame() { //Initilaize team information and instantiate the local player. myTeam = (ETeam)PhotonNetwork.player.CustomProperties[TeamKey]; //Set UI Informations and deactive the interactive UI before game start). uiManager.SetTeamLabel(myTeam); uiManager.SetSkillButtons(myTeam); uiManager.RenewThievesNum(thievesNum); uiManager.DeactivateUIGroup(); detectivePlayers = new List <PhotonPlayer>(); thiefPlayers = new List <PhotonPlayer>(); foreach (PhotonPlayer player in PhotonNetwork.playerList) { ETeam teamOfPlayer = (ETeam)player.CustomProperties[TeamKey]; if (teamOfPlayer == ETeam.Detective) { detectivePlayers.Add(player); } else if (teamOfPlayer == ETeam.Thief) { thiefPlayers.Add(player); } } // Set master client priority masterPriority = new List <int>(); foreach (PhotonPlayer thiefPlayer in thiefPlayers) { masterPriority.Add(thiefPlayer.ID); } masterPriority.Sort(); List <int> detectivePriority = new List <int>(); foreach (PhotonPlayer detectivePlayer in thiefPlayers) { detectivePriority.Add(detectivePlayer.ID); } detectivePriority.Sort(); masterPriority.AddRange(detectivePriority); // Initilize other local conditions ItemController.ResetItemList(); PutItemPoint.ResetActivatedPointList(); DetectiveController.ResetPlayerInstances(); // Game initiation by the master client. if (PhotonNetwork.isMasterClient) { // Set generation points of players and generate scene objects. SetGenPointAndGenSceneObj(); } }
public Tank GetOppositeTank(ETeam myTeam) { ETeam oppTeam = myTeam == ETeam.A ? ETeam.B : ETeam.A; if (m_Tanks.Count <= (int)oppTeam) { return(null); } return(m_Tanks[(int)oppTeam]); }
public Dictionary <int, Missile> GetOppositeMissiles(ETeam myTeam) { ETeam oppTeam = myTeam == ETeam.A ? ETeam.B : ETeam.A; if (m_Missiles.Count <= (int)oppTeam) { return(null); } return(m_Missiles[(int)oppTeam]); }
public void onPlayerJoin(int _id, string _username, ETeam _teamId) { if (!players.ContainsKey(_id)) { Debug.Log("Player " + _username + " (" + _id + ") joined the game."); Debug.Log("Player " + _username + "(" + _id + ") joined team " + TeamManager.getTeam(_teamId).getTeamName() + "."); players.Add(_id, new Player(_id, _username, _teamId)); } }
public void Initialize(MobaEntity attacker, MobaEntity target, Ability ability, OnProjectileExpended expendedCallback = null) { m_expended = false; m_attacker = attacker; m_target = target; m_targetTransform = target.GetTransformPosition(EEntityTransform.Center); m_ability = ability; onProjectileExpended = expendedCallback; m_targetTeam = m_attacker.GetAbilityTargetTeam(m_ability.AbilityBase.Allegiance); OnStart(); }
public void Initialize(MobaEntity attacker, Vector3 targetPos, Ability ability, OnProjectileExpended expendedCallback = null) { m_expended = false; m_attacker = attacker; m_targetPos = targetPos; m_ability = ability; onProjectileExpended = expendedCallback; m_targetTeam = m_attacker.GetAbilityTargetTeam(m_ability.AbilityBase.Allegiance); OnStart(); }
public CharacterStateData(int _id, int _playerId, ECharacterType _type, ETeam _teamId, Vector2 _position, EObjectDirection _direction, int _hp, int _speed) { id = _id; playerId = _playerId; type = _type; teamId = _teamId; position = _position; direction = _direction; hp = _hp; speed = _speed; }
public CharacterStateData(Packet _packet) { id = _packet.ReadInt(); playerId = _packet.ReadInt(); type = (ECharacterType)_packet.ReadInt(); position = _packet.ReadVector2(); direction = (EObjectDirection)_packet.ReadInt(); teamId = (ETeam)_packet.ReadInt(); hp = _packet.ReadInt(); speed = _packet.ReadInt(); }
public static Missile GetLatestMissile(Dictionary <int, Missile> missiles, ETeam team) { int missileId = int.MaxValue; foreach (var missile in missiles) { if (missile.Key < missileId) { missileId = missile.Key; } } return(Match.instance.GetOppositeMissiles(team)[missileId]); }
private IEnumerator HitTheTeamLightsCoroutine(ETeam t, int repeats) { while (repeats > 0) { List <Neon> teamLights = t == ETeam.RedTeam ? redLights : blueLights; foreach (Neon light in teamLights) { light.Flash(); } repeats--; yield return(new WaitForSeconds(0.25f)); } }
public static Color getColor(int playerNum, ETeam team) { /* switch (team) * { * case ETeam.RedTeam: * return playerNum % 2 == 0 ? redTeamPlayer1 : redTeamPlayer2; * case ETeam.BlueTeam: * return playerNum % 2 == 0 ? blueTeamPlayer1 : blueTeamPlayer2; * default: * return Color.white; * }*/ return(Color.white); }
private void FindStar(ETeam et) { superStar = false; bool hasStar = false; float nearestDist = float.MaxValue; Vector3 nearestStarPos = Vector3.zero; foreach (var pair in Match.instance.GetStars()) { Star s = pair.Value; if (s.IsSuperStar) { superStar = true; hasStar = true; nearestStarPos = s.Position; break; } else { float dist = (s.Position - Position).sqrMagnitude; if (dist < nearestDist) { hasStar = true; nearestDist = dist; nearestStarPos = s.Position; } } } if (hasStar == true) { if (!superStar && home && nearestDist > (transform.position - Match.instance.GetRebornPos(Team)).sqrMagnitude) { Move(Match.instance.GetRebornPos(Team)); } else { Move(nearestStarPos); } } else { Move(Match.instance.GetRebornPos(et)); if (Time.time > m_LastTime) { if (ApproachNextDestination()) { m_LastTime = Time.time + Random.Range(3, 8); } } } }
private ETeam GetOpposingTeam(ETeam team) { ETeam opTeam; if (team == ETeam.BlueTeam) { opTeam = ETeam.RedTeam; } else { opTeam = ETeam.BlueTeam; } return(opTeam); }
public int CountInTeamPlaying(ETeam team) { var res = from plr in _players.Values where plr.Team == team && (plr.State == EPlayerState.Alive || plr.State == EPlayerState.Dead || plr.State == EPlayerState.Waiting) select plr; return res.Count(); }
public int CountInTeamReady(ETeam team) { var res = from plr in _players.Values where plr.Team == team && (plr.IsReady || MasterID == plr.AccountID) && plr.GameMode != EPlayerGameMode.Spectate select plr; return res.Count(); }
public int CountInTeam(ETeam team, EPlayerGameMode gameMode = EPlayerGameMode.Normal) { var res = _players.Values.Where(plr => plr.Team == team && plr.GameMode == gameMode); return res.Count(); }