//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public void Set(string pValueName, ISettingsController pController, int pExpirationCount=1) { if ( !Application.isEditor ) { return; } var expCont = new ExpirableController(); expCont.Controller = pController; expCont.ExpireCount = pExpirationCount; if ( vMap.ContainsKey(pValueName) ) { vMap[pValueName] = expCont; } else { vMap.Add(pValueName, expCont); vKeys.Add(pValueName); } }
/*--------------------------------------------------------------------------------------------*/ public void TryExpireControllers() { if (!Application.isEditor) { return; } for (int i = 0; i < vKeys.Count; i++) { ExpirableController expCont = vMap[vKeys[i]]; if (--expCont.ExpireCount >= 0) { continue; } vMap.Remove(vKeys[i]); vKeys.RemoveAt(i); i--; } }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public void Set(string pValueName, ISettingsController pController, int pExpirationCount = 1) { if (!Application.isEditor) { return; } ExpirableController expCont; if (vMap.ContainsKey(pValueName)) { expCont = vMap[pValueName]; } else { expCont = new ExpirableController(); vMap.Add(pValueName, expCont); vKeys.Add(pValueName); } expCont.Controller = pController; expCont.ExpireCount = pExpirationCount; }