Пример #1
0
 protected void OnDroppedFlag(Flag flag, FlagCarrier flagCarrier)
 {
     if (flag != null && flag.entity != null && flag.entity.isAttached && flag.entity.isOwner)
     {
         if (flag == flagTeam1)
         {
             if (flagCarrier != null && flagCarrier.Robot != null)
             {
                 string message = PlayerManager.Instance.PlayerFromGuid(flagCarrier.Robot.PlayerGuid).displayName + " has dropped " + gameState.team1Name + "'s flag.";
                 SendEventHandler.SendToastMessageEvent(message, 2, "FlagDropped");
             }
             else
             {
                 string message = GameState.Instance.state.Team1Name + "'s Flag has been Dropped";
                 SendEventHandler.SendToastMessageEvent(message, 2, "FlagDropped");
             }
         }
         else if (flag == flagTeam2)
         {
             if (flagCarrier != null && flagCarrier.Robot != null)
             {
                 string message = PlayerManager.Instance.PlayerFromGuid(flagCarrier.Robot.PlayerGuid).displayName + " has dropped " + gameState.team2Name + "'s flag.";
                 SendEventHandler.SendToastMessageEvent(message, 1, "FlagDropped");
             }
             else
             {
                 string message = GameState.Instance.state.Team2Name + "'s Flag has been Dropped";
                 SendEventHandler.SendToastMessageEvent(message, 1, "FlagDropped");
             }
         }
     }
 }
        protected override IEnumerator AbilityRoutine(Vector3 inputVec, RobotMotor robotMotor)
        {
            float triggerTime      = BoltNetwork.serverTime;
            float distanceToGround = 10;

            RaycastHit hit;

            while (BoltNetwork.serverTime <= triggerTime + 0.50f)
            {
                if (Physics.Raycast(transform.position + Vector3.up, Vector3.down, out hit, 10))
                {
                    distanceToGround = hit.distance - 1.05f;
                }

                distanceToGround = Mathf.Clamp(distanceToGround, 0, 10);

                if (distanceToGround <= 0.75f || robotMotor._IsGrounded || robotMotor._MotorState.timeSinceLastJumpableNormal < 0.256f)
                {
                    abilityVec = ForceVec(inputVec, robotMotor);
                    robotMotor.ConsumeAbility();

                    SendEventHandler.SendPlaySoundEvent("VelocityRedirect", true, transform.position);
                    break;
                }

                yield return(new WaitForFixedUpdate());
            }

            yield return(new WaitForFixedUpdate());

            abilityVec = Vector3.zero;
        }
Пример #3
0
        protected void ReturnFlagHome(Flag flag, bool silent)
        {
            if (flag != null && flag.entity != null && flag.entity.isAttached && flag.entity.isOwner)
            {
                flag.isHome  = true;
                flag.carrier = null;

                if (flag.teamID == 1)
                {
                    flag.transform.position = flagSpawnPointTeam1.transform.position;
                    flag.transform.rotation = flagSpawnPointTeam1.transform.rotation;

                    if (silent == false)
                    {
                        string message = GameState.Instance.state.Team1Name + "'s Flag has been returned to the flag stand.";
                        SendEventHandler.SendToastMessageEvent(message, 1, "FlagReturn");
                    }
                }
                else if (flag.teamID == 2)
                {
                    flag.transform.position = flagSpawnPointTeam2.transform.position;
                    flag.transform.rotation = flagSpawnPointTeam2.transform.rotation;

                    if (silent == false)
                    {
                        string message = GameState.Instance.state.Team2Name + "'s Flag has been returned to the flag stand.";
                        SendEventHandler.SendToastMessageEvent(message, 2, "FlagReturn");
                    }
                }
            }
        }
        private static void SendKillMessage(DamageInfo damageInfo)
        {
            Player sourcePlayer      = PlayerManager.Instance.PlayerFromGuid(damageInfo.damageSource);
            Player destinationPlayer = PlayerManager.Instance.PlayerFromGuid(damageInfo.damageDestination);

            if (destinationPlayer != null)
            {
                string message = null;

                if (sourcePlayer == destinationPlayer)
                {
                    //Killed Self
                    message = sourcePlayer.displayName + " /wrist";
                }
                else if (sourcePlayer == null)
                {
                    //From Server
                    message = sourcePlayer.displayName + " died.";
                }
                else if (sourcePlayer != null)
                {
                    //From another Player
                    message = sourcePlayer.displayName + " killed " + destinationPlayer.displayName;
                }

                if (message != null)
                {
                    SendEventHandler.SendToastMessageEvent(message, 0, null);
                }
            }
        }
