Ejemplo n.º 1
0
        //called on Start by PlayerController
        public void HandleLoadStart()
        {
            //load recharge state from player model
            var playerModel = GameState.Instance.PlayerRpgState;

            if (playerModel.ExtraData.TryGetValue("ShieldRechargeState", out object rawState))
            {
                RechargeState = (ShieldRechargeState)Convert.ToInt32(rawState); //because it'll actually be long because json.net

                if (RechargeState == ShieldRechargeState.Recharging)
                {
                    PlayRechargeEffect();
                }
            }

            if (RechargeState == ShieldRechargeState.Idle)
            {
                //start waiting to recharge if needed
                var player = GameState.Instance.PlayerRpgState;
                if (player.ShieldsFraction < 1)
                {
                    if (player.DerivedStats.ShieldParams.MaxShields > 0)
                    {
                        SetRechargeState(ShieldRechargeState.Waiting); //now waiting to recharge
                        ElapsedSinceLastDamage = 0;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void SetRechargeState(ShieldRechargeState newState)
        {
            RechargeState = newState;

            //save for later
            var playerModel = GameState.Instance.PlayerRpgState;

            playerModel.ExtraData["ShieldRechargeState"] = newState;
        }