public static bool IsFieldMe(int x, int y, SaveLoadData.TypePrefabs prefabMe) { string nameField = Helper.GetNameField(x, y); List <ModelNPC.ObjectData> dataObjs = ReaderScene.GetObjectsDataFromGridContinue(nameField); if (dataObjs == null) { return(false); } foreach (ModelNPC.ObjectData itemData in dataObjs) { if (itemData.TypePrefab == prefabMe) { return(true); } } return(false); }
//public static bool IsFieldFree( // List<PoolGameObjects.TypePoolPrefabs> filretsIgnorType = null, // int x = 0, int y = 0) //{ // string nameField = Helper.GetNameField(x, y); // List<ModelNPC.ObjectData> dataObjs = ReaderScene.GetObjectsDataFromGridContinue(nameField); // foreach (ModelNPC.ObjectData itemData in dataObjs) // { // if (filretsIgnorType.Contains(itemData.TypePoolPrefab)) // { // return false; // } // } // return true; //} public static bool IsFreeFieldConstructBiom(int x, int y, TypesBiomNPC biomType) { string nameField = Helper.GetNameField(x, y); List <ModelNPC.ObjectData> dataObjs = ReaderScene.GetObjectsDataFromGridContinue(nameField); if (dataObjs == null) { return(true); } foreach (ModelNPC.ObjectData itemData in dataObjs) { if (Storage.GridData.GetPrefabsBioms[biomType].Contains(itemData.TypePrefab)) { return(false); } } return(true); }
public static bool IsFreeFieldConstruct(int x = 0, int y = 0) { string nameField = Helper.GetNameField(x, y); List <ModelNPC.ObjectData> dataObjs = ReaderScene.GetObjectsDataFromGridContinue(nameField); if (dataObjs == null) { return(true); } foreach (ModelNPC.ObjectData itemData in dataObjs) { if (itemData.TypePoolPrefab != PoolGameObjects.TypePoolPrefabs.PoolFloor) { return(false); } } return(true); }
//public static void IsMeCluster(ref bool result, int x, int y, SaveLoadData.TypePrefabs resourceResult, int ClusterSize = 0) //{ // int countClusterObjects = 0; // for (int stepX = -1; stepX < 2; stepX ++) // { // for (int stepY = -1; stepY < 2; stepY++) // { // result = IsFieldMe(x + stepX, y + stepY, resourceResult); // if (result) // { // if(countClusterObjects >= ClusterSize) // return; // countClusterObjects++; // } // } // } //} //public static bool IsFilledLocationConstruction(int x, int y) //{ // return false; //} //List<PoolGameObjects.TypePoolPrefabs> filretsIgnorType = null) /* * public static bool IsFreeLocationConstruction( * ref Dictionary<Vector2Int, bool> excludedFreeFileds, * int x, int y, * int lenSnake, * TypesBiomNPC biomType * ) * * { * temp_spatal.indexSingle = 0; * temp_spatal._single = 1; * temp_spatal.limitInvertSingle = 1; * temp_spatal.indexFileds = 0; * temp_spatal.isValid = true; // !isTestZonaWorls; * temp_spatal.index = 0; * temp_spatal.nextF = 0; * temp_spatal.Order = 0; * temp_spatal.StartX = x; * temp_spatal.StartY = y; * if (lenSnake == 0) * lenSnake = 40; * * for (temp_spatal.index = 0; temp_spatal.index < 20; temp_spatal.index++) * { * //X * for (temp_spatal.nextF = 0; temp_spatal.nextF < temp_spatal.index; temp_spatal.nextF++) * { * x += temp_spatal._single; * temp_spatal.isValid = true; * if (temp_spatal.isValid) * { * temp_spatal.testPosit = new Vector2Int(x, y); * //already tested on free * if (IsNotInListFree(temp_spatal.testPosit, excludedFreeFileds)) * { * //test on free * if (IsFreeFieldConstructBiom(x, y, biomType) == false) * return false; * AddExcludeFreeFiled(temp_spatal.testPosit, excludedFreeFileds); * } * temp_spatal.indexFileds++; * } * temp_spatal.indexSingle++; * if (temp_spatal.indexFileds > lenSnake) * return true; * if (temp_spatal.indexSingle >= temp_spatal.limitInvertSingle) * { * temp_spatal.limitInvertSingle += 2; * temp_spatal.indexSingle = 0; * temp_spatal._single *= -1; * } * } * //Y * for (temp_spatal.nextF = 0; temp_spatal.nextF < temp_spatal.index; temp_spatal.nextF++) * { * y += temp_spatal._single; * temp_spatal.isValid = true; * * if (temp_spatal.isValid) * { * temp_spatal.testPosit = new Vector2Int(x, y); * * //already tested on free * if (IsNotInListFree(temp_spatal.testPosit, excludedFreeFileds)) * { * //test on free * if (IsFreeFieldConstructBiom(x, y, biomType) == false) * return false; * AddExcludeFreeFiled(temp_spatal.testPosit, excludedFreeFileds); * } * temp_spatal.indexFileds++; * } * temp_spatal.indexSingle++; * if (temp_spatal.indexFileds > lenSnake) * return true; * if (temp_spatal.indexSingle >= temp_spatal.limitInvertSingle) * { * temp_spatal.limitInvertSingle += 2; * temp_spatal.indexSingle = 0; * temp_spatal._single *= -1; * } * } * } * * return true; * } */ public static bool FilterData( ref ModelNPC.ObjectData findedData, List <PoolGameObjects.TypePoolPrefabs> filretsIgnorType = null, SaveLoadData.TypePrefabs findType = SaveLoadData.TypePrefabs.PrefabField, int x = 0, int y = 0) { string nameField = Helper.GetNameField(x, y); List <ModelNPC.ObjectData> dataObjs = ReaderScene.GetObjectsDataFromGridContinue(nameField); foreach (ModelNPC.ObjectData itemData in dataObjs) { if (filretsIgnorType.Contains(itemData.TypePoolPrefab)) { findedData = null; break; } else if (itemData.TypePrefab == findType) { findedData = itemData; } } return(true); }
public void InitDialogView(SceneDebuger.CaseSceneDialogPerson p_caseDialogPerson, ModeInfo p_mode = ModeInfo.Person) { if (DialogIcon == null) { return; } var data = p_caseDialogPerson.Person.Data; if (p_mode == ModeInfo.Person) { CaseDialogPerson = p_caseDialogPerson; string modelView = data.ModelView; if (modelView == null) { modelView = data.TypePrefab.ToString(); } if (!Storage.Palette.SpritesPrefabs.ContainsKey(modelView)) { Debug.Log(Storage.EventsUI.ListLogAdd = "#### InitDialogView Not found modelView = " + modelView); DialogIcon.GetComponent <SpriteRenderer>().sprite = null; } else { Sprite spriteGobject = Storage.Palette.SpritesPrefabs[modelView]; DialogIcon.GetComponent <SpriteRenderer>().sprite = spriteGobject; } string spriteNameAction = "ActionIcon" + data.CurrentAction.ToString(); //"ActionIconMove" if (!Storage.Palette.SpritesUI.ContainsKey(spriteNameAction)) { Debug.Log(Storage.EventsUI.ListLogAdd = "#### InitDialogView Not found spriteNameAction = " + spriteNameAction); DialogIconAction.GetComponent <SpriteRenderer>().sprite = null; } else { Sprite spriteAction = Storage.Palette.SpritesUI[spriteNameAction]; DialogIconAction.GetComponent <SpriteRenderer>().sprite = spriteAction; } string fieldTarget = Helper.GetNameFieldPosit(data.TargetPosition.x, data.TargetPosition.y); if (fieldTarget == null) { Debug.Log(Storage.EventsUI.ListLogAdd = "#### fieldTarget is null "); return; } var objectsGrid = ReaderScene.GetObjectsDataFromGridContinue(fieldTarget); if (objectsGrid != null) { //Debug.Log(Storage.EventsUI.ListLogAdd = "#### objectsGrid is null from " + fieldTarget); //return; foreach (var objData in objectsGrid) { if (objData == null) { Storage.EventsUI.ListLogAdd = "### TARGET ReaderScene NOT FIELD: " + fieldTarget; continue; } string modelViewTarget = objData.ModelView; if (modelViewTarget == null) { modelViewTarget = objData.TypePrefabName; } if (modelViewTarget == null) { Debug.Log(Storage.EventsUI.ListLogAdd = "#### InitDialogView Not found modelViewTarget is null >> " + objData.NameObject); continue; } if (!Storage.Palette.SpritesPrefabs.ContainsKey(modelViewTarget)) { Debug.Log(Storage.EventsUI.ListLogAdd = "#### InitDialogView Not found modelViewTarget = " + modelViewTarget); DialogIconTarget.GetComponent <SpriteRenderer>().sprite = null; } else { Sprite spriteTarget = Storage.Palette.SpritesPrefabs[modelViewTarget]; DialogIconTarget.GetComponent <SpriteRenderer>().sprite = spriteTarget; if (p_caseDialogPerson.Person.Data != null) { if (CaseDialogTarget != null && CaseDialogTarget.IsLock && CaseDialogTarget.Person != null && CaseDialogTarget.Person.ID == p_caseDialogPerson.Person.ID) { Storage.SceneDebug.UpdateTargetDialog(CaseDialogTarget, p_caseDialogPerson.Person, modelViewTarget); } else { CaseDialogTarget = Storage.SceneDebug.CreateTargetDialog(p_caseDialogPerson.Person, modelViewTarget); } DrawRayTarget(); //!!!!!!!!!!!!!!!!!!!!!! } else { Debug.Log(Storage.EventsUI.ListLogAdd = "#### InitDialogView Not found p_caseDialogPerson.Person.Data is null >> " + p_caseDialogPerson.Person.ID); } break; } } } } else { CaseDialogPerson = p_caseDialogPerson; DialogIcon.GetComponent <SpriteRenderer>().sprite = Storage.Palette.SpritesPrefabs[DialogModelViewTarget]; } m_info = data.NameObject; SetMode(p_mode); }