public void UpdateGroupLogic(Type newLogic) { if (newLogic == null) { LogManager.GetCurrentClassLogger().Info($"Scene template {_worldLocationId} logic is empty!"); Clear(); return; } _myItems = GameStateData.GetWrapperCollection(); var logic = Activator.CreateInstance(newLogic) as ILogic; if (logic == null) { LogManager.GetCurrentClassLogger().Error($"Initialize location logic error! SceneId = {_worldLocationId}. Message: Logic is null!"); VRErrorManager.Instance.Show(ErrorHelper.GetErrorDescByCode(Errors.ErrorCode.LogicInitError)); return; } Logic = logic; try { LogManager.GetCurrentClassLogger().Info($"Scene template {_worldLocationId} logic initialize started..."); InitializeLogic(); LogManager.GetCurrentClassLogger().Info($"Scene template {_worldLocationId} logic initialize successful"); } catch (Exception e) { ShowLogicExceptionError(Errors.ErrorCode.LogicInitError, "Initialize scene template logic error!", e); Logic = null; } }
public void SetCollection(WrappersCollection collection) { this.collection = collection; }