Artemis.Modules.Games.TheDivision.TheDivisionModel.InterpertrateDivisionKey C# (CSharp) Метод

InterpertrateDivisionKey() приватный Метод

private InterpertrateDivisionKey ( IReadOnlyList parts ) : void
parts IReadOnlyList
Результат void
        private void InterpertrateDivisionKey(IReadOnlyList<int> parts)
        {
            var gameDataModel = (TheDivisionDataModel) DataModel;
            var keyCode = parts[1];
            var rPer = parts[2];
            var gPer = parts[3];
            var bPer = parts[4];

            // F1 to F4 indicate the player and his party. Blinks red on damage taken
            if ((keyCode >= 59) && (keyCode <= 62))
            {
                var playerId = keyCode - 58;

                PlayerState newState;
                if (gPer > 10)
                    newState = PlayerState.Online;
                else if (rPer > 10)
                    newState = PlayerState.Hit;
                else
                    newState = PlayerState.Offline;

                if (playerId == 1)
                    gameDataModel.LowHp = newState == PlayerState.Hit;
                else if (playerId == 2)
                    gameDataModel.PartyMember1 = newState;
                else if (playerId == 3)
                    gameDataModel.PartyMember2 = newState;
                else if (playerId == 4)
                    gameDataModel.PartyMember3 = newState;
            }
            // R blinks white when low on ammo
            else if (keyCode == 19)
            {
                _stickyAmmo.Value = (rPer == 100) && (gPer > 1) && (bPer > 1);
                gameDataModel.LowAmmo = _stickyAmmo.Value;
            }
            // G turns white when holding a grenade, turns off when out of grenades
            else if (keyCode == 34)
            {
                if ((rPer == 100) && (gPer < 10) && (bPer < 10))
                    gameDataModel.GrenadeState = GrenadeState.HasGrenade;
                else if ((rPer == 100) && (gPer > 10) && (bPer > 10))
                    gameDataModel.GrenadeState = GrenadeState.GrenadeEquipped;
                else
                    gameDataModel.GrenadeState = GrenadeState.HasNoGrenade;
            }
            // V blinks on low HP
            else if (keyCode == 47)
            {
                _stickyHp.Value = (rPer == 100) && (gPer > 1) && (bPer > 1);
                gameDataModel.LowHp = _stickyHp.Value;
            }
        }