Exemple #1
0
    private static void CeckJobPass(ref ModelNPC.ObjectData result, ModelNPC.GameDataAlien dataAlien)
    {
        dataAlien.JobPass++;
        if (dataAlien.JobPass > 2)
        {
            Debug.Log(Storage.EventsUI.ListLogAdd = "[[[ JobPass Go To Home ]]] " + dataAlien.NameObject);

            if (dataAlien.PortalId == null)
            {
                Storage.PortalsManager.SetHome(dataAlien);
            }

            var info = ReaderScene.GetInfoID(dataAlien.PortalId);
            if (info != null)
            {
                if (dataAlien.JobPass >= 5)
                {
                    result = info.Data;
                }
                else
                {
                    var portal = info.Data as ModelNPC.PortalData;
                    if (portal != null && portal.Resources == null && portal.Resources.Count > 0)
                    {
                        result = info.Data;
                    }
                }
            }
            dataAlien.JobPass = 0;
        }
    }
Exemple #2
0
    public GameObject SelectedObserver()
    {
        GameObject m_gobjObservable = null;

        if (!string.IsNullOrEmpty(ID))
        {
            var findData = Storage.Person.GetFindPersonsDataForName(ID);
            if (findData == null)
            {
                Debug.Log("############# Not find person id=" + ID);
            }
            DataObject       = findData.DataObj;
            m_gobjObservable = GameObject.Find(findData.DataObj.NameObject);
        }

        if (m_gobjObservable == null)
        {
            //Storage.Events.ListLogAdd = "SelectedObserver EMPTY(" + this.gameObject.name + ") : " + m_storeNameObservable;
            Storage.EventsUI.ListLogAdd = "EMPTY(" + this.gameObject.name + ") : " + m_storeNameObservable;
            SetColorText(UIEvents.ColorAlert);
            return(null);
        }

        //if (m_isColorAlert)
        SetColorText(UIEvents.ColorExpOpen);

        //Storage.Events.ListLogAdd = "SELECTED --- " + GetName.Replace("_", " ");
        Storage.Instance.SelectGameObjectID = Helper.GetID(GetName);
        return(m_gobjObservable);
    }
    public static DataObjectInventory LootObjectToInventory(this ModelNPC.ObjectData targetData, ModelNPC.GameDataAlien alien = null)
    {
        //if(targetData.TypePrefab == SaveLoadData.TypePrefabs.Ground) //Filter: Loot
        if (m_emptyTrgetObjects.ContainsKey(targetData.TypePrefab)) //Filter: Loot
        {
            return(DataObjectInventory.EmptyInventory());
        }

        if (!Enum.IsDefined(typeof(SaveLoadData.TypeInventoryObjects), targetData.TypePrefabName))
        {
            Debug.Log("######## TypePrefabs not exist NameInventopyObject = " + targetData.TypePrefabName);
            return(DataObjectInventory.EmptyInventory());
        }
        int countResource = 1;

        ModelNPC.TerraData terraRes = targetData as ModelNPC.TerraData;
        if (terraRes != null)
        {
            countResource = terraRes.BlockResources;
            if (alien != null)
            {
                terraRes.BlockResources -= alien.WorkPower; // or  WorkPower - is time work
            }
        }
        SaveLoadData.TypeInventoryObjects invObject = (SaveLoadData.TypeInventoryObjects)Enum.Parse(typeof(SaveLoadData.TypeInventoryObjects), targetData.TypePrefabName);
        return(new DataObjectInventory(invObject.ToString(), countResource));
    }
Exemple #4
0
    public void UpdateDataObect(string nameField, int index, ModelNPC.ObjectData setObject, string callFunc, Vector3 newPos = new Vector3())
    {
        if (Storage.Log.IsSaveHistory)
        {
            ModelNPC.ObjectData oldObj = ReaderScene.GetObjectDataFromGrid(nameField, index);

            Storage.Log.SaveHistory(setObject.NameObject, "UpdateDataObect", callFunc, nameField, "", oldObj, setObject);
            Storage.Log.SaveHistory(oldObj.NameObject, "UpdateDataObect", callFunc, nameField, "RESAVE", oldObj, setObject);
        }

        var testPos = new Vector3();

        if (testPos != newPos)
        {
            //if (setObject.IsMoveValid()) //FIX~~TRANSFER
            //{
            //    setObject.IsTransfer = true;
            setObject.SetPosition(newPos);
            //    setObject.IsTransfer = false;
            //}
        }
        SetObjecDataFromGrid(nameField, index, setObject); // -- 3*

        if (Storage.Map.IsGridMap)
        {
            Storage.Map.CheckSector(nameField);
        }
    }
