コード例 #1
0
        public ServerGameEntity Create(Vector3 position, ushort tmpPlayerId, int accountId,
                                       ViewTypeEnum viewTypeEnum, WarshipSO warshipSo)
        {
            warshipSoValidator.Validate(warshipSo);

            ServerGameEntity entity = gameContext.CreateEntity();

            entity.AddPlayer(tmpPlayerId);
            entity.AddNickname("warship");
            entity.AddAccount(accountId);
            entity.AddMaxSpeed(warshipSo.maxVelocity);
            entity.AddAngularVelocity(warshipSo.angularVelocity);
            if (warshipSo.maxHealth <= 0)
            {
                throw new Exception($"Нельзя спавнить корабли таких хп {warshipSo.maxHealth}");
            }

            entity.AddHealthPoints(warshipSo.maxHealth);
            entity.AddMaxHealthPoints(warshipSo.maxHealth);
            entity.AddTeam((byte)(tmpPlayerId + 1));
            entity.AddViewType(viewTypeEnum);
            entity.AddSpawnTransform(position, Quaternion.identity);

            return(entity);
        }
コード例 #2
0
        public void Spawn(ServerGameEntity entity)
        {
            ViewTypeEnum viewType      = entity.viewType.value;
            Vector3      spawnPosition = entity.spawnTransform.position;
            Quaternion   spawnRotation = entity.spawnTransform.rotation;

            GameObject prefab = prefabStorage.GetPrefab(viewType);
            GameObject go     = physicsSpawner.SpawnProjectile(prefab, spawnPosition, spawnRotation);

            go.layer = projectileLayerNumber;
            entity.AddTransform(go.transform);
            Rigidbody rigidbody = go.GetComponent <Rigidbody>();

            entity.AddRigidbody(rigidbody);
            go.Link(entity);
            entity.AddView(go);

            if (entity.hasParentWarship)
            {
                var        projectileCollider = go.GetComponent <Collider>();
                Collider[] warshipColliders   = entity.parentWarship.entity.warshipColliders.colliders;


                Vector3 parentVelocity = entity.parentWarship.entity.rigidbody.value.velocity;
                rigidbody.velocity = parentVelocity;
                physicsSpawner.Ignore(new[] { projectileCollider }, warshipColliders);
            }
        }
コード例 #3
0
 public string GetPath(ViewTypeEnum viewType)
 {
     if (!viewTypePrefabPath.ContainsKey(viewType))
     {
         throw new Exception("Нет такого ключа");
     }
     return(viewTypePrefabPath[viewType]);
 }
コード例 #4
0
ファイル: PageManager.cs プロジェクト: svlcode/HomeManager
 public bool HasView(XtraTabPage page, ViewTypeEnum findView)
 {
     if (page.Tag is ViewTypeEnum)
     {
         var pageView = (ViewTypeEnum) page.Tag;
         return pageView == findView;
     }
     return false;
 }
コード例 #5
0
        public void CreateAsteroid(Vector3 position, ViewTypeEnum viewTypeEnum)
        {
            ServerGameEntity entity = contexts.serverGame.CreateEntity();

            entity.AddHealthPoints(500);
            entity.AddMaxHealthPoints(500);
            entity.AddViewType(viewTypeEnum);
            entity.AddSpawnTransform(position, Quaternion.identity);
        }
コード例 #6
0
        public ServerGameEntity CreateWarship(Vector3 position, ushort tmpPlayerId, int accountId,
                                              ViewTypeEnum viewTypeEnum)
        {
            WarshipSO warshipSo = warshipsCharacteristicsStorage.Get(viewTypeEnum);
            var       entity    = warshipEntityFactory.Create(position, tmpPlayerId, accountId, viewTypeEnum, warshipSo);

            log.Info($"accountId = {accountId} tmpPlayerId = {tmpPlayerId} id = {entity.id.value}");
            return(entity);
        }
コード例 #7
0
        public float GetHeight(ViewTypeEnum viewTypeEnum)
        {
            if (dict.ContainsKey(viewTypeEnum))
            {
                return(dict[viewTypeEnum]);
            }

            log.Error("Нет информации про этот объект");
            return(0);
        }
