Beispiel #1
0
    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);
    }
Beispiel #2
0
    //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);
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    //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);
    }
Beispiel #5
0
    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);
    }