Exemple #5
0
    private static void CreateNewResource(PoolGameObjects.TypePoolPrefabs typePoolResource,
                                          AlienJob job,
                                          ReaderScene.DataObjectInfoID targetInfo,
                                          ModelNPC.GameDataAlien p_dataNPC)
    {
        PaletteMapController.SelCheckOptDel deleteOpt = PaletteMapController.SelCheckOptDel.None;
        PaletteMapController.SelCheckOptDel checkOpt  = PaletteMapController.SelCheckOptDel.DelTerra;
        if (typePoolResource != PoolGameObjects.TypePoolPrefabs.PoolFloor &&
            typePoolResource != PoolGameObjects.TypePoolPrefabs.PoolPerson)
        {
            checkOpt = PaletteMapController.SelCheckOptDel.DelPrefab;
        }

        ModelNPC.ObjectData spawnObject = Storage.GenWorld.GetCreatePrefab(job.ResourceResult, targetInfo.Field);
        bool isSpawned = Storage.Data.AddDataObjectInGrid(spawnObject,
                                                          targetInfo.Field, "CheckJobAlien",
                                                          p_modeDelete: deleteOpt,
                                                          p_modeCheck: checkOpt,
                                                          p_dataNPC: p_dataNPC);

        spawnObject.PortalId = p_dataNPC.PortalId;
        if (!isSpawned)
        {
            Debug.Log(Storage.EventsUI.ListLogAdd = "### JOB [" + job.Job.ToString() + "]: Not Spawn " + spawnObject.NameObject);
        }
        else if (job.Job == TypesJobs.Build)
        {
            ManagerPortals.AddConstruction(spawnObject, p_dataNPC);
        }
    }
Exemple #6
0
    /*
     * public void RemoveDataObjectInGrid(string nameField, int index, string callFunc, bool isDebug = false, ModelNPC.ObjectData dataObjDel = null)
     * {
     *  ModelNPC.ObjectData histData = null;
     *  if (Storage.Log.IsSaveHistory)
     *      histData = ReaderScene.GetObjectsDataFromGrid(nameField)[index];
     *  if (isDebug)
     *      Debug.Log("****** RemoveDataObjectInGrid : start " + histData);
     *
     *  if(dataObjDel!=null && dataObjDel.NameObject != histData.NameObject)
     *  {
     *      index = ReaderScene.GetObjectsDataFromGrid(nameField).FindIndex(p => p.NameObject == dataObjDel.NameObject);
     *      if (index == -1)
     *      {
     *          Debug.Log("###################### RemoveDataObjectInGrid    Data Del: " + dataObjDel.NameObject + "     Data Find: " + histData.NameObject + "  ... NOT find in Field: " + nameField);
     *          Storage.Log.SaveHistory(histData.NameObject, "ERROR RemoveDataObjectInGrid", callFunc, nameField, "Conflict Name", dataObjDel, histData);
     *          return;
     *      }
     *      histData = ReaderScene.GetObjectsDataFromGrid(nameField)[index];
     *      if(dataObjDel.NameObject != histData.NameObject)
     *      {
     *          Debug.Log("###################### RemoveDataObjectInGrid    Data Del: " + dataObjDel.NameObject + "     Data Find: " + histData.NameObject + "  ... NOT find in Field: " + nameField);
     *          Storage.Log.SaveHistory(histData.NameObject, "ERROR RemoveDataObjectInGrid", callFunc, nameField, "Conflict Name", dataObjDel, histData);
     *          return;
     *      }
     *  }
     *
     *  //ReaderScene.GetObjecsDataFromGrid(nameField).RemoveAt(index);
     *  RemoveObjecDataGridByIndex(nameField, index);
     *
     *  if (Storage.Log.IsSaveHistory)
     *  {
     *      if (histData == null)
     *      {
     *          Debug.Log("##################### Error RemoveDataObjectInGrid save SaveHistory  histData == null ");
     *          return;
     *      }
     *      Storage.Log.SaveHistory(histData.NameObject, "RemoveDataObjectInGrid", callFunc, nameField, "", histData, dataObjDel);
     *  }
     *
     *  if (Storage.Map.IsGridMap)
     *      Storage.Map.CheckSector(nameField);
     * }
     */

    public void RemoveDataObjectInGrid(ModelNPC.ObjectData dataObjDel = null)
    {
        string nameField = string.Empty;
        int    index     = -1;

        if (dataObjDel != null)
        {
            Helper.GetNameFieldByPosit(ref nameField, dataObjDel.Position);
            //---------- test ------
            //var objs = ReaderScene.GetObjectsDataFromGrid(nameField);
            //index = objs.FindIndex(p => p.NameObject == dataObjDel.NameObject);
            //---------------------
            index = ReaderScene.GetObjectsDataFromGrid(nameField).FindIndex(p => p.NameObject == dataObjDel.NameObject);
            //---------------------

            if (index == -1)
            {
                Debug.Log("###################### RemoveDataObjectInGrid    Data Del: " + dataObjDel.NameObject + "     Data Find: " + dataObjDel.NameObject + "  ... NOT find in Field: " + nameField);
                Storage.Log.SaveHistory(dataObjDel.NameObject, "ERROR RemoveDataObjectInGrid", "", nameField, "Conflict Name", dataObjDel, dataObjDel);
                return;
            }
        }

        RemoveObjecDataGridByIndex(nameField, index);

        if (Storage.Log.IsSaveHistory)
        {
            Storage.Log.SaveHistory(dataObjDel.NameObject, "RemoveDataObjectInGrid", "RemoveDataObjectInGrid", nameField, "", dataObjDel, dataObjDel);
        }

        if (Storage.Map.IsGridMap)
        {
            Storage.Map.CheckSector(nameField);
        }
    }
