// = 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); }
//Clear location for portal public void ClearLocationAndCreateBiomFloor(int fieldX, int fieldY) { var portal = this; TypesBiomNPC typePortal = portal.TypeBiom; string nameField = string.Empty; List <Vector2Int> findedFileds = new List <Vector2Int>(); Helper.GetSpiralFields(ref findedFileds, fieldX, fieldY, BuildSize); findedFileds.Add(new Vector2Int(fieldX, fieldY)); foreach (Vector2Int fieldNext in findedFileds) { Helper.GetNameField_Cache(ref nameField, fieldNext.x, fieldNext.y); GenericWorldManager.ClearLayerForStructure(nameField, true); SaveLoadData.TypePrefabs portalFloorType = ManagerPortals.PortalBiomFloorsBase[typePortal]; //Create object Biom Floor var objDataSave = BilderGameDataObjects.BildObjectData(portalFloorType); string nameObject = string.Empty; Helper.CreateName_Cache(ref nameObject, portalFloorType.ToString(), nameField, "-1"); objDataSave.Position = Helper.NormalizFieldToWorld(fieldNext); Storage.Data.AddDataObjectInGrid(objDataSave, nameField, "GenericPortal"); objDataSave.SetNameObject(nameObject, true); //%CLUSTER FILL //if (objDataSave.IsFloor()) //{ Vector2Int posField = Helper.GetFieldPositByWorldPosit(objDataSave.Position); int clusterSize = AlienJobsManager.GetClusterSize(posField.x, posField.y, objDataSave.TypePrefab); (objDataSave as ModelNPC.TerraData).ClusterFillSize = clusterSize; (objDataSave as ModelNPC.TerraData).DataCreate = DateTime.Now; //} //... Check on Real bool isZonaReal = Helper.IsValidPiontInZona(objDataSave.Position.x, objDataSave.Position.y); if (!objDataSave.IsReality && isZonaReal) { Storage.GenGrid.LoadObjectToReal(nameField); } } }
public bool AddConstructInGridData(string nameField, DataTile itemTile, PaletteMapController.SelCheckOptDel p_TypeModeOptStartDelete = PaletteMapController.SelCheckOptDel.None, PaletteMapController.SelCheckOptDel p_TypeModeOptStartCheck = PaletteMapController.SelCheckOptDel.None) { TypePrefabs prefabName = TypePrefabs.PrefabField; string personTextureName = ""; if (itemTile == null) { Debug.Log("####### AddConstructInGridData itemTile == null"); return(false); } //ArgumentException: The requested value 'SpriteBossAlien(Clone)' was not found. TypesStructure structType = (TypesStructure)Enum.Parse(typeof(TypesStructure), itemTile.Tag);; if (structType == TypesStructure.Terra) { prefabName = TypePrefabs.PrefabField; } if (structType == TypesStructure.Person) { personTextureName = itemTile.Name.ClearClone(); prefabName = TypePrefabs.PrefabBoss; } if (structType == TypesStructure.Prefab) { //ArgumentException: The requested value 'SpriteBossAlien(Clone)' was not found. prefabName = (TypePrefabs)Enum.Parse(typeof(TypePrefabs), itemTile.Name); } Vector2 posStruct = Helper.GetPositByField(nameField); int x = (int)posStruct.x; int y = (int)posStruct.y; int _y = y * (-1); Vector3 pos = new Vector3(x, _y, 0) * Spacing; pos.z = -1; if (prefabName == TypePrefabs.PrefabUfo) { pos.z = -2; } string nameObject = Helper.CreateName(prefabName.ToString(), nameField, "-1");// prefabName.ToString() + "_" + nameFiled + "_" + i; ModelNPC.ObjectData objDataSave = BilderGameDataObjects.BildObjectData(prefabName); objDataSave.CreateID(nameObject); objDataSave.SetNameObject(nameObject, true); if (PoolGameObjects.IsUseTypePoolPrefabs) { objDataSave.ModelView = itemTile.Name; } else { if (structType == TypesStructure.Terra) { var objTerra = objDataSave as ModelNPC.TerraData; if (objTerra == null) { Debug.Log("####### AddConstructInGridData: structType is TypesStructure.Terra objDataSave Not is ModelNPC.TerraData !!!!"); return(false); } objTerra.ModelView = itemTile.Name; } if (structType == TypesStructure.TerraPrefab) { var objTerraPrefab = objDataSave as ModelNPC.WallData; if (objTerraPrefab == null) { Debug.Log("####### AddConstructInGridData: structType is TypesStructure.TerraPrefab objDataSave Not is ModelNPC.TerraData !!!!"); return(false); } objTerraPrefab.ModelView = itemTile.Name; } } if (structType == TypesStructure.Person) { var objPerson = objDataSave as ModelNPC.GameDataBoss; if (objPerson == null) { Debug.Log("####### AddConstructInGridData: structType is TypesStructure.Terra objDataSave Not is ModelNPC.TerraData !!!!"); return(false); } } bool res = Storage.Data.AddDataObjectInGrid(objDataSave, nameField, "CreateDataGamesObjectsWorld", p_TypeModeOptStartDelete, p_TypeModeOptStartCheck); objDataSave.SetPosition(pos); return(res); }