public KeysSystem(StagePrefabs stagePrefabs) { stagesTotal = stagePrefabs.GetGroupsCount(); getTakenKeysAmount = () => PersistentData.GetIntDecoded(GetType(), 0); setTakenKeysAmount = x => PersistentData.SetIntEncoded(GetType(), 0, x); UpdateTakenKeysData(); }
public StageSystem(StagePrefabs stagePrefabs, KeysSystem keysSystem) { getStagePrefabs = stagePrefabs.GetGroup; getStageIndex = () => PersistentData.GetIntDecoded(GetType(), 0); incrementStageIndex = () => PersistentData.SetIntEncoded(GetType(), 0, getStageIndex() + 1); checkIfKeyIsTaken = (stage, substage) => { bool isKeyTaken; keysSystem.SetAndTestCurrentStageAndSubstage(stage, substage, out isKeyTaken); return(isKeyTaken); }; gameZone = Object.FindObjectOfType <GameZone>(); }