Exemple #7
0
    // = Helper.FillAlienJibs(PersonPriority);//


    public static Dictionary <string, int> FillPrioritys(Dictionary <SaveLoadData.TypePrefabs, PriorityFinder> pioritys)
    {
        var max = Enum.GetValues(typeof(SaveLoadData.TypePrefabs)).Length - 1;

        var _CollectionPowerAllTypes = new Dictionary <string, int>();

        SaveLoadData.TypePrefabs prefabNameType;
        SaveLoadData.TypePrefabs prefabNameTypeTarget;
        for (int ind = 0; ind < max; ind++)
        {
            prefabNameType = (SaveLoadData.TypePrefabs)Enum.Parse(typeof(SaveLoadData.TypePrefabs), ind.ToString());
            //if (Helper.IsTypePrefabNPC(prefabNameType.ToString()))
            if (pioritys.ContainsKey(prefabNameType))
            {
                ModelNPC.ObjectData objData   = BilderGameDataObjects.BildObjectData(prefabNameType.ToString());
                PriorityFinder      prioritys = pioritys[prefabNameType];
                for (int indT = 0; indT < max; indT++)
                {
                    prefabNameTypeTarget = (SaveLoadData.TypePrefabs)Enum.Parse(typeof(SaveLoadData.TypePrefabs), indT.ToString());
                    ModelNPC.ObjectData objDataTarget = BilderGameDataObjects.BildObjectData(prefabNameTypeTarget.ToString());
                    int    power      = GetPriorityPower(objDataTarget, prioritys);
                    string keyJoinNPC = prefabNameType + "_" + prefabNameTypeTarget;
                    _CollectionPowerAllTypes.Add(keyJoinNPC, power);
                }
            }
        }
        return(_CollectionPowerAllTypes);
    }
Exemple #8
0
    public ModelNPC.ObjectData UpdateData(string callFunc)
    {
        _dataObject = SaveLoadData.GetObjectDataByGobj(this.gameObject);

        if (_dataObject == null)
        {
            Debug.Log("#################### Error data game object is Empty !!!!    :" + callFunc);
            return(null);
        }

        _dataObject.Init();

        if (_dataObject.NameObject != this.name)
        {
            Debug.Log("#################### Error data game object : " + _dataObject.NameObject + "  GO: " + this.name + "   :" + callFunc);
            return(null);
        }

        //if (_dataObject.TargetPosition == new Vector3(0, 0, 0))
        //{
        //    Debug.Log("#################### Error UFO dataUfo.TargetPosition is zero !!!!   :" + callFunc);
        //    return null;
        //}
        return(_dataObject);
    }
Exemple #9
0
    public void UpdateLinkDataFormModel(ModelNPC.ObjectData newData)
    {
        if (false == CheckCollectionInfoID(newData.Id, false))
        {
            return;
        }

        string field = string.Empty;

        Helper.GetNameFieldByPosit(ref field, newData.Position);
        List <ModelNPC.ObjectData> result = null;

        GetObjectsDataFromGridTo(ref result, field);
        int index = -1;

        if (result != null)
        {
            index = result.FindIndex(p => p.Id == newData.Id || p.NameObject == newData.NameObject);
        }
        if (index == -1)
        {
            CollectionInfoID[newData.Id].UpdateData(newData, string.Empty, -1);
        }
        else
        {
            CollectionInfoID[newData.Id].UpdateData(newData, field, index);
        }
    }