コード例 #8
0
        public GameObject GetPrefab(ViewTypeEnum viewTypeEnum)
        {
            string path = dict[viewTypeEnum];

            if (!cache.ContainsKey(viewTypeEnum))
            {
                cache[viewTypeEnum] = Resources.Load <GameObject>(path);
            }

            return(cache[viewTypeEnum]);
        }
コード例 #9
0
ファイル: ViewManager.cs プロジェクト: weijunhu/vs
    void Awake()
    {
        mViewRootTrans = GameObject.Find("Facade/UIRoot").transform;

        mViewRootDic = new Dictionary <ViewTypeEnum, ViewRoot>();
        for (ViewTypeEnum i = ViewTypeEnum.main; i < ViewTypeEnum.loadingcircle; i++)
        {
            int baseIndex = (int)i;
            mViewRootDic[i] = new ViewRoot(baseIndex * 1000, (baseIndex + 1) * 1000);
        }
    }
コード例 #10
0
        public string GetName(int playerId, ViewTypeEnum typeId)
        {
            string username = matchModel.GetUsername(playerId);

            if (username == null)
            {
                string viewTypeName = Regex.Replace(typeId.ToString("G"), @"((?<=\p{Ll})\p{Lu})|((?!\A)\p{Lu}(?>\p{Ll}))", " $0");
                return(viewTypeName);
            }

            return(username);
        }
コード例 #11
0
ファイル: SpawnManager.cs プロジェクト: Avatarchik/NebulaWars
        public void Spawn(ServerGameEntity gameEntity)
        {
            ViewTypeEnum viewTypeEnum = gameEntity.viewType.value;

            if (dictionary.TryGetValue(viewTypeEnum, out ISpawner spawner))
            {
                spawner.Spawn(gameEntity);
            }
            else
            {
                throw new Exception($"Спавн сущности с таким viewType невозможен. viewTypeEnum={viewTypeEnum}");
            }
        }
コード例 #12
0
        public WarshipSO Get(ViewTypeEnum viewTypeEnum)
        {
            if (viewTypeEnum == ViewTypeEnum.StarSparrow1)
            {
                var warshipScriptableObject = ScriptableObject.CreateInstance <WarshipSO>();
                warshipScriptableObject.prefab          = starSparrowPrefab;
                warshipScriptableObject.angularVelocity = 10;
                warshipScriptableObject.maxHealth       = 1500;
                warshipScriptableObject.maxVelocity     = 10;
                warshipScriptableObject.viewTypeEnum    = ViewTypeEnum.StarSparrow1;
                return(warshipScriptableObject);
            }

            throw new Exception($"Запрос объекта, которого нет. {viewTypeEnum}");
        }
コード例 #13
0
        public Snapshot Create()
        {
            Dictionary <ushort, ViewTransformCompressed> dictionary = new Dictionary <ushort, ViewTransformCompressed>();

            foreach (var entity in warshipsGroup)
            {
                ushort       id            = entity.id.value;
                Transform    transform     = entity.transform.value;
                float        angle         = entity.transform.value.rotation.eulerAngles.y;
                ViewTypeEnum viewTypeEnum  = entity.viewType.value;
                Vector3      position      = transform.position;
                var          viewTransform = new ViewTransformCompressed(position.x, position.z, angle, viewTypeEnum);
                dictionary.Add(id, viewTransform);
            }

            return(new Snapshot(dictionary));
        }
コード例 #14
0
        public void Spawn(ServerGameEntity entity)
        {
            ViewTypeEnum viewType      = entity.viewType.value;
            Vector3      spawnPosition = entity.spawnTransform.position;
            Quaternion   spawnRotation = entity.spawnTransform.rotation;
            GameObject   prefab        = prefabStorage.GetPrefab(viewType);
            GameObject   go            = physicsSpawner.Spawn(prefab, spawnPosition, spawnRotation);

            go.Link(entity);
            entity.AddTransform(go.transform);
            Rigidbody rigidbody = go.GetComponent <Rigidbody>();

            entity.AddRigidbody(rigidbody);
            entity.AddView(go);

            //todo не забыть убрать компонент
            // entity.RemoveSpawnTransform();
        }
