コード例 #1
0
ファイル: LevelManager.cs プロジェクト: sky-xk-nge/Unturned
        private void arenaClear()
        {
            VehicleManager.askVehicleDestroyAll();
            BarricadeManager.askClearAllBarricades();
            StructureManager.askClearAllStructures();
            ItemManager.askClearAllItems();
            EffectManager.askEffectClearAll();
            ObjectManager.askClearAllObjects();
            LevelManager.arenaPlayers.Clear();
            Vector3 vector = Vector3.zero;
            float   num    = (float)Level.size / 2f;

            if (LevelManager.arenaNodes.Count > 0)
            {
                ArenaNode arenaNode = LevelManager.arenaNodes[Random.Range(0, LevelManager.arenaNodes.Count)];
                vector   = arenaNode.point;
                vector.y = 0f;
                num      = arenaNode.radius;
            }
            base.channel.send("tellArenaOrigin", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[]
            {
                vector,
                num,
                false
            });
            LevelManager.arenaState = EArenaState.WARMUP;
            base.channel.send("tellLevelTimer", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[]
            {
                5
            });
        }
コード例 #2
0
        // Token: 0x06002878 RID: 10360 RVA: 0x000F5474 File Offset: 0x000F3874
        private void arenaClear()
        {
            VehicleManager.askVehicleDestroyAll();
            BarricadeManager.askClearAllBarricades();
            StructureManager.askClearAllStructures();
            ItemManager.askClearAllItems();
            EffectManager.askEffectClearAll();
            ObjectManager.askClearAllObjects();
            LevelManager.arenaPlayers.Clear();
            Vector3 vector = Vector3.zero;
            float   num    = (float)Level.size / 2f;

            if (Level.info.configData.Use_Arena_Compactor)
            {
                if (LevelManager.arenaNodes.Count > 0)
                {
                    ArenaNode arenaNode = LevelManager.arenaNodes[UnityEngine.Random.Range(0, LevelManager.arenaNodes.Count)];
                    vector   = arenaNode.point;
                    vector.y = 0f;
                    num      = arenaNode.radius;
                }
            }
            else
            {
                num = 16384f;
            }
            float   compactorSpeed = LevelManager.compactorSpeed;
            Vector3 vector2;
            float   num2;

            if (Level.info.configData.Use_Arena_Compactor)
            {
                if (Provider.modeConfigData.Events.Arena_Use_Compactor_Pause)
                {
                    this.getArenaTarget(vector, num, out vector2, out num2);
                }
                else
                {
                    vector2 = vector;
                    num2    = 0.5f;
                }
            }
            else
            {
                vector2 = vector;
                num2    = num;
            }
            base.channel.send("tellArenaOrigin", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[]
            {
                vector,
                num,
                vector,
                num,
                vector2,
                num2,
                compactorSpeed,
                (byte)(Provider.modeConfigData.Events.Arena_Clear_Timer + Provider.modeConfigData.Events.Arena_Compactor_Delay_Timer)
            });
            LevelManager.arenaState = EArenaState.WARMUP;
            base.channel.send("tellLevelTimer", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[]
            {
                (byte)Provider.modeConfigData.Events.Arena_Clear_Timer
            });
        }