コード例 #1
0
ファイル: ThreadSafeContext.cs プロジェクト: DaveKoz/DTanks
        static ThreadSafeContext()
        {
            if (Thread.CurrentThread.ManagedThreadId == MainThreadId)
            {
                if (_isInitialized == false)
                {
                    IsWebPlayer = Application.platform == RuntimePlatform.WebGLPlayer;

                    IsEditor = Application.isEditor;

                    BuildVersion = AppVersion;

                    PersistentDataPath = Application.persistentDataPath;

                    DeviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier;

                    Platform = Application.platform;

                    _isInitialized = true;
                }
            }
            else
            {
                DevLogger.Warning("ThreadSafeContext should be initialized from the main thread.", LogChannel.Common);
            }
        }
コード例 #2
0
 Vector3 IBattleField.GetSpawnPoint(int spawnPointIndex)
 {
     if (spawnPointIndex >= _spawnPoints.Count)
     {
         DevLogger.Warning("spawn point index {0} not exist", DTanksLogChannel.GameClient);
         spawnPointIndex = 0;
     }
     return(_spawnPoints[spawnPointIndex].Pos);
 }
コード例 #3
0
        protected string GetTargetString(ShowType showType, MarketItemModel model)
        {
            var result = string.Empty;

            switch (showType)
            {
            case ShowType.Tittle:
                result = model.Tittle;
                break;

            case ShowType.Description:
                result = model.Description;
                break;

            case ShowType.ClassId:
                result = model.ClassId;
                break;

            case ShowType.AssetId:
                result = model.AssetId;
                break;

            case ShowType.CreationDate:
                result = GetDateString(model.Created);
                break;

            case ShowType.LastUpdate:
                result = GetDateString(model.Updated);
                break;

            case ShowType.Price:
                result = model.Price.GetStringWithCurrencySprite(_text.color);
                break;

            case ShowType.Fee:
                result = model.Fee.GetStringWithCurrencySprite(_text.color);
                break;

            case ShowType.OrderStatus:
                result = model.Status.GetText();
                break;

            case ShowType.OffersCount:
                result = model.OffersCount.ToString();
                break;

            case ShowType.SellOfferId:
                result = model.SellOfferId;
                break;

            default:
                result = "NOT IMPLEMENT";
                DevLogger.Warning("Need implement for " + showType);
                break;
            }
            return(result);
        }
コード例 #4
0
 void IWidget.Logout()
 {
     if (Model.IsLogin)
     {
         ClientApi.Logout(Model.BasicAccessToken, Model.MarketAccessToken,
                          OnLogoutCallback, OnErrorCallback);
     }
     else
     {
         DevLogger.Warning("Try logout when user is not login");
     }
 }
コード例 #5
0
ファイル: MarketItemView.cs プロジェクト: DaveKoz/DTanks
 public void Initialize()
 {
     if (!IsInitialize)
     {
         _components = new List <ItemComponentBase>();
         gameObject.GetComponentsInChildren(true, _components);
         _components.ForEach(component => component.ApplyItem(this));
     }
     else
     {
         DevLogger.Warning("Try initialize twice");
     }
 }
コード例 #6
0
        SoundInfo IMarketSoundCatalog.GetSoundInfo(MarketSoundType sound)
        {
            var result = Sounds.Find(item => item.SoundType == sound);

            if (result == null)
            {
                DevLogger.Warning(string.Format("{0} sound missing", sound),
                                  MarketLogType.Sound);
                result = new SoundInfo();
            }

            return(result);
        }
コード例 #7
0
 protected virtual void OnServerCallback(ItemsChangingResponse parameters)
 {
     View.WaitingForm.Hide();
     if (parameters.IsSuccess)
     {
         //TODO change to notification
         DevLogger.Warning("Add notification here");
         //FormView.ShowSuccesOperation();
     }
     else
     {
         MessageBox.Show("Error", parameters.ErrorText);
     }
 }
コード例 #8
0
        /// <summary>
        /// A window that displayss the recorded logs.
        /// </summary>
        /// <param name="windowID">Window ID.</param>
        void ConsoleWindow(int windowID)
        {
            scrollPosition = GUILayout.BeginScrollView(scrollPosition);

            // Iterate through the recorded logs.
            for (int i = 0; i < _logs.Count; i++)
            {
                var log = _logs[i];

                // Combine identical messages if collapse option is chosen.
                if (collapse)
                {
                    var messageSameAsPrevious = i > 0 && log.message == _logs[i - 1].message;

                    if (messageSameAsPrevious)
                    {
                        continue;
                    }
                }

                GUI.contentColor = logTypeColors[log.type];
                try
                {
                    GUILayout.Label(log.message);
                }
                catch (Exception e)
                {
                    DevLogger.Warning("Log exception: " + e.Message);
                }
            }

            GUILayout.EndScrollView();

            GUI.contentColor = Color.white;

            GUILayout.BeginHorizontal();

            if (GUILayout.Button(clearLabel))
            {
                _logs.Clear();
            }

            collapse = GUILayout.Toggle(collapse, collapseLabel, GUILayout.ExpandWidth(false));

            GUILayout.EndHorizontal();

            // Allow the window to be dragged by its title bar.
            GUI.DragWindow(titleBarRect);
        }