コード例 #15
0
        public void Spawn(ServerGameEntity entity)
        {
            ViewTypeEnum viewType      = entity.viewType.value;
            Vector3      spawnPosition = entity.spawnTransform.position;
            Quaternion   spawnRotation = entity.spawnTransform.rotation;
            GameObject   prefab        = prefabStorage.GetPrefab(viewType);
            GameObject   go            = physicsSpawner.Spawn(prefab, spawnPosition, spawnRotation);

            go.layer = playersLayerNumber;
            go.Link(entity);
            entity.AddView(go);
            entity.AddTransform(go.transform);
            Rigidbody rigidbody = go.GetComponent <Rigidbody>();

            entity.AddRigidbody(rigidbody);
            shootingPointsHelper.AddShootingPoints(go, entity);
            Collider[] colliders = go.GetComponents <Collider>();
            entity.AddWarshipColliders(colliders);
        }
コード例 #16
0
        public void SpawnAsteroids()
        {
            float radius = 50;
            var   random = new System.Random();
            List <ViewTypeEnum> asteroids = new List <ViewTypeEnum>()
            {
                ViewTypeEnum.AsteroidLavaBlue,
                ViewTypeEnum.AsteroidLavaRed,
                ViewTypeEnum.MineBlue,
                ViewTypeEnum.MineRed
            };

            for (int angle = 0; angle < 360; angle += 30)
            {
                float        x            = Mathf.Sin(angle) * radius;
                float        z            = Mathf.Cos(angle) * radius;
                ViewTypeEnum viewTypeEnum = asteroids[random.Next(0, 4)];
                asteroidSpawnerHelper.CreateAsteroid(new Vector3(x, 0, z), viewTypeEnum);
            }
        }
コード例 #17
0
        private void UpdateTransform(ServerGameEntity entity, ViewTransformCompressed viewTransform)
        {
            ushort playerId = PlayerIdStorage.PlayerEntityId;

            if (entity.id.value == playerId)
            {
                return;
            }

            Vector3 vector = viewTransform.GetPosition();

            entity.transform.value.position = vector;
            entity.transform.value.rotation = Quaternion.AngleAxis(viewTransform.Angle, Vector3.up);
            ViewTypeEnum oldViewType = entity.viewType.value;

            if (oldViewType != viewTransform.viewTypeEnum)
            {
                string mes = $"Смена типа сущности. Было {oldViewType.ToString()} стало {viewTransform.viewTypeEnum}";
                log.Debug(mes);
                entity.ReplaceViewType(viewTransform.viewTypeEnum);
            }
        }
コード例 #18
0
        private void EnableView(ViewTypeEnum type)
        {
            toolStripButtonJobs.Checked             =
                toolStripButtonLog.Checked          =
                    toolStripButtonTriggers.Checked = false;

            switch (type)
            {
            case ViewTypeEnum.JOB:
                toolStripButtonJobs.Checked = true;
                break;

            case ViewTypeEnum.TRIGGER:
                toolStripButtonTriggers.Checked = true;
                break;

            case ViewTypeEnum.LOG:
                toolStripButtonLog.Checked = true;
                break;
            }

            _gridTypeEnumNow = type;
        }