Exemple #10
0
    private string GetDataID(ModelNPC.ObjectData newData)
    {
        string id       = Helper.GetID(newData.NameObject);
        var    persData = newData as ModelNPC.PersonData;

        return(id);
    }
Exemple #11
0
 public void StartSetData(ModelNPC.ObjectData value)
 {
     if (m_Data != null)
     {
         Debug.Log(Storage.EventsUI.ListLogAdd = "######## StartSetData m_Data is fill ???");
     }
     m_Data = value;
 }
Exemple #12
0
    public GameObject CreateGameObjectByData(ModelNPC.ObjectData objData)
    {
        var newGO = Storage.Pool.GetPoolGameObject("new", objData.TypePoolPrefabName, new Vector3(0, 0, 0));

        objData.UpdateGameObjectAndID(newGO);
        newGO.transform.position = objData.Position;
        newGO.name = objData.NameObject;

        return(newGO);
    }
Exemple #13
0
    public bool AddFirstDataObjectInGrid(ModelNPC.ObjectData objDataSave, string nameField)
    {
        ModelNPC.FieldData fieldData = new ModelNPC.FieldData()
        {
            NameField = nameField
        };
        _GridDataG.FieldsD.Add(nameField, fieldData);
        fieldData.Objects.Add(objDataSave);

        return(true);
    }
Exemple #14
0
    public void SetObjecDataFromGrid(string nameField, int index, ModelNPC.ObjectData newData)
    {
        if (!ReaderScene.IsGridDataFieldExist(nameField))
        {
            Storage.Data.AddNewFieldInGrid(nameField, "SetObjecDataFromGrid");
        }
        ReaderScene.GetObjectsDataFromGrid(nameField)[index] = newData;

        if (Storage.Instance.ReaderSceneIsValid)
        {
            Storage.ReaderWorld.UpdateLinkData(newData, nameField, index);
        }
    }
Exemple #15
0
    //public static bool IsTypeTypePrefabObjects(string strType)
    //{
    //    return Enum.GetNames(typeof(SaveLoadData.TypePrefabObjects)).Any(x => x.ToLower() == strType.ToLower());
    //}

    #region Priority utility

    public static ModelNPC.ObjectData GenericOnPriorityByType(SaveLoadData.TypePrefabs typeRequested, Vector3 posRequested, int distantionFind, Dictionary <SaveLoadData.TypePrefabs, PriorityFinder> p_prioritys, Action p_actionLoadPriority, bool isFoor)
    {
        if (p_prioritys == null)
        {
            Storage.EventsUI.ListLogAdd = "### GenericTerraOnPriority >> PersonPriority is null";
            if (p_actionLoadPriority != null)
            {
                p_actionLoadPriority();
            }
            return(null);
        }

        ModelNPC.ObjectData result = new ModelNPC.ObjectData();
        result = FindFromLocationType(typeRequested, posRequested, distantionFind, isFoor);
        return(result);
    }
Exemple #16
0
        public void UpdateData(ModelNPC.ObjectData value, string p_field, int p_index = -1, bool isTestValid = false)
        {
            m_Data = value;
            //if(isTestValid)
            //    TestIsValud();

            m_Field = p_field;

            if (p_index != -1)
            {
                IndexField = p_index;
            }

            //if (isTestValid)
            //    TestIsValud();
        }
Exemple #17
0
    public void UpdateField(ModelNPC.ObjectData newData, string newField)
    {
        if (newField == null || newData == null || newData.NameObject == null)
        {
            //Debug.Log("### UpdateField.newField is null");
            return;
        }
        string id = GetDataID(newData);

        if (false == CheckCollectionInfoID(id))
        {
            return;
        }

        CollectionInfoID[id].Field = newField;
    }
Exemple #18
0
    public void UpdateLinkData(ModelNPC.ObjectData newData, string newField, int index)
    {
        if (newData == null || newData.NameObject == null)
        {
            //Debug.Log("### UpdateLinkGobject.newData is null");
            return;
        }
        string id = GetDataID(newData);

        if (false == CheckCollectionInfoID(id, true))
        {
            return;
        }

        CollectionInfoID[id].UpdateData(newData, newField, index);
    }
