Пример #1
0
    //----------------------------------------------------------------------------------------------------------------------------------

    // Use this for initialization

    void Start()
    {
        thisTransform = this.transform;
        Vector3 MaxCamera = Camera.main.ViewportToWorldPoint(new Vector3(1, 1, 0));
        Vector3 MinCamera = Camera.main.ViewportToWorldPoint(new Vector3(0, 0, 0));

        leftBoundary   = MinCamera.x;
        rightBoundary  = MaxCamera.x;
        bottomBoundary = MinCamera.y;
        topBoundary    = MaxCamera.y;

        building1    = new TerrainDetails("building1", buildingObj1, 4);
        building2    = new TerrainDetails("building2", buildingObj2, 4);
        commonDesert = new TerrainDetails("commonTree", commonDesertObj, 3);

        ///insert terrain wise here
        ///

        switch (GameManager.value)
        {
        case 0:
            arctic1 = new TerrainDetails("arctic", arcticObj1, 3);
            break;

        case 1:        //woodland
            woodland1 = new TerrainDetails("woodland", woodlandObj1, 3);
            break;

        case 2:        //desert
            desert1 = new TerrainDetails("desert", desertObj1, 3);
            break;

        case 3:        //arctic
            arctic1 = new TerrainDetails("arctic", arcticObj1, 3);
            break;

        case 4:
            woodland1 = new TerrainDetails("woodland", woodlandObj1, 3);
            break;

        default:
            print("No terrain is selected");
            break;
        }
    }
Пример #2
0
        public void AddOrUpdateLocalTerrainDetails(TerrainDetails details)
        {
            bool found = false;

            lock (_dataLock)
            {
                for (int i = 0; i < _localTerrainDetailsList.Count; i++)
                {
                    if (_localTerrainDetailsList[i].ToId == details.ToId)
                    {
                        _localTerrainDetailsList[i] = details;
                        found = true;
                        break;
                    }
                }

                if (!found)
                {
                    _localTerrainDetailsList.Add(details);
                }
            }
        }
Пример #3
0
        public void AddCommandElements()
        {
            if (_isListConfirmation)
            {
                _commandDetails.CommandElementList.Add("endlist");
            }
            else
            {
                TerrainDetails detailsToSend = new TerrainDetails()
                {
                    ToId     = _details.ToId,
                    LocalPos = new Point3 <int>
                               (
                        _details.LocalPosX,
                        _details.LocalPosY,
                        _details.LocalPosZ
                               ),
                    ParentId           = _details.ParentId,
                    IsParentalTeleport = _details.IsParentalTeleport,
                    IsExit             = _details.IsExit,

                    TodId        = _details.TerrainDefinition.TodId,
                    TodCode      = _details.TerrainDefinition.Code,
                    TodCollision = new Point3 <int>
                                   (
                        _details.TerrainDefinition.CollisionX,
                        _details.TerrainDefinition.CollisionY,
                        _details.TerrainDefinition.CollisionZ
                                   ),
                    TodIsTerrain  = _details.TerrainDefinition.IsTerrain,
                    TodIsPlatform = _details.TerrainDefinition.IsPlatform,
                    TodIsObstacle = _details.TerrainDefinition.IsObstacle
                };

                _commandDetails.CommandElementList.Add("position");
                _commandDetails.CommandElementList.Add(JsonConvert.SerializeObject(detailsToSend));
            }
        }
        public bool Execute()
        {
            bool executed = false;

            try
            {
                if (_cmdElements.Length < 2)
                {
                    throw new Exception("wrong count of elements");
                }

                if (_cmdElements[1].Equals("position", GlobalData.InputDataStringComparison))
                {
                    string         jsonTxt = _rawText.Substring($"{_keyWord} position".Length);
                    TerrainDetails details = JsonConvert.DeserializeObject <TerrainDetails>(jsonTxt);
                    _gameStateDetails.AddOrUpdateLocalTerrainDetails(details);
                }
                else
                if (_cmdElements[1].Equals("endlist", GlobalData.InputDataStringComparison))
                {
                    _gameStateDetails.LocalTerrainDetailsListConfirmed = true;
                    CommandHandler.Send(new GetLocationCharsCmdBuilder());
                }
                else
                {
                    throw new Exception($"wrong second keyword [{_cmdElements[1]}]");
                }

                executed = true;
            }
            catch (Exception exception)
            {
                _chat.UpdateLog($"Cannot execute local terrain details command: {exception.Message}");
            }

            return(executed);
        }
Пример #5
0
 public void SetTerrainDetails(TerrainDetails terrainDetails)
 {
     _terrainDetails = terrainDetails;
 }
 public StandardTerrainSegmentBuilder(TerrainDetails details)
     : base(details)
 {
 }
Пример #7
0
 public TerrainSegmentBuilder(TerrainDetails details)
 {
     //Debug.Log($"ter. details: to_id [{details.ToId}] tod_id [{details.TodId}] t [{details.TodIsTerrain}] p [{details.TodIsPlatform}] ob [{details.TodIsObstacle}]");
     _details = details;
 }