コード例 #1
0
        public BloodState CheckYourState(double[] output)
        {
            BloodState state = new BloodState();

            if (output[0] < 0.05)
            {
                state.Result1 = nameof(Results.Hydrated);
            }
            if (output[0] > 0.05 && output[0] < 0.15)
            {
                state.Result1 = nameof(Results.Hurt);
            }
            if (output[0] > 0.15 && output[0] < 0.25)
            {
                state.Result1 = nameof(Results.Kidney);
            }
            if (output[0] > 0.25 && output[0] < 0.35)
            {
                state.Result1 = nameof(Results.Oxygenation);
            }
            if (output[0] > 0.35)
            {
                state.Result1 = nameof(Results.Sick);
            }

            if (output[1] < 0.05)
            {
                state.Result2 = nameof(Results.Hydrated);
            }
            if (output[1] > 0.05 && output[0] < 0.15)
            {
                state.Result2 = nameof(Results.Hurt);
            }
            if (output[1] > 0.15 && output[0] < 0.25)
            {
                state.Result2 = nameof(Results.Kidney);
            }
            if (output[1] > 0.25 && output[0] < 0.35)
            {
                state.Result2 = nameof(Results.Oxygenation);
            }
            if (output[1] > 0.35)
            {
                state.Result2 = nameof(Results.Sick);
            }

            return(state);
        }
コード例 #2
0
        void Update()
        {
            currentBloodInt -= LowerBloodLossBasedOnRemaining(BloodLossPerSecond) * Time.deltaTime;
            canvas.UpdateBloodSlider(currentBloodInt);

            if (!hasRunOutOfBloodThisLoad && CurrentBlood < 1e-4)
            {
                hasRunOutOfBloodThisLoad       = true;
                playerMovement.canMove         = false;
                playerPistol.canFire           = false;
                playerMelee.canAttack          = false;
                playerAbilities.canUseAbilites = false;
                canvas.PlayerHasNoBlood();
            }

            // Speech sending
            if (state == BloodState.High && CurrentBlood < LowTransition)
            {
                var message = new SwordMessage {
                    Message  = "I need blood",
                    Duration = 2f
                };
                GameObject.FindWithTag("SwordSpeech").SendMessage("OnSwordMessage", message);
                state = BloodState.Low;
            }
            else if (state == BloodState.Low && CurrentBlood < VeryLowTransition)
            {
                var message = new SwordMessage {
                    Message  = "I need blood now!",
                    Duration = 2f
                };
                GameObject.FindWithTag("SwordSpeech").SendMessage("OnSwordMessage", message);
                state = BloodState.VeryLow;
            }
            else if (state == BloodState.Low && CurrentBlood > LowTransition)
            {
                state = BloodState.High;
            }
            else if (state == BloodState.VeryLow && CurrentBlood > VeryLowTransition)
            {
                state = BloodState.Low;
            }
        }