Пример #5
0
        protected virtual void TrySpawnPlayer(Player player, bool immediate)
        {
            if (gameState.currentRoundStarted == true && gameState.currentRoundEnded == false)
            {
                if (player != null && player.teamId > 0 && playersAwaitingRespawn.ContainsKey(player))
                {
                    if (immediate || playersAwaitingRespawn[player] <= DateTime.Now)
                    {
                        SpawnPoint spawnPoint = Utils.RandomSpawnPoint(player.teamId);

                        if (spawnPoint != null)
                        {
                            Vector3    spawnPosition = spawnPoint.transform.position;
                            Quaternion spawnRotation = spawnPoint.transform.rotation;

                            //Sometimes mappers can be sloppy and put the spawnpoint slightly under the ground so...
                            //Do a RayCast 1 unit above the spawnpoint downwards, if we hit anything, move the spawnposition up 1 unit.
                            RaycastHit hit;

                            if (Physics.SphereCast(spawnPoint.transform.position + Vector3.up, 0.55f, -spawnPoint.transform.up, out hit, 1f))
                            {
                                spawnPosition += Vector3.up;
                            }

                            Utils.SpawnPlayerAtPosition(player, spawnPosition, spawnRotation);

                            playersAwaitingRespawn.Remove(player);
                            SendEventHandler.SendPlayerRespawnEvent(player.guid);
                        }
                    }
                }
            }
        }
Пример #6
0
        protected override IEnumerator AbilityRoutine(Vector3 inputVec, RobotMotor robotMotor)
        {
            abilityVec = transform.forward * 24.0f;
            //abilityVec = robotMotor._MotorState.velocity * 0.66f;

            robotMotor.ConsumeAbility();
            SendEventHandler.SendPlaySoundEvent("Boost", true, transform.position);

            yield return(new WaitForFixedUpdate());

            abilityVec = Vector3.zero;
        }
Пример #7
0
        protected virtual void SendCountdownMessage(int timeRemaining)
        {
            string message = timeRemaining + " Seconds until round begins.";

            if (timeRemaining <= 0)
            {
                message = "Round Has Begun";
            }

            SendEventHandler.SendToastMessageEvent(message, 0, null);
            //SendEventHandler.SendChatMessageEvent(System.Guid.Empty, "<color=#FF0066FF>" + message + "</color>", false, 0, null);
        }
        public static void OnDamage(DamageInfo damageInfo)
        {
            if (damageInfo != null)
            {
                SendEventHandler.SendDamageInfoEvent(damageInfo);

                if (damageInfo.didResultInKill == true)
                {
                    SendKillMessage(damageInfo);
                    EventCallBacks.OnPlayerDeathCallBack(damageInfo.damageDestination);
                }
            }
        }
Пример #9
0
        protected virtual void AddPlayerToSpawnQueue(Player player)
        {
            if (player != null && player.teamId != 0)
            {
                if (playersAwaitingRespawn.ContainsKey(player))
                {
                    playersAwaitingRespawn.Remove(player);
                }

                playersAwaitingRespawn.Add(player, DateTime.Now.AddSeconds(3.0f));
                SendEventHandler.SendPlayerRespawnAvailableEvent(player.guid, 3.0f, 3.0f);
            }
        }
Пример #10
0
        private void OnDroppedFlag(Flag flag, FlagCarrier flagCarrier)
        {
            if (flag != null && flag.entity != null && flag.entity.isAttached && flag.entity.isOwner)
            {
                if (flag == this.flag)
                {
                    this.flagCarrier = null;
                    flagHeldTime     = 0;

                    if (flagCarrier != null && flagCarrier.Robot != null)
                    {
                        PlayerManager.Instance.SetPlayerTeam(flagCarrier.Robot.PlayerGuid, 2);

                        string message = PlayerManager.Instance.PlayerFromGuid(flagCarrier.Robot.PlayerGuid).displayName + " dropped the flag and is no longer the Rabbit.";
                        SendEventHandler.SendToastMessageEvent(message, 1, "FlagDropped");
                    }
                }
            }
        }
Пример #11
0
        protected virtual void EndRound()
        {
            SendEventHandler.SendEndOfRoundEvent();
            SendEventHandler.SendToastMessageEvent("Round Has Ended", 0, null);
            //SendEventHandler.SendChatMessageEvent(System.Guid.Empty, "<color=#FF0066FF>" + "Round Has Ended" + "</color>", false, 0, null);

            Player        player;
            PlayerManager playerManager = PlayerManager.Instance;

            for (int i = 0; i < playerManager.Players.Count; i++)
            {
                player = playerManager.Players[i];

                if (player != null && player.entity != null && player.entity.isAttached && player.entity.isOwner)
                {
                    playerManager.DestroyPlayerControlledEntities(player);
                }
            }
        }
Пример #12
0
        private void ReturnFlagHome(Flag flag, bool silent)
        {
            if (flag != null && flag.entity != null && flag.entity.isAttached && flag.entity.isOwner)
            {
                flag.isHome             = true;
                flag.carrier            = null;
                flag.transform.position = flagSpawnPoint.transform.position;
                flag.transform.rotation = flagSpawnPoint.transform.rotation;

                flagCarrier  = null;
                flagHeldTime = 0;

                if (silent == false)
                {
                    string message = "The Flag has been returned to the flag stand.";
                    SendEventHandler.SendToastMessageEvent(message, 1, "FlagReturn");
                }
            }
        }
