void CreatePlacedDecor() { foreach (var decor in PlacedDecorInRoom) { DecorData dec = FindDecorWithId(decor.Id); if (dec != null) { DecorController.Instance.Create3DDecoreForSociety(dec, true, decor.Position, decor.Rotation); } } }
public void AddPrizeDecorList(int Id, DecorInfo target, string Name, string SubCat, int level, int gems, int price) { int subcat = 0; switch (SubCat.Trim('"')) { case "Sofas": subcat = 0; break; case "Chairs": subcat = 1; break; case "Tables": subcat = 2; break; case "Beds": subcat = 3; break; case "Plants": subcat = 4; break; case "Electronics": subcat = 5; break; case "Cabinets": subcat = 7; break; case "Misc": default: subcat = 6; break; } DecorData data = new DecorData(Name, Id, subcat, target.Icon, true, true, level, gems, price, false); AllDecores.Add(data); DownloadedDecors.Add(target.Prefab); }
public void Create3DDecoreForSociety(DecorData decor, bool isPlaced, Vector3 position, int direction = 0) { ScreenManager.Instance.HomeRoomSociety.GetComponent <SocietyHomeRoom>().BackFromSocietyStorage(); var asset = Resources.Load <Decor3DView> ("Decors/" + decor.Name.Trim('"')); if (asset == null) { // List<string> downloadednames = new List<string> (); for (int i = 0; i < DownloadedDecors.Count; i++) { if (DownloadedDecors [i].GetComponent <Decor3DView> ().name == decor.Name.Trim('"') || DownloadedDecors [i].GetComponent <Decor3DView> ().name == FirstCharToUpper(decor.Name.Trim('"'))) { asset = DownloadedDecors [i].GetComponent <Decor3DView> (); } } } GameObject Go = (GameObject)Instantiate(asset.gameObject, Vector3.zero, Quaternion.identity); var RoomforSociety = GameObject.Find("SocietyPartyRoom"); Go.transform.SetParent(RoomforSociety.transform); Go.GetComponent <Decor3DView>().SetPositionofThisItem(position, direction); Go.SetMaterialRecursively(); Go.GetComponent <Decor3DView> ().CreateDecore(decor); Go.GetComponent <DragSnap>().grid = Go.transform.parent.GetChild(5).gameObject;//grid Container Go.GetComponent <Decor3DView>().Placed = isPlaced; Go.GetComponent <Decor3DView>().isForSociety = true; if (isPlaced) { Go.transform.GetChild(1).gameObject.SetActive(false); Go.GetComponent <DragSnap> ().enabled = false; Go.GetComponent <Decor3DView>().Correct(); } else { Go.transform.GetChild(0).gameObject.SetActive(true); Go.GetComponent <DragSnap> ().enabled = true; } }
public void Create3DDecoreForHostParty(DecorData decor, Vector3 Pos, int dir, GameObject Parent) { if (decor == null) { return; } var asset = Resources.Load <Decor3DView> ("Decors/" + decor.Name.Trim('"')); if (asset == null) { for (int i = 0; i < DecorController.Instance.DownloadedDecors.Count; i++) { if (DecorController.Instance.DownloadedDecors [i].GetComponent <Decor3DView> ().name == decor.Name.Trim('"') || DecorController.Instance.DownloadedDecors [i].GetComponent <Decor3DView> ().name == DecorController.FirstCharToUpper(decor.Name.Trim('"'))) { asset = DecorController.Instance.DownloadedDecors [i].GetComponent <Decor3DView> (); } } } var _Layer = LayerMask.NameToLayer("Default"); GameObject Go = (GameObject)Instantiate(asset.gameObject, Pos, Quaternion.identity); Destroy(Go.GetComponent <DragSnap> ()); Go.transform.parent = Parent.transform; Go.transform.localPosition = Pos; // var drs = Go.AddComponent<DragSnap> (); // drs.grid = Parent.transform.GetChild (5).gameObject; Go.SetLayerRecursively(_Layer); Go.SetMaterialRecursively(); Go.GetComponent <Decor3DView> ().direction = dir; // To be Confirmed taht this fires after Start of Decor3D Go.GetComponent <Decor3DView> ().CreateDecore(decor); Go.GetComponent <Decor3DView> ().Start(); Go.transform.FindChild("SelectionParent").gameObject.SetActive(false); Destroy(Go.GetComponent <Decor3DView> ()); }
public void Create3DDecore(DecorData decor) { var asset = Resources.Load <Decor3DView> ("Decors/" + decor.Name.Trim('"')); if (asset == null) { // List<string> downloadednames = new List<string> (); for (int i = 0; i < DownloadedDecors.Count; i++) { if (DownloadedDecors [i].GetComponent <Decor3DView> ().name == decor.Name.Trim('"') || DownloadedDecors [i].GetComponent <Decor3DView> ().name == FirstCharToUpper(decor.Name.Trim('"'))) { asset = DownloadedDecors [i].GetComponent <Decor3DView> (); } // downloadednames.Add (DownloadedDecors [i].name); } // var j = downloadednames.IndexOf (decor.Name); // asset = DownloadedDecors [j].GetComponent<Decor3DView> (); } GameObject Go = (GameObject)Instantiate(asset.gameObject, Vector3.zero, Quaternion.identity); Go.SetMaterialRecursively(); Go.GetComponent <Decor3DView> ().CreateDecore(decor); /// Updated by rehan on 17/11/2016 for decor placement // Destroy (Go.GetComponent<DragSnap> ()); // Go.AddComponent<DragSnap> (); // Destroy (Go.GetComponent<DecorOrderInLayer> ()); // Go.AddComponent<DecorOrderInLayer> (); Go.transform.GetChild(0).gameObject.SetActive(true); }
public void CreateDecore(DecorData decoredata) { decorInfo = decoredata; }
public void ExtractLevel(LevelEditorData receivedLevelData) { //foreach object in saveObjectData //create a new ObjectData bin to assign values to; //get the cubeType data //get the world position data //get the nodePOs data //create a new Cube from prefab //Get the cube's EditorObject Component //set the component's values to match the recovered data //Get the new nodes in the world //get the worldPosition of each of their ndoes //set cube worldPosition to its corresponding Node_Object worldPosition GameObject newCube; GameObject newDecor; if (isInEditor) { _LevelEditor.instance.inSceneGameObjects.Clear(); } foreach (DecorData recoveredDecorFromSave in receivedLevelData.savedEnvironmentData) { newDecor = Instantiate(decorPrefab, Vector3.zero, Quaternion.identity); newDecor.transform.parent = _Grid.instance.gameObject.transform.GetChild(0).GetChild(2); newDecor.transform.localPosition = recoveredDecorFromSave.localPosition; newDecor.transform.localRotation = recoveredDecorFromSave.localRotation; //get the new cube's Object Data and create a reference to it DecorData newDecorData = newDecor.GetComponent <_DecorObject>().decorData; //assign the new Cube's data to match the recovered cube's newDecorData = recoveredDecorFromSave; } foreach (ObjectData recoveredDataFromSave in receivedLevelData.savedObjectsData) { //create a new empty cube newCube = Instantiate(cubePrefab, Vector3.zero, Quaternion.identity); //get the new cube's Object Data and create a reference to it ObjectData newCubeData = newCube.GetComponent <Grid_Object>().cubeData; //assign the new Cube's data to match the recovered cube's newCubeData = recoveredDataFromSave; //assign the cube's parent in the hiearchy newCube.transform.parent = _Grid.instance.gameObject.transform.GetChild(0).transform.GetChild(1).transform; //add the newly created cube to a list of existing cubes if (isInEditor) { _LevelEditor.instance.inSceneGameObjects.Add(newCube); } for (int i = 0; i < _Grid.instance.onPlayNodePosList.Count; i++) { Grid_Node newNodeObjects = _Grid.instance.onPlayNodePosList[i].GetComponent <Grid_Node>(); if (newCubeData.gridPositionX >= _Grid.instance.gridSize.x || newCubeData.gridPositionY >= _Grid.instance.gridSize.y || newCubeData.gridPositionZ >= _Grid.instance.gridSize.z) { Destroy(newCube); } else if (newNodeObjects.posX == newCubeData.gridPositionX && newNodeObjects.posY == newCubeData.gridPositionY && newNodeObjects.posZ == newCubeData.gridPositionZ) { newCube.SendMessage("ReceiveData", recoveredDataFromSave); if (isInEditor) { Node nodeToPlace = _Grid.instance.grid[(int)newCubeData.gridPositionX, (int)newCubeData.gridPositionY, (int)newCubeData.gridPositionZ]; nodeToPlace.cubeOnNodePos = newCube.GetComponent <Grid_Object>(); } newCube.transform.position = _Grid.instance.onPlayNodePosList[i].transform.position; newCubeData.worldPosition = newCube.transform.position; newCube.transform.GetChild(0).rotation = newCubeData.worldRotation; } } } receivedLevelData.savedObjectsData.Clear(); receivedLevelData.savedEnvironmentData.Clear(); levelIsLoaded = true; }
void Init(GameObject go, DecorData decor) { go.GetComponent <DecorView> ().Item = decor; }
public void AddDecorToList(int Id, Decor3DView info, string Name, string SubCat, int level, int gems, int price, int vipsub) { // DecorInfo info = target.GetComponent<DecorInfo> (); int subcat = 0; /* * * Sofa = 0, * Chairs = 1, * Tables = 2, * Beds = 3, * Techs = 4, * Plants = 5, * Appliance = 6, * Plumbing = 7, * Cabinets = 8, * Misc = 9 */ switch (SubCat.Trim('"')) { case "Sofas": subcat = 0; break; case "Chairs": subcat = 1; break; case "Tables": subcat = 2; break; case "Beds": subcat = 3; break; case "Plants": subcat = 4; break; case "Electronics": subcat = 5; break; case "Living room": // Almirah subcat = 6; break; case "Bedroom": //"Cabinets": subcat = 7; break; case "Kitchen": //"Fridges": subcat = 8; break; case "Patio": //"Radio": subcat = 9; break; // Sofa = 0, // Chairs = 1, // Tables = 2, // Beds = 3, // Plants = 4, // Electronics = 5, // Almirah = 6, // Cabinets = 7, // Fridges = 8, // Radio= 9 } DecorData data = new DecorData(Name, Id, subcat, info.decorInfo.DisplayIcon, false, false, level, gems, price, vipsub == 1? true:false); AllDecores.Add(data); DownloadedDecors.Add(info.gameObject); }