Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сохранить переменную которая уже есть в обьекте в другой функции

Хамфрей Zeta Ученик (117), на голосовании 10 месяцев назад
Мне нужно чтобы в
 function offlineGain () { 
money += gainPerSecond * 20 * (currentOnlineTime - lastOnlineTime)
console.log(gainPerSecond * 20 * (currentOnlineTime - lastOnlineTime) + " и разница: " + (currentOnlineTime - lastOnlineTime))
whatsYourCurrentTime()
datasave.lastOnlineTime = lastOnlineTime
localStorage.setItem('lastOnlineTime', lastOnlineTime);
}
сохранялась вот эта обновлённая переменная lastOnlineTime сохранялась в уже созданный объект datasave который сохраняет все переменные в функции saveGame(). То есть сохранять эту переменную с обеих функций, но в 1 из них сохранять отдельно.

 let datasave 

function saveGame () {
whatsYourCurrentTime()
datasave = savingTheGame(); //образуем переменную с кучей других переменных
...
}
 function savingTheGame() { 
return {
gainPerSecond: gainPerSecond,
data: data,
lastOnlineTime: lastOnlineTime,
money: money,
...
}
примечание: offlineGain() расположен в файле clicker.js который инициализируется в HTML первее чем saving.js (в нём содержаться два нижних кода)

на всякий случай скину ещё код вычисления lastOnlineTime() (мне всё равно что оно может выглядеть глупо)

 function whatsYourCurrentTime () { 
let now = new Date()

var realSeconds = now.getSeconds()
var realMinutes = now.getMinutes()
var realHours = now.getHours()
var realDays = now.getDate()
var realMonths = now.getMonth()+1
var realYear = now.getFullYear()
realMonths += realYear * 12
realDays += realMonths * 30
realHours += realDays * 24
realMinutes += realHours * 60
realSeconds += realMinutes * 60
lastOnlineTime = realSeconds
console.log(lastOnlineTime + " LAST")
return lastOnlineTime
}
Голосование за лучший ответ
k0nan Varvar Ученик (185) 12 месяцев назад
Для сохранения переменной lastOnlineTime в объекте datasave, вы можете модифицировать функцию offlineGain следующим образом:
   

function offlineGain() {

money += gainPerSecond * 20 * (currentOnlineTime - lastOnlineTime);

console.log(gainPerSecond * 20 * (currentOnlineTime - lastOnlineTime) + " и разница: " + (currentOnlineTime - lastOnlineTime));

whatsYourCurrentTime();



datasave.lastOnlineTime = lastOnlineTime;

localStorage.setItem('lastOnlineTime', lastOnlineTime);



saveGame(); // Вызываем функцию сохранения игры для обновления других переменных в объекте datasave

}

Теперь при вызове функции offlineGain(), переменная lastOnlineTime будет сохраняться и обновляться в объекте datasave вместе с другими переменными, когда функция saveGame() будет вызываться.

Пожалуйста, убедитесь, что функция saveGame() вызывается после обновления переменной lastOnlineTime в функции offlineGain(), чтобы все изменения были сохранены в объекте datasave.
Похожие вопросы