コード例 #9
0
        GameItemInfo IGameItemsInfoCatalog.GetInfo(GameItemType itemId)
        {
            var targetItem = Items.Find(item => item.Id == itemId);

            if (targetItem != null)
            {
                return(targetItem.Info);
            }
            else
            {
                DevLogger.Warning(string.Format("Item with id {0} not" +
                                                " exist at catolg. Return dafault", itemId));
                return(new GameItemInfo());
            }
        }
コード例 #10
0
        private double GetInputAmount(string value)
        {
            double result = 0;

            try
            {
                result = value == string.Empty ? 0 : Convert.ToDouble(value);
                return(result);
            }
            catch (Exception e)
            {
                DevLogger.Warning(string.Format("Cannot parse in int: {0}. Exception: {1}", value, e));
            }

            return(result);
        }
コード例 #11
0
        private IEnumerator WaitFrameAndDeselect()
        {
            _inputField.enabled = false;
            yield return(new WaitForEndOfFrame());

            _inputField.DeactivateInputField();

            if (InputSelected == null)
            {
                DevLogger.Warning("Event that returns MobileInputForm is null.");
                yield break;
            }

            ShowInputForm(InputSelected.Invoke());
            _inputField.enabled = true;
        }
コード例 #12
0
ファイル: PoolControllerBase.cs プロジェクト: DaveKoz/DTanks
        private TPoolObject GetObject <TPoolObject>() where TPoolObject : IPoolObject
        {
            Type type = typeof(TPoolObject);

            foreach (IPool pool in _pools)
            {
                if (pool.PoolType == type)
                {
                    return(pool.GetObject().To <TPoolObject>());
                }
            }

            DevLogger.Warning(
                string.Format("Cannot get object of '{0}' type because this pool does not exists", type));

            return(default(TPoolObject));
        }
コード例 #13
0
        public void DestroyItem(long worldId)
        {
            PickupItem item;

            if (_droppedItems.TryGetValue(worldId, out item))
            {
                item.Interacted -= OnInteracted;
                _droppedItems.Remove(worldId);

                Destroy(item.gameObject);
            }
            else
            {
                DevLogger.Warning(string.Format("drop item with world id {0}" +
                                                " already destroyed", worldId));
            }
        }
コード例 #14
0
        private void OnGetGameTokenMsg(AppGetGameTokenMessage message)
        {
            var answer = new AppGetGameTokenAnswerMessage();

            DMarketApi.GetBasicAccessToken((message as AppGetGameTokenMessage).UserId,
                                           (responce, parametrs) =>
            {
                answer.Responce = new DMarketGameTokenResponce(responce.token,
                                                               responce.refreshToken);
                SendAnswer(answer, message);
            },
                                           error =>
            {
                DevLogger.Warning(string.Format("Get market token error: code: {0}, message:" +
                                                " {1}", error.ErrorCode, error.ErrorMessage));
                answer.Error = NetMsgErrorType.DMarketError;
                SendAnswer(answer, message);
            });
        }
コード例 #15
0
        private void OnGetGameTokenMsg(AppGetGameTokenMessage message)
        {
            var answer = new AppGetGameTokenAnswerMessage();

            DMarketApi.GetBasicAccessToken(message.UserId,
                                           (response, requestParams) =>
            {
                answer.Response = new DMarketGameTokenResponse(response.token,
                                                               response.refreshToken);
                SendMessageToClient(answer, message.ConnectionId);
            },
                                           error =>
            {
                DevLogger.Warning(string.Format("Get marketWidget token error: code: {0}, message:" +
                                                " {1}", error.ErrorCode, error.ErrorMessage));
                answer.Error = NetworkMessageErrorType.DMarketError;
                SendMessageToClient(answer, message.ConnectionId);
            });
        }
コード例 #16
0
        private IEnumerator LoadSprite(string url)
        {
            Sprite sprite = null;

            const int maxUploadAttempts = 5;
            int       attemptsCounter   = 0;

            while (attemptsCounter < maxUploadAttempts)
            {
                using (WWW loadSpriteWww = new WWW(url))
                {
                    yield return(loadSpriteWww);

                    if (loadSpriteWww.texture != null)
                    {
                        Rect    spriteRect  = new Rect(0, 0, loadSpriteWww.texture.width, loadSpriteWww.texture.height);
                        Vector2 spritePivot = new Vector2(0, 0);

                        sprite = Sprite.Create(loadSpriteWww.texture, spriteRect, spritePivot);
                        _loadedSprites[url].Sprite = sprite;

                        break;
                    }
                }

                attemptsCounter++;
            }

            if (attemptsCounter >= maxUploadAttempts)
            {
                DevLogger.Warning(string.Format("Sprite not loaded by {0} attempts. Url:\n {1}", attemptsCounter, url));
            }

            SpriteUpdated.SafeRaise(url, sprite);
            yield return(null);
        }
コード例 #17
0
 private void LogWarning(string value)
 {
     DevLogger.Warning(value, MarketLogType.MarketApi);
 }
コード例 #18
0
 protected void LogWarning(string value)
 {
     DevLogger.Warning(value, MarketLogType.MarketApi);
 }