Exemple #19
0
    public static int GetPriorityPower(ModelNPC.ObjectData objData, PriorityFinder priority)
    {
        int power = 0;

        SaveLoadData.TypePrefabs        typeModel = objData.TypePrefab;
        PoolGameObjects.TypePoolPrefabs typePool  = objData.TypePoolPrefab;
        TypesBiomNPC biomNPC = GetBiomByTypeModel(typeModel);

        int slotPower     = 3;
        int maxtPrioprity = 10;

        //maxtPrioprity = priority.GetPrioritysTypeModel().Count() * slotPower;
        maxtPrioprity = GetPrioritysTypeModel(priority).Count() * slotPower;
        //foreach (SaveLoadData.TypePrefabs itemModel in priority.GetPrioritysTypeModel())
        foreach (SaveLoadData.TypePrefabs itemModel in GetPrioritysTypeModel(priority))
        {
            if (itemModel == typeModel)
            {
                power += maxtPrioprity;
                break;
            }
            maxtPrioprity -= slotPower;
        }
        maxtPrioprity = priority.PrioritysTypeBiomNPC.Count() * slotPower;
        foreach (TypesBiomNPC itemBiom in priority.PrioritysTypeBiomNPC)
        {
            if (itemBiom == biomNPC)
            {
                power += maxtPrioprity;
                break;
            }
            maxtPrioprity -= slotPower;
        }
        maxtPrioprity = priority.PrioritysTypeBiomNPC.Count() * slotPower;
        foreach (PoolGameObjects.TypePoolPrefabs itemPool in priority.PrioritysTypePool)
        {
            if (itemPool == typePool)
            {
                power += maxtPrioprity;
                break;
            }
            maxtPrioprity -= slotPower;
        }

        return(power);
    }
Exemple #20
0
    public bool AddDataObjectInGrid(ModelNPC.ObjectData objDataSave, string nameField, string callFunc)
    {
        ModelNPC.FieldData fieldData;
        if (!_GridDataG.FieldsD.TryGetValue(nameField, out fieldData))
        {
            AddNewFieldInGrid_Cache(ref fieldData, nameField, callFunc);
        }

        if (isTestSlow)
        {
            var ind = fieldData.Objects.FindIndex(p => p.NameObject == objDataSave.NameObject);
            if (ind != -1)
            {
                Debug.Log("########## AddDataObjectInGrid [" + objDataSave.NameObject + "] DUBLICATE:   in " + nameField + "    " + callFunc);
                Storage.Log.GetHistory(objDataSave.NameObject);
                return(false);
            }
        }

        //---------------------------- TEST DUBLICATE HARD
        //foreach(var itemTest in Storage.Person.GetAllDataPersonsForName(objDataSave.Id))
        //{
        //    if(itemTest.NameObject != objDataSave.NameObject)
        //        Debug.Log(Storage.EventsUI.ListLogAdd = "#### AddDataObjectInGrid FIX@@DUBLICATE >> " + itemTest.NameObject + " ME:" + objDataSave.NameObject);
        //}
        //----------------------------

        fieldData.Objects.Add(objDataSave);

        if (Storage.Instance.ReaderSceneIsValid)
        {
            Storage.ReaderWorld.UpdateLinkData(objDataSave, fieldData.NameField, fieldData.Objects.Count - 1);
        }

        if (Storage.Map.IsGridMap)
        {
            Storage.Map.CheckSector(nameField);
        }

        if (Storage.Log.IsSaveHistory)
        {
            Storage.Log.SaveHistory(objDataSave.NameObject, "AddDataObjectInGrid", callFunc, nameField, "", null, objDataSave);
        }

        return(true);
    }
Exemple #21
0
    public static DataObjectInventory GetInventoryObject(this ModelNPC.ObjectData targetData)
    {
        if (!Enum.IsDefined(typeof(SaveLoadData.TypeInventoryObjects), targetData.TypePrefabName))
        {
            Debug.Log("######## TypePrefabs not exist NameInventopyObject = " + targetData.TypePrefabName);
            return(new DataObjectInventory());
        }

        int countResource = 1;

        ModelNPC.TerraData terraRes = targetData as ModelNPC.TerraData;
        if (terraRes != null)
        {
            countResource = terraRes.BlockResources;
        }
        SaveLoadData.TypeInventoryObjects invObject = (SaveLoadData.TypeInventoryObjects)Enum.Parse(typeof(SaveLoadData.TypeInventoryObjects), targetData.TypePrefabName);
        return(new DataObjectInventory(invObject.ToString(), countResource));
    }
