Example #1
0
        public IEnumerator Run(
            Client client,
            GameSession session,
            string limitNamespaceName,
            string limitModelName,
            GetLimitModelEvent onGetLimitModel,
            GetCounterEvent onGetCounter,
            CountUpEvent onCountUpEvent,
            ErrorEvent onError
            )
        {
            if (_watching)
            {
                throw new InvalidOperationException("already started");
            }

            _watching = true;

            _client             = client;
            _session            = session;
            _limitNamespaceName = limitNamespaceName;
            _limitModelName     = limitModelName;
            _onGetLimitModel    = onGetLimitModel;
            _onGetCounter       = onGetCounter;
            _onCountUpEvent     = onCountUpEvent;
            _onError            = onError;

            _onCountUpEvent.AddListener(CountUpAction);

            yield return(Refresh());
        }
Example #2
0
        public static IEnumerator CountUp(
            Client client,
            GameSession session,
            string limitNamespaceName,
            EzLimitModel limitModel,
            string counterName,
            int countUpValue,
            CountUpEvent onCountUp,
            ErrorEvent onError
            )
        {
            AsyncResult <EzCountUpResult> result = null;

            yield return(client.Limit.CountUp(
                             r =>
            {
                result = r;
            },
                             session,
                             limitNamespaceName,
                             limitModel.Name,
                             counterName,
                             countUpValue
                             ));

            if (result.Error != null)
            {
                onError.Invoke(
                    result.Error
                    );
                yield break;
            }

            var counter = result.Result.Item;

            onCountUp.Invoke(limitModel, counter, countUpValue);
        }