コード例 #19
0
        public bool LoadTableAndChart(StatSalesType[] modelData, StatTypeEnum statType, ChartTypeEnum chartType, ViewTypeEnum viewType, FilterTypeEnum filterType, bool isCount, bool isUseCodeInName)
        {
            try
            {
                var parameters = new List <ReportParameter>
                {
                    new ReportParameter("ChartType", chartType.ToString()),
                    new ReportParameter("Symbol", isCount?" ":"€")
                };

                var reportDataSource = new ReportDataSource
                {
                    Name  = "ChartDataSet",
                    Value = ModelToChartDataService.GetChartData(modelData, statType, viewType, chartType, filterType, isCount, isUseCodeInName)
                };

                _report.Reset();
                _report.ProcessingMode = ProcessingMode.Local;
                _report.LocalReport.ReportEmbeddedResource = "ChartStat.ChartUI.Reports.ReportWithTable.rdlc";
                _report.LocalReport.SetParameters(parameters);
                _report.LocalReport.DataSources.Add(reportDataSource);
                _report.RefreshReport();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
コード例 #20
0
ファイル: RevitView.cs プロジェクト: webdada/HOK-Revit-Addins
 public RevitViewType(Guid guid, string viewTypeName, ViewTypeEnum viewTypeEnum)
 {
     id       = guid;
     name     = viewTypeName;
     viewType = viewTypeEnum;
 }
コード例 #21
0
        private void LoadAddTagsAsync(ViewTypeEnum viewTypeEnum, BarcodeModel barcode = null)
        {
            try
            {
                barcodeModel = barcode;
                switch (viewTypeEnum)
                {
                case ViewTypeEnum.ScanKegsView:
                case ViewTypeEnum.FillScanView:
                    if (ConstantManager.IsFromScanned)
                    {
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.BestByDate, barcode?.Tags?.ToList().Find(x => x.Property == "Best By Date")?.Value);
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.ProductionDate, barcode?.Tags?.ToList().Find(x => x.Property == "Production Date")?.Value);
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.AssetType, barcode?.Tags?.ToList().Find(x => x.Property == "Asset Type")?.Value);
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.Size, barcode?.Tags?.ToList().Find(x => x.Property == "Size")?.Value);
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.Contents, barcode?.Tags?.ToList().Find(x => x.Property == "Contents")?.Value);
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.Batch, barcode?.Tags?.ToList().Find(x => x.Property == "Batch")?.Value);
                    }
                    else
                    {
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.BestByDate, barcode?.Tags?.ToList().Find(x => x.Property == "Best By Date")?.Value);
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.ProductionDate, barcode?.Tags?.ToList().Find(x => x.Property == "Production Date")?.Value);
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.AssetType, barcode?.Tags?.ToList().Find(x => x.Property == "Asset Type")?.Value);
                        OnAddMoreTagsClickedAsync(TagsTypeEnum.Size, barcode?.Tags?.ToList().Find(x => x.Property == "Size")?.Value);
                    }
                    break;

                case ViewTypeEnum.AddBatchView:
                    OnAddTagsClicked(null, null);
                    break;

                case ViewTypeEnum.EditKegView:
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Volume);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Note);
                    break;

                case ViewTypeEnum.MoveView:
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.BestByDate);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.ProductionDate);
                    break;

                case ViewTypeEnum.BulkUpdateScanView:
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Volume);
                    break;

                case ViewTypeEnum.PalletizeView:
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Zone);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Area);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Slot);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.SSCC);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Note);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Batch);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.GTIN);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.ProductionDate);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.ExpiryDate);
                    break;

                case ViewTypeEnum.MaintainScanView:
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.BestByDate, barcode?.Tags?.ToList().Find(x => x.Property == "Best By Date")?.Value);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.ProductionDate, barcode?.Tags?.ToList().Find(x => x.Property == "Production Date")?.Value);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.AssetType, barcode?.Tags?.ToList().Find(x => x.Property == "Asset Type")?.Value);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Size, barcode?.Tags?.ToList().Find(x => x.Property == "Size")?.Value);
                    OnAddMoreTagsClickedAsync(TagsTypeEnum.Contents, barcode?.Tags?.ToList().Find(x => x.Property == "Contents")?.Value);
                    break;
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
コード例 #22
0
        private static ChartDataType[] GetChartedData(IEnumerable <ChartDataType> datas, ViewTypeEnum viewType, bool isUseName, bool isUseDateNameInChart = false)
        {
            var dic = new Dictionary <string, ChartDataType>();

            foreach (var data in datas)
            {
                DateTime date;
                string   dateName;
                switch (viewType)
                {
                case ViewTypeEnum.Hours:
                    date     = new DateTime(data.DateTime.Year, data.DateTime.Month, data.DateTime.Day, data.DateTime.Hour, 0, 0);
                    dateName = string.Format("{0}.{1:00}.{2:00} {3}h", data.DateTime.Year, data.DateTime.Month, data.DateTime.Day, data.DateTime.Hour);
                    break;

                case ViewTypeEnum.Days:
                    date     = new DateTime(data.DateTime.Year, data.DateTime.Month, data.DateTime.Day);
                    dateName = string.Format("{0}.{1:00}.{2:00}", data.DateTime.Year, data.DateTime.Month, data.DateTime.Day);
                    break;

                case ViewTypeEnum.Weeks:
                    date     = new DateTime(data.DateTime.Year, data.DateTime.Month, data.DateTime.Day / 7 + 1);
                    dateName = string.Format("{0}.{1:00}.{2}w", data.DateTime.Year, data.DateTime.Month, data.DateTime.Day / 7 + 1);
                    break;

                case ViewTypeEnum.Months:
                    date     = new DateTime(data.DateTime.Year, data.DateTime.Month, 1);
                    dateName = string.Format("{0}.{1:00}", data.DateTime.Year, data.DateTime.Month);
                    break;

                case ViewTypeEnum.Years:
                    date     = new DateTime(data.DateTime.Year, 1, 1);
                    dateName = string.Format("{0}", data.DateTime.Year);
                    break;

                default:
                    throw new ArgumentOutOfRangeException("viewType", viewType, null);
                }
                var key = data.Name + dateName;
                if (dic.ContainsKey(key))
                {
                    dic[key].DateTime = date;
                    dic[key].Name     = isUseDateNameInChart ? dateName : data.Name;
                    dic[key].Price   += data.Price;
                    dic[key].Count   += data.Count;
                    dic[key].DateName = dateName;
                    dic[key].CodeBar  = data.CodeBar;
                }
                else
                {
                    dic[key] = new ChartDataType
                    {
                        DateTime = date,
                        Name     = isUseDateNameInChart ? dateName : data.Name,
                        Price    = data.Price,
                        Count    = data.Count,
                        DateName = dateName,
                        CodeBar  = data.CodeBar
                    };
                }
            }
            return(dic.Select(pair => pair.Value).OrderBy(d => d.DateTime).ToArray());
        }