Exemple #22
0
    public static void AddConstruction(ModelNPC.ObjectData spawnedBuild, ModelNPC.GameDataAlien alien)
    {
        if (string.IsNullOrEmpty(spawnedBuild.PortalId))
        {
            Debug.Log(Storage.EventsUI.ListLogAdd = "### Portal AddConstruction = spawnedBuild.PortalId - is null");
            return;
        }
        ModelNPC.PortalData portal = Storage.PortalsManager.Portals.Find(p => p.Id == spawnedBuild.PortalId); //  info.Data as ModelNPC.PortalData;
        if (portal == null)
        {
            Debug.Log(Storage.EventsUI.ListLogAdd = "### Portal AddConstruction =  Storage.PortalsManager.Portals - not found = " + spawnedBuild.PortalId);
            Storage.PortalsManager.SetHome(alien);
            spawnedBuild.PortalId = alien.PortalId;


            var info = ReaderScene.GetInfoID(spawnedBuild.PortalId);
            if (info == null)
            {
                Debug.Log(Storage.EventsUI.ListLogAdd = "### Portal AddConstruction = spawnedBuild.Id - not found = " + spawnedBuild.Id);
            }
            else
            {
                portal = info.Data as ModelNPC.PortalData;
            }
        }

        //%CLUSTER FILL
        if (spawnedBuild.IsFloor())
        {
            Vector2Int posField    = Helper.GetFieldPositByWorldPosit(spawnedBuild.Position);
            int        clusterFill = AlienJobsManager.GetClusterSize(posField.x, posField.y, spawnedBuild.TypePrefab);
            (spawnedBuild as ModelNPC.TerraData).ClusterFillSize = clusterFill;
            (spawnedBuild as ModelNPC.TerraData).DataCreate      = DateTime.Now;
        }

        if (portal != null)
        {
            portal.AddConstruction(spawnedBuild.TypePrefab, spawnedBuild.Id);
        }
        else
        {
            Debug.Log(Storage.EventsUI.ListLogAdd = "### Portal AddConstruction = portal is null");
        }
    }
Exemple #23
0
    public void UpdateLinkData(ModelNPC.ObjectData newData, bool isGeneric = false, string field = "", int index = -1)
    {
        if (newData == null || newData.NameObject == null) // || isGeneric)
        {
            //Debug.Log("### UpdateLinkGobject.newData is null");
            return;
        }
        string id = GetDataID(newData);

        if (false == CheckCollectionInfoID(id, isGeneric))
        {
            return;
        }

        if (isGeneric)
        {
            CollectionInfoID[id].StartSetData(newData);
        }
        else
        {
            CollectionInfoID[id].UpdateData(newData, field, index);
        }
    }
Exemple #24
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);
    }
Exemple #25
0
        public bool TestIsValudField()
        {
            if (m_Data == null)
            {
                return(false);
            }
            if (string.IsNullOrEmpty(Field))
            {
                return(false);
            }
            if (IndexField == -1)
            {
                return(false);
            }
            ModelNPC.ObjectData findData = GetObjectDataFromGridContinue(Field, IndexField);
            if (findData == null)
            {
                return(false);
            }
            bool test   = findData.NameObject == m_Data.NameObject;
            bool result = findData.Id == m_Data.Id;

            return(result);
        }
