示例#1
0
        private void AbsorptionUpdate()
        {
            if (firstFrameOfStateChange)
            {
                timeStamp = Time.timeSinceLevelLoad;
                used      = false;
            }

            if (Time.timeSinceLevelLoad - timeStamp > pc.absorptionAbsorbTime && !used)
            {
                pc.PlayAbsorbSound();
                EnergyArea e = null;
                if (pc.currentStorage == null)
                {
                    EnergyHandler.IsTransformInEnergyArea(pc.transform, out e);
                    e.RemoveEnergy();
                }
                else
                {
                    pc.currentStorage.RemoveEnergy();
                }

                pc.EnergyAmount += 1;
                used             = true;
            }
        }
示例#2
0
        private bool IdleToAbsorption()
        {
            if (InputController.GetAbsorbEnergy(InputStateType.PRESSED))
            {
                if (pc.currentStorage != null)
                {
                    if (!pc.currentStorage.IsEmpty())
                    {
                        return(true);
                    }
                }

                EnergyArea e = null;
                if (EnergyHandler.IsTransformInEnergyArea(pc.transform, out e))
                {
                    return(true);
                }
            }

            return(false);
        }