コード例 #23
0
ファイル: ViewKey.cs プロジェクト: Avatarchik/NebulaWars
 public ViewKey(ViewTypeEnum viewTypeId, int width, int height)
 {
     Width      = width;
     Height     = height;
     ViewTypeId = viewTypeId;
 }
コード例 #24
0
        public static ChartDataType[] GetChartData(StatSalesType[] modelData, StatTypeEnum statType, ViewTypeEnum viewType, ChartTypeEnum chartType, FilterTypeEnum filterType,
                                                   bool isCount, bool isUseCodeInName)
        {
            switch (statType)
            {
            case StatTypeEnum.StatSales:
                return(GetViewData(modelData.Select(row => new ChartDataType
                {
                    DateTime = row.Date,
                    DateName = row.Date.ToString(),
                    Name = isUseCodeInName ? string.Format("{0} ({1})", row.Name, row.Number) : row.FullName,
                    CodeBar = isCount ? row.Qty.ToString() : string.Format("{0} €", GetTotal(row)),
                    Price = GetTotal(row),
                    Count = isCount ? row.Qty : GetTotal(row)
                }), viewType, chartType, filterType));

            case StatTypeEnum.StatSalesWithReceipts:
                return(GetViewData(modelData.Select(row => new ChartDataType
                {
                    DateTime = row.Date,
                    DateName = row.Date.ToString(),
                    Name = isUseCodeInName ? string.Format("{0} ({1})", row.Name, row.Number) : row.FullName,
                    CodeBar = isCount ? row.Qty.ToString() : string.Format("{0} €", GetPrix(row)),
                    Price = GetPrix(row),
                    Count = isCount ? row.Qty : GetPrix(row)
                }), viewType, chartType, filterType));
            }

            return(null);
        }
コード例 #25
0
ファイル: PageManager.cs プロジェクト: svlcode/HomeManager
 private bool TryFindPage(ViewTypeEnum findView, out XtraTabPage findPage)
 {
     findPage = null;
     foreach (XtraTabPage page in _tabControl.TabPages)
     {
         if (HasView(page, findView))
         {
             findPage = page;
             return true;
         }
     }
     return false;
 }
コード例 #26
0
 public string GetPath(ViewTypeEnum ViewTypeEnum)
 {
     return(dict[ViewTypeEnum]);
 }
コード例 #27
0
        private static ChartDataType[] GetViewData(IEnumerable <ChartDataType> datas, ViewTypeEnum viewType, ChartTypeEnum chartType, FilterTypeEnum filterType)
        {
            switch (chartType)
            {
            case ChartTypeEnum.HistogramChart:
            case ChartTypeEnum.ColumnarChart:
            case ChartTypeEnum.LineChart:
                return(GetChartedData(datas, viewType, filterType != FilterTypeEnum.ProductOrBarcode));

            case ChartTypeEnum.ThreeDimensionalChart:
                return(filterType == FilterTypeEnum.ProductOrBarcode ? GetChartedData(datas, viewType, false, true) : GetChartedData(datas, viewType, true));

            default:
                return(datas.OrderBy(d => d.DateTime).ToArray());
            }
        }