public static void RegisterBehaviour(IFrameUpdate behaviour) { if (!Access()) { return; } string type_name = (behaviour as MonoBehaviour).GetType().Name; //Add type name if (!Instance.behaviours_names.Contains(type_name)) { Instance.behaviours_names.Add(type_name); } Instance.frameupdate_behaviours.Add(behaviour); }
public void UnregisterForFrameUpdates(IFrameUpdate item) { lock (_FrameUpdateItems) _FrameUpdateItems.Remove(item); }
public void RegisterForFrameUpdates(IFrameUpdate item) { lock (_FrameUpdateItems) _FrameUpdateItems.AddLast(item); }
public void RemoveFrame(IFrameUpdate frame) { _list.Remove(frame); }
public void AddFrame(IFrameUpdate frame) { _list.Add(frame); }
private int UpdatedScore(IFrameUpdate frameUpdateType) => _score + frameUpdateType.Score(_pinsDown, _pinsIndex);
private int UpdatedIndex(IFrameUpdate frameUpdateType) => _pinsIndex + frameUpdateType.Adjustment();
private FrameState UpdatedFrameState(IFrameUpdate frameUpdate) => new FrameState(_pinsDown, UpdatedScore(frameUpdate), UpdatedIndex(frameUpdate));
private void UpdateFrame(IFrameUpdate frameUpdate, float delteTime) { frameUpdate.FrameUpdate(delteTime); }