Пример #1
0
        public static void Main()
        {
            var lines = int.Parse(Console.ReadLine());
            var team  = new global::Team("My Team");

            for (int i = 0; i < lines; i++)
            {
                try
                {
                    var cmdArgs = Console.ReadLine().Split();

                    var person = new Person(cmdArgs[0],
                                            cmdArgs[1],
                                            int.Parse(cmdArgs[2]),
                                            double.Parse(cmdArgs[3]));

                    team.AddPlayer(person);
                }
                catch (ArgumentException ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            team.Print();
        }
        public static IEnumerator <float> ServerThrowGrenadeOverride(GrenadeManager __instance, GrenadeSettings settings, float forceMultiplier, int itemIndex, float delay, bool cancelled)
        {
            if (cancelled)
            {
                yield break;
            }

            if (itemIndex < 0 || itemIndex >= __instance.hub.inventory.items.Count)
            {
                yield break;
            }
            __instance.hub.weaponManager.scp268.ServerDisable();
            float networkDelay = Mathf.Max(delay - __instance.velocityAuditPeriod, 0f);

            if (networkDelay > 0f)
            {
                ushort i = 0;
                while ((float)i < 50f * networkDelay)
                {
                    yield return(0f);

                    ushort num = i;
                    i = (ushort)(num + 1);
                }
                if (__instance.hub.characterClassManager.CurClass == global::RoleType.Spectator)
                {
                    yield break;
                }
            }
            float   auditDelay = Mathf.Min(delay, __instance.velocityAuditPeriod);
            Vector3 relativeVelocity;

            if (auditDelay > 0f)
            {
                Transform localTransform  = __instance.gameObject.transform;
                Vector3   initialPosition = localTransform.position;
                float     initialTime     = Time.time;
                ushort    i = 0;
                while ((float)i < 50f * auditDelay)
                {
                    yield return(0f);

                    ushort num = i;
                    i = (ushort)(num + 1);
                }
                if (__instance.hub.characterClassManager.CurClass == global::RoleType.Spectator)
                {
                    yield break;
                }
                float num2 = Time.time - initialTime;
                relativeVelocity = (localTransform.position - initialPosition) / num2;
                localTransform   = null;
                initialPosition  = default(Vector3);
            }
            else
            {
                relativeVelocity = Vector3.zero;
            }

            var allow = true;
            var item  = __instance.hub.inventory.items[itemIndex].GetSynapseItem();

            SynapseController.Server.Events.Player.InvokePlayerItemUseEvent(__instance.GetPlayer(), item, ItemInteractState.Finalizing, ref allow);
            if (!allow)
            {
                yield break;
            }

            Grenade component = Object.Instantiate(settings.grenadeInstance).GetComponent <Grenade>();

            component.InitData(__instance, relativeVelocity, __instance.hub.PlayerCameraReference.forward, forceMultiplier);
            NetworkServer.Spawn(component.gameObject);
            item.Destroy();
            if (settings.inventoryID == global::ItemType.SCP018)
            {
                global::Team team = __instance.hub.characterClassManager.CurRole.team;
                if (team == global::Team.CHI || team == global::Team.CDP)
                {
                    Respawning.RespawnTickets.Singleton.GrantTickets(Respawning.SpawnableTeamType.ChaosInsurgency, GameCore.ConfigFile.ServerConfig.GetInt("respawn_tickets_ci_scp_item_count", 1), false);
                }
            }
            yield break;
        }