Exemple #26
0
    public static ModelNPC.ObjectData BildObjectData(SaveLoadData.TypePrefabs prefabType)
    {
        switch (prefabType)
        {
        case SaveLoadData.TypePrefabs.PrefabRock:
            objGameBild = new ModelNPC.Rock();
            break;

        case SaveLoadData.TypePrefabs.PrefabVood:
            objGameBild = new ModelNPC.Vood();
            break;

        case SaveLoadData.TypePrefabs.PrefabElka:
            objGameBild = new ModelNPC.Elka();
            break;

        case SaveLoadData.TypePrefabs.PrefabWallRock:
            objGameBild = new ModelNPC.WallRock();
            break;

        case SaveLoadData.TypePrefabs.PrefabWallWood:
            objGameBild = new ModelNPC.WallWood();
            break;

        case SaveLoadData.TypePrefabs.PrefabUfo:
            objGameBild = new ModelNPC.GameDataUfo();
            break;

        case SaveLoadData.TypePrefabs.PrefabBoss:
            objGameBild = new ModelNPC.GameDataBoss();
            break;

        case SaveLoadData.TypePrefabs.PrefabField:
            objGameBild = new ModelNPC.TerraData();
            break;

        case SaveLoadData.TypePrefabs.PrefabFloor:
            objGameBild = new ModelNPC.TerraData();
            break;

        case SaveLoadData.TypePrefabs.PrefabPerson:
            objGameBild = new ModelNPC.GameDataAlien();
            break;

        case SaveLoadData.TypePrefabs.PrefabFlore:
            objGameBild = new ModelNPC.ObjectData();
            break;

        case SaveLoadData.TypePrefabs.Inspector:
            objGameBild = new ModelNPC.GameDataAlienInspector();
            break;

        case SaveLoadData.TypePrefabs.Machinetool:
            objGameBild = new ModelNPC.GameDataAlienMachinetool();
            break;

        case  SaveLoadData.TypePrefabs.Mecha:
            objGameBild = new ModelNPC.GameDataAlienMecha();
            break;

        case  SaveLoadData.TypePrefabs.Dendroid:
            objGameBild = new ModelNPC.GameDataAlienDendroid();
            break;

        case SaveLoadData.TypePrefabs.Gary:
            objGameBild = new ModelNPC.GameDataAlienGarry();
            break;

        case SaveLoadData.TypePrefabs.Lollipop:
            objGameBild = new ModelNPC.GameDataAlienLollipop();
            break;

        case SaveLoadData.TypePrefabs.Blastarr:
            objGameBild = new ModelNPC.GameDataAlienBlastarr();
            break;

        case SaveLoadData.TypePrefabs.Hydragon:
            objGameBild = new ModelNPC.GameDataAlienHydragon();
            break;

        case SaveLoadData.TypePrefabs.Pavuk:
            objGameBild = new ModelNPC.GameDataAlienPavuk();
            break;

        case SaveLoadData.TypePrefabs.Skvid:
            objGameBild = new ModelNPC.GameDataAlienSkvid();
            break;

        case SaveLoadData.TypePrefabs.Fantom:
            objGameBild = new ModelNPC.GameDataAlienFantom();
            break;

        case SaveLoadData.TypePrefabs.Mask:
            objGameBild = new ModelNPC.GameDataAlienMask();
            break;

        case SaveLoadData.TypePrefabs.Vhailor:
            objGameBild = new ModelNPC.GameDataAlienVhailor();
            break;

        case SaveLoadData.TypePrefabs.Swamp:
            objGameBild = new ModelNPC.Swamp();
            break;

        case SaveLoadData.TypePrefabs.Chip:
            objGameBild = new ModelNPC.Chip();
            break;

        case SaveLoadData.TypePrefabs.Gecsagon:
            objGameBild = new ModelNPC.Gecsagon();
            break;

        case SaveLoadData.TypePrefabs.Kamish:
            objGameBild = new ModelNPC.Kamish();
            break;

        case SaveLoadData.TypePrefabs.Kishka:
            objGameBild = new ModelNPC.Kishka();
            break;

        case SaveLoadData.TypePrefabs.Nerv:
            objGameBild = new ModelNPC.Nerv();
            break;

        case SaveLoadData.TypePrefabs.Orbits:
            objGameBild = new ModelNPC.Orbits();
            break;

        case SaveLoadData.TypePrefabs.Shampinion:
            objGameBild = new ModelNPC.Shampinion();
            break;

        case SaveLoadData.TypePrefabs.Berry:
            objGameBild = new ModelNPC.Berry();
            break;

        case SaveLoadData.TypePrefabs.Mashrooms:
            objGameBild = new ModelNPC.Mashrooms();
            break;

        case SaveLoadData.TypePrefabs.Weed:
            objGameBild = new ModelNPC.Weed();
            break;

        case SaveLoadData.TypePrefabs.Weedflower:
            objGameBild = new ModelNPC.Weedflower();
            break;

        case SaveLoadData.TypePrefabs.Corals:
            objGameBild = new ModelNPC.Corals();
            break;

        case SaveLoadData.TypePrefabs.Desert:
            objGameBild = new ModelNPC.Desert();
            break;

        case SaveLoadData.TypePrefabs.Diods:
            objGameBild = new ModelNPC.Diods();
            break;

        case SaveLoadData.TypePrefabs.Parket:
            objGameBild = new ModelNPC.Parket();
            break;

        //--------- Wall
        case SaveLoadData.TypePrefabs.Kolba:
            objGameBild = new ModelNPC.Kolba();
            break;

        case SaveLoadData.TypePrefabs.Lantern:
            objGameBild = new ModelNPC.Lantern();
            break;

        case SaveLoadData.TypePrefabs.Bananas:
            objGameBild = new ModelNPC.Bananas();
            break;

        case SaveLoadData.TypePrefabs.Cluben:
            objGameBild = new ModelNPC.Cluben();
            break;

        case SaveLoadData.TypePrefabs.Chpok:
            objGameBild = new ModelNPC.Chpok();
            break;

        case SaveLoadData.TypePrefabs.Pandora:
            objGameBild = new ModelNPC.Pandora();
            break;

        case SaveLoadData.TypePrefabs.Nadmozg:
            objGameBild = new ModelNPC.Nadmozg();
            break;

        case SaveLoadData.TypePrefabs.Triffid:
            objGameBild = new ModelNPC.Triffid();
            break;

        case SaveLoadData.TypePrefabs.Aracul:
            objGameBild = new ModelNPC.Aracul();
            break;

        case SaveLoadData.TypePrefabs.Cloudwood:
            objGameBild = new ModelNPC.Cloudwood();
            break;

        case SaveLoadData.TypePrefabs.BlueBerry:
            objGameBild = new ModelNPC.BlueBerry();
            break;

        case SaveLoadData.TypePrefabs.Sosna:
            objGameBild = new ModelNPC.Sosna();
            break;

        case SaveLoadData.TypePrefabs.Iva:
            objGameBild = new ModelNPC.Iva();
            break;

        case SaveLoadData.TypePrefabs.Klen:
            objGameBild = new ModelNPC.Klen();
            break;

        case SaveLoadData.TypePrefabs.RockBrown:
            objGameBild = new ModelNPC.RockBrown();
            break;

        case SaveLoadData.TypePrefabs.RockValun:
            objGameBild = new ModelNPC.RockValun();
            break;

        case SaveLoadData.TypePrefabs.RockDark:
            objGameBild = new ModelNPC.RockDark();
            break;

        case SaveLoadData.TypePrefabs.Grass:
            objGameBild = new ModelNPC.Grass();
            break;

        case SaveLoadData.TypePrefabs.GrassMedium:
            objGameBild = new ModelNPC.GrassMedium();
            break;

        case SaveLoadData.TypePrefabs.GrassSmall:
            objGameBild = new ModelNPC.GrassSmall();
            break;

        case SaveLoadData.TypePrefabs.Ground:
            objGameBild = new ModelNPC.Ground();
            break;

        case SaveLoadData.TypePrefabs.Ground02:
            objGameBild = new ModelNPC.Ground02();
            break;

        case SaveLoadData.TypePrefabs.Ground03:
            objGameBild = new ModelNPC.Ground03();
            break;

        case SaveLoadData.TypePrefabs.Ground04:
            objGameBild = new ModelNPC.Ground04();
            break;

        case SaveLoadData.TypePrefabs.Ground05:
            objGameBild = new ModelNPC.Ground05();
            break;

        case SaveLoadData.TypePrefabs.Tussock:
            objGameBild = new ModelNPC.Tussock();
            break;

        case SaveLoadData.TypePrefabs.Osoka:
            objGameBild = new ModelNPC.Osoka();
            break;

        case SaveLoadData.TypePrefabs.Iris:
            objGameBild = new ModelNPC.Iris();
            break;

        case SaveLoadData.TypePrefabs.Ej:
            objGameBild = new ModelNPC.GameDataAlienEj();
            break;


        case SaveLoadData.TypePrefabs.PortalBlue:
            objGameBild = new ModelNPC.PortalBlue();
            break;

        case SaveLoadData.TypePrefabs.PortalGreen:
            objGameBild = new ModelNPC.PortalGreen();
            break;

        case SaveLoadData.TypePrefabs.PortalRed:
            objGameBild = new ModelNPC.PortalRed();
            break;

        case SaveLoadData.TypePrefabs.PortalViolet:
            objGameBild = new ModelNPC.PortalViolet();
            break;

        default:
            objGameBild = new ModelNPC.ObjectData();
            break;
        }

        //objGameBild.Id = Guid.NewGuid().ToString();
        return(objGameBild);
    }
Exemple #27
0
 public static bool IsUFO(this ModelNPC.ObjectData model)
 {
     return(model is ModelNPC.GameDataUfo);
 }
Exemple #28
0
 public static bool IsWood(this ModelNPC.ObjectData model)
 {
     return(model is ModelNPC.WallWood);
 }
Exemple #29
0
 public static bool IsBoss(this ModelNPC.ObjectData model)
 {
     return(model is ModelNPC.GameDataBoss);
 }
Exemple #30
0
 public static bool IsWall(this ModelNPC.ObjectData model)
 {
     return(model is ModelNPC.WallData);
 }