Exemple #1
0
        private static bool InTrigger(Frame f, TriggerSphere region)
        {
            Player  clientPlayer = f.GetPlayer(f.client_name);
            Vector3 pos          = clientPlayer.head.Position;

                        #if DEBUG
            if (clientPlayer.team_color == Team.TeamColor.spectator)
            {
                (pos, _) = f.GetCameraTransform();
            }
                        #endif


            (pos.X, pos.Z) = (pos.Z, pos.X);

            float distance = Vector3.Distance(region.position, pos);
            return(distance < region.radius / 2f);
        }
        private void ReferencesEqualityTest()
        {
            Debug.Log(LogLevel.Display, "Starting " + MethodBase.GetCurrentMethod().Name + "...");

            TriggerBox     actorLeft           = new TriggerBox();
            TriggerSphere  actorRight          = new TriggerSphere();
            SceneComponent sceneComponentLeft  = new SceneComponent(actorLeft);
            SceneComponent sceneComponentRight = new SceneComponent(actorRight);

            if (sceneComponentLeft.Equals(sceneComponentRight) || !sceneComponentLeft.Equals(sceneComponentLeft))
            {
                Debug.Log(LogLevel.Error, "Scene components equality check failed!");

                return;
            }

            if (actorLeft.Equals(sceneComponentRight.GetActor <TriggerSphere>()) || !actorLeft.Equals(sceneComponentLeft.GetActor <TriggerBox>()))
            {
                Debug.Log(LogLevel.Error, "Scene components owners equality check failed!");

                return;
            }

            sceneComponentLeft.Destroy();

            if (sceneComponentRight.Equals(sceneComponentLeft))
            {
                Debug.Log(LogLevel.Error, "Scene components equality check after destruction failed!");

                return;
            }

            sceneComponentRight.Destroy();

            if (sceneComponentRight.Equals(sceneComponentRight))
            {
                Debug.Log(LogLevel.Error, "Scene components equality check with null failed!");

                return;
            }

            if (actorLeft.Equals(actorRight) || !actorLeft.Equals(actorLeft))
            {
                Debug.Log(LogLevel.Error, "Actors equality check failed!");

                return;
            }

            actorLeft.Destroy();

            if (actorRight.Equals(actorLeft))
            {
                Debug.Log(LogLevel.Error, "Actors equality check after destruction failed!");

                return;
            }

            actorRight.Destroy();

            if (actorRight.Equals(actorRight))
            {
                Debug.Log(LogLevel.Error, "Actors equality check with null failed!");

                return;
            }

            Debug.Log(LogLevel.Display, "Test passed successfully");
        }