/** * @param howMuch * @param howfast * @param waiting */ public bool SetCustomRecharge(float howMuch, float howFast, float waiting) { bool anyChange = false; if (howMuch >= 0.0f) { rechargeCapacity = howMuch; anyChange = true; } if (howFast >= 0.0f) { rechargeRate = howFast; anyChange = true; } if (waiting >= 0.0f) { rechargeWait = waiting; anyChange = true; } if (anyChange) { actualRechargeType = eRechargeTypes.Custom; } return(anyChange); }
/** * @param reType * @param eInit * @param eMin * @param eMax */ public bool Init(eRechargeTypes reType, float eInit, float eMin, float eMax) { energyMin = eMin; energyMax = eMax; if (energyMax < energyMin) { float tmp = energyMax; energyMax = energyMin; energyMin = tmp; } if (energyMin < 0.0f) { energyMin = 0.0f; } actualEnergy = eInit; if (actualEnergy < energyMin) { actualEnergy = energyMin; } else if (actualEnergy > energyMax) { actualEnergy = energyMax; } return(SetRechargeType(reType)); }
/** * @param reType */ public bool SetRechargeType(eRechargeTypes reType) { switch (reType) { case eRechargeTypes.NoRecharge: rechargeCapacity = 0.0f; rechargeRate = 1000.0f; rechargeWait = 1000.0f; lastConsume = 0.0f; // all energy was consumed in moment of creation nextRecharge = 1000.0f; // first recharge is allowed after 1000 seconds of object creation break; // 2 units per second case eRechargeTypes.VerySlow: rechargeCapacity = 1.0f; rechargeRate = 0.33f; rechargeWait = 5.0f; break; // 3 units per second case eRechargeTypes.Slow: rechargeCapacity = 1.0f; rechargeRate = 0.2f; rechargeWait = 3.0f; break; // 5 units per second case eRechargeTypes.Medium: rechargeCapacity = 1.0f; rechargeRate = 0.1f; rechargeWait = 2.0f; break; // 10 units per second case eRechargeTypes.Fast: rechargeCapacity = 1.0f; rechargeRate = 0.05f; rechargeWait = 1.0f; break; // 20 units per second case eRechargeTypes.SuperFast: rechargeCapacity = 1.0f; rechargeRate = 0.02f; rechargeWait = 1.0f; break; default: Debug.LogWarning("PLAYER SETT >> Unknown recharge >> Current recharge: " + actualRechargeType); return(false); } actualRechargeType = reType; return(true); }
/** * @param reType * @param eInit */ public bool Init(eRechargeTypes reType, float eInit) { return(Init(reType, eInit, 0.0f, 100.0f)); }