Пример #13
0
        private void FlagTaken(Flag flag, FlagCarrier flagCarrier)
        {
            if (flag != null && flag.entity != null && flag.entity.isAttached && flag.entity.isOwner)
            {
                flag.isHome  = false;
                flag.carrier = flagCarrier.Robot.entity;

                flagHeldTime     = 0;
                this.flagCarrier = flagCarrier;

                if (flagCarrier != null && flagCarrier.Robot != null)
                {
                    PlayerManager.Instance.SetPlayerTeam(flagCarrier.Robot.PlayerGuid, 1);

                    string message = PlayerManager.Instance.PlayerFromGuid(flagCarrier.Robot.PlayerGuid).displayName + " has taken the flag and is now the Rabbit.";
                    SendEventHandler.SendToastMessageEvent(message, 2, "FlagTaken");
                }

                flagCarrier.OnGrabFlag(flag);
            }
        }
Пример #14
0
        protected void CaptureFlag(Flag flag, FlagCarrier flagCarrier)
        {
            if (flag != null && flag.entity != null && flag.entity.isAttached && flag.entity.isOwner)
            {
                if (flagCarrier != null && flagCarrier.Robot != null)
                {
                    if (flag.teamID == 1)
                    {
                        GameState.Instance.team2Score++;
                        string message = PlayerManager.Instance.PlayerFromGuid(flagCarrier.Robot.PlayerGuid).displayName + " has captured " + gameState.team1Name + "'s flag.";
                        SendEventHandler.SendToastMessageEvent(message, 2, "FlagCapture");
                    }
                    else if (flag.teamID == 2)
                    {
                        GameState.Instance.team1Score++;
                        string message = PlayerManager.Instance.PlayerFromGuid(flagCarrier.Robot.PlayerGuid).displayName + " has captured " + gameState.team2Name + "'s flag.";
                        SendEventHandler.SendToastMessageEvent(message, 1, "FlagCapture");
                    }

                    flagCarrier.OnCaptureFlag(flag);
                }
            }
        }
Пример #15
0
        protected void FlagTaken(Flag flag, FlagCarrier flagCarrier)
        {
            if (flag != null && flag.entity != null && flag.entity.isAttached && flag.entity.isOwner)
            {
                flag.isHome  = false;
                flag.carrier = flagCarrier.Robot.entity;

                if (flagCarrier != null && flagCarrier.Robot != null)
                {
                    if (flag.teamID == 1)
                    {
                        string message = PlayerManager.Instance.PlayerFromGuid(flagCarrier.Robot.PlayerGuid).displayName + " has taken " + gameState.team1Name + "'s flag!";
                        SendEventHandler.SendToastMessageEvent(message, 2, "FlagTaken");
                    }
                    else if (flag.teamID == 2)
                    {
                        string message = PlayerManager.Instance.PlayerFromGuid(flagCarrier.Robot.PlayerGuid).displayName + " has taken " + gameState.team2Name + "'s flag!";
                        SendEventHandler.SendToastMessageEvent(message, 1, "FlagTaken");
                    }
                }

                flagCarrier.OnGrabFlag(flag);
            }
        }
Пример #16
0
        public void SendAgreement(Agreement agreement)
        {
            var exchangeConfig = new Tuple <string, string>("agreements", "addAgreement");

            SendEventHandler.SendEvent(agreement, _rabbitMqOptions, exchangeConfig);
        }
Пример #17
0
        public void SendMembership(Membership membership)
        {
            var exchangeConfig = new Tuple <string, string>("memberships", "addMembership");

            SendEventHandler.SendEvent(membership, _rabbitMqOptions, exchangeConfig);
        }
        public void AddReservation(Reservation reservation)
        {
            var exchangeConfig = new Tuple <string, string>("classes", "signUpForClass");

            SendEventHandler.SendEvent(reservation, _rabbitMqOptions, exchangeConfig);
        }
        public void DeleteReservation(int reservationId)
        {
            var exchangeConfig = new Tuple <string, string>("classes", "signOutOfClass");

            SendEventHandler.SendEvent(reservationId, _rabbitMqOptions, exchangeConfig);
        }
        public void DeleteMember(int memberId)
        {
            var exchangeConfig = new Tuple <string, string>("members", "deleteMember");

            SendEventHandler.SendEvent(memberId, _rabbitMqOptions, exchangeConfig);
        }
        public void EditMember(Member member)
        {
            var exchangeConfig = new Tuple <string, string>("members", "editMember");

            SendEventHandler.SendEvent(member, _rabbitMqOptions, exchangeConfig);
        }