Пример #1
0
    //#POLYLINE TRACK
    private void CrateNavigatorTrackPoints()
    {
        if (m_TrackPointsNavigator == null)
        {
            //Debug.Log("------------------ StartCoroutine -- CreateTrackPolyline " + this.name);
            StartCoroutine(CreateTrackPolyline());
        }
        else
        {
            //Debug.Log("------------------ scriptTrackPoints.TrackPoints get TrackPointsNavigator");
            TrackPointsNavigator scriptTrackPoints = m_TrackPointsNavigator.GetComponent <TrackPointsNavigator>();

            var tr1 = m_TrackPointsNavigator.transform;
            var tr2 = this.gameObject.transform;

            if (scriptTrackPoints == null)
            {
                Debug.Log("############ TrackPointsNavigator is Empty");
                return;
            }

            scriptTrackPoints.TrackPoints = m_TrackPoints;

            if (_dataNPC == null)
            {
                UpdateData("CrateNavigatorTrackPoints");
                if (_dataNPC == null)
                {
                    Debug.Log("################# CrateNavigatorTrackPoints dataNPC is Empty");
                    return;
                }
            }

            ModelNPC.GameDataBoss dataBoss = _dataNPC as ModelNPC.GameDataBoss;
            if (dataBoss != null)
            {
                scriptTrackPoints.ColorTrack = dataBoss.ColorRender;
            }
            //Debug.Log("------------------ scriptTrackPoints.TrackPoints =" + m_TrackPoints.Count + " points: " + scriptTrackPoints);
        }
    }
Пример #2
0
    public void CreateTextureMap(int scaleCell = 1, bool isRefresh = false)
    {
        string indErr   = "start";
        int    sizeMap  = Helper.HeightLevel;
        int    sizeDraw = Helper.HeightLevel * scaleCell;
        int    addSize  = scaleCell - 1;

        //List<Color> colorsPersons = new List<Color>();
        //List<SaveLoadData.TypePrefabs> listPersonsTypes = new List<SaveLoadData.TypePrefabs>();
        //List<Texture2D> listPersonsPrefabTexture = new List<Texture2D>();
        //List<Texture2D> listPersonsMapTexture = new List<Texture2D>();

        if (!isRefresh)
        {
            CreateFrameMap();
        }

        //Storage.Events.ListLogAdd = "Loaded map.." + DateTime.Now.ToLongTimeString();

        bool isPerson = false;

        //Texture2D texture = new Texture2D(sizeDraw, sizeDraw);
        //textureMap = new Texture2D(sizeDraw, sizeDraw);


        //------- GRID MAP
        if (IsGridMap)
        {
            //var spriteMapC = Sprite.Create(textureMap, new Rect(0.0f, 0.0f, sizeDraw, sizeDraw), new Vector2(0.5f, 0.5f), 100.0f);
            //prefabFrameMap.GetComponent<SpriteRenderer>().sprite = spriteMapC;
            if (m_isGridMapLoaded)
            {
                BoxCollider2D colliderMapC = prefabFrameMap.GetComponent <BoxCollider2D>();
                if (colliderMapC != null)
                {
                    prefabFrameMap.GetComponent <BoxCollider2D>().size = new Vector3(sizeDraw / Helper.WidthLevel, sizeDraw / Helper.HeightLevel, 0);
                }
            }
            LoadGrid();
            return;
        }
        //----------------------

        //textureMap
        //textureMap = null;
        //        textureMap = new Texture2D(sizeDraw, sizeDraw);
        //# fix mem 2.
        Texture2D textureMap = new Texture2D(sizeDraw, sizeDraw);


        try
        {
            indErr = "1";

            for (int y = 0; y < sizeMap; y++)
            {
                indErr = "2";
                for (int x = 0; x < sizeMap; x++)
                {
                    indErr   = "3";
                    isPerson = false;
                    indErr   = "5";
                    string nameField = Helper.GetNameField(x, y);
                    indErr = "6";
                    SaveLoadData.TypePrefabs prefabType = SaveLoadData.TypePrefabs.PrefabField;
                    indErr = "7";
                    if (!ReaderScene.IsGridDataFieldExist(nameField))
                    {
                        DrawTextureTo(scaleCell, indErr, addSize, textureMap, y, x, prefabType);
                        continue;
                    }
                    indErr = "9";
                    foreach (ModelNPC.ObjectData datObjItem in ReaderScene.GetObjectsDataFromGrid(nameField))
                    {
                        indErr = "10";
                        //Debug.Log("++++++++ : " + datObjItem + " " + datObjItem.TagObject + " =" + datObjItem.TagObject.IsPerson());
                        if (datObjItem.TypePrefabName != SaveLoadData.TypePrefabs.PrefabUfo.ToString() &&
                            datObjItem.TypePrefabName != SaveLoadData.TypePrefabs.PrefabBoss.ToString())
                        {
                            indErr     = "11";
                            prefabType = (SaveLoadData.TypePrefabs)Enum.Parse(typeof(SaveLoadData.TypePrefabs), datObjItem.TypePrefabName);
                        }
                        else
                        {
                            indErr = "12";
                            ModelNPC.GameDataBoss bossObj = datObjItem as ModelNPC.GameDataBoss;
                            if (bossObj != null)
                            {
                                indErr     = "";
                                prefabType = SaveLoadData.TypePrefabs.PrefabBoss;

                                ////+++DRAW PERSON ---------------------------------
                                //    //Texture2D personTexture = Storage.GridData.GetSpriteBoss(bossObj.Level).texture;
                                //    //listPersonsPrefabTexture.Add(personTexture);
                                ////>>>> Texture2D personMapTexture_True = Storage.GridData.GetTextuteMapBoss(bossObj.Level);
                                //Texture2D personMapTexture = TypeBoss.Instance.GetNameTextureMapForIndexLevel(bossObj.Level);
                                //listPersonsMapTexture.Add(personMapTexture);
                                //-----------------------------------------------------

                                isPerson = true;
                            }
                        }
                    }
                    indErr = "14";
                    ////----- DRAW
                    if (!isPerson)
                    {
                        DrawTextureTo(scaleCell, indErr, addSize, textureMap, y, x, prefabType);
                    }
                    //-----------------
                    //else
                    //{
                    indErr = "22";
                    //---- Draw Person

                    //+++DRAW PERSON
                    //for (int indMap2D = 0; indMap2D < listPersonsMapTexture.Count(); indMap2D++)
                    //{
                    //    Texture2D texturePerson = listPersonsMapTexture[indMap2D];
                    //    DrawTextureTo(scaleCell, indErr, addSize, texture, y, x, texturePerson);
                    //}
                }
            }
        }
        catch (Exception x)
        {
            Debug.Log("############# CreateTextureMap: " + indErr + "  " + x.Message);
            return;
        }

        textureMap = DrawLocationHero(textureMap);

        textureMap.Apply();

        //#fix mem
        var _spriteMap = Sprite.Create(textureMap, new Rect(0.0f, 0.0f, textureMap.width, textureMap.height), new Vector2(0.5f, 0.5f), 100.0f);

        prefabFrameMap.GetComponent <SpriteRenderer>().sprite = _spriteMap;
        BoxCollider2D colliderMap = prefabFrameMap.GetComponent <BoxCollider2D>();

        if (colliderMap != null)
        {
            prefabFrameMap.GetComponent <BoxCollider2D>().size = new Vector3(textureMap.width / Helper.WidthLevel, textureMap.height / Helper.HeightLevel, 0);
        }
    }