private void ApplyDataToHarvestable(HarvestableData data) { if (data.isHarvested) { harvestable.isHarvested = true; } }
public BuildingData(HarvestableData _data) { initialQuantity = _data.initialQuantity; spriteId = _data.spriteId; respawnTime = _data.respawnTime; requiredLevel = _data.requiredLevel; initialProcessTime = _data.initialProcessTime; }
private HarvestableData PackageHarvestableData() { //Debug.Log("packaging harvestable"); HarvestableData data = new HarvestableData(); data.isHarvested = harvestable.isHarvested; return(data); }
//called from DataManager to save this object public override string SaveData() { base.SaveData(); //Debug.Log("saving harvestable"); HarvestableData data = PackageHarvestableData(); SaveDataToFile(data, tempDirectory + GetFileName()); return(GetFileName()); }
void OnLoadBuildingData(BuildingData _dataLoaded) { dataToSave = new BuildingData(_dataLoaded); if (dataToSave.spriteId != null) { pickedIcon = AssetsBundlesManager.GetAssetBundle(BundleName.CommonIcons).LoadAsset <Sprite>(dataToSave.spriteId); } Repaint(); }
void OnLoadTreeData(TreeData _dataLoaded) { dataToSave = new TreeData(_dataLoaded); if (dataToSave.spriteId != null) { pickedIcon = AssetsBundlesManager.GetAssetBundle(BundleName.WoodIcons).LoadAsset <Sprite>(dataToSave.spriteId); } Repaint(); }
public HarvestableData(HarvestableData _data) : base(_data) { initialQuantity = _data.initialQuantity; spriteId = _data.spriteId; respawnTime = _data.respawnTime; requiredLevel = _data.requiredLevel; initialProcessTime = _data.initialProcessTime; name = _data.name; description = _data.description; sellPrice = _data.sellPrice; }
private void OnGUI() { GUILayout.Label("Data creator", windowTitleStyle); currentType = GUILayout.Toolbar(currentType, toolbarNames); if (currentType != oldType) { switch (currentType) { case 0: dataToSave = new FishData(dataToSave); break; case 1: dataToSave = new TreeData(dataToSave); break; case 2: dataToSave = new BuildingData(dataToSave); break; default: break; } } oldType = currentType; GUILayout.Space(10.0f); dataToSave.id = EditorGUILayout.TextField("Id", dataToSave.id); dataToSave.name = EditorGUILayout.TextField("Name", dataToSave.name); dataToSave.description = EditorGUILayout.TextField("description", dataToSave.description); dataToSave.initialQuantity = EditorGUILayout.IntSlider("Initial quantity on collect", dataToSave.initialQuantity, 0, 2000); GUILayout.BeginHorizontal(); { pickedIcon = (Sprite)EditorGUILayout.ObjectField("Icon", pickedIcon, typeof(Sprite), false); dataToSave.spriteId = (pickedIcon != null) ? pickedIcon.name : ""; GUILayout.FlexibleSpace(); } GUILayout.EndHorizontal(); dataToSave.respawnTime = EditorGUILayout.Slider("Respawn time", dataToSave.respawnTime, 0, 2000); dataToSave.requiredLevel = EditorGUILayout.IntSlider("Required level to collect", dataToSave.requiredLevel, 0, GlobalDesigner.jobsMaxLevel); dataToSave.initialProcessTime = EditorGUILayout.Slider("Time to collect", dataToSave.initialProcessTime, 0, 2000); dataToSave.sellPrice = EditorGUILayout.IntField("Sell price", dataToSave.sellPrice); GUILayout.FlexibleSpace(); DatabaseHandlerEditor("data", ResetData, SaveDataToDatabase, LoadData, RemoveDataFromDatabase, dataToSave, harvestableDataNames); }
static void Init() { DatabaseManager.Init(); LoadDatabase(); DataCreatorWindow window = (DataCreatorWindow)EditorWindow.GetWindow(typeof(DataCreatorWindow)); window.minSize = new Vector2(400, 400); windowTitleStyle.alignment = TextAnchor.UpperCenter; windowTitleStyle.fontStyle = FontStyle.Bold; windowTitleStyle.fontSize = 15; textStyle.alignment = TextAnchor.MiddleCenter; textStyle.fontStyle = FontStyle.Bold; errorTextStyle.normal.textColor = Color.red; dataToSave = new FishData() as HarvestableData; window.Show(); }
void ResetData() { switch (currentType) { case 0: dataToSave = new FishData(); break; case 1: dataToSave = new TreeData(); break; case 2: dataToSave = new BuildingData(); break; default: break; } pickedIcon = null; }
// Start is called before the first frame update void Start() { EntityManager entityManager = World.Active.EntityManager; EntityArchetype harvestableComponent = entityManager.CreateArchetype( typeof(HarvestableComponent), typeof(Translation), typeof(RenderMesh), typeof(LocalToWorld) ); Tilemap tilemap = GetComponent <Tilemap>(); foreach (var pos in tilemap.cellBounds.allPositionsWithin) { Vector3Int localPlace = new Vector3Int(pos.x, pos.y, pos.z); Vector3 place = tilemap.CellToWorld(localPlace); if (tilemap.HasTile(localPlace)) { TileBase tile = tilemap.GetTile(localPlace); Material tileMat = new Material(Shader.Find("Unlit/Transparent")); Sprite tileSprite = Resources.Load <Sprite>("Sprites/TileSprites/" + tile.name); tileMat.mainTexture = tileSprite.texture; int width = 1; int height = 1; Mesh tileMesh = new Mesh(); // Setup vertices Vector3[] newVertices = new Vector3[4]; float halfHeight = height * 0.5f; float halfWidth = width * 0.5f; newVertices [0] = new Vector3(-halfWidth, -halfHeight, 0); newVertices [1] = new Vector3(-halfWidth, halfHeight, 0); newVertices [2] = new Vector3(halfWidth, -halfHeight, 0); newVertices [3] = new Vector3(halfWidth, halfHeight, 0); // Setup UVs Vector2[] newUVs = new Vector2[newVertices.Length]; newUVs [0] = new Vector2(0, 0); newUVs [1] = new Vector2(0, 1); newUVs [2] = new Vector2(1, 0); newUVs [3] = new Vector2(1, 1); // Setup triangles int[] newTriangles = new int[] { 0, 1, 2, 3, 2, 1 }; // Setup normals Vector3[] newNormals = new Vector3[newVertices.Length]; for (int i = 0; i < newNormals.Length; i++) { newNormals [i] = Vector3.forward; } // Create quad tileMesh.vertices = newVertices; tileMesh.uv = newUVs; tileMesh.triangles = newTriangles; tileMesh.normals = newNormals; Entity entity = entityManager.CreateEntity(harvestableComponent); entityManager.SetSharedComponentData(entity, new RenderMesh { material = tileMat, mesh = tileMesh }); // pivot of the sprite is center so we have to add 0.5 to x and y entityManager.SetComponentData(entity, new Translation { Value = new float3(place.x + 0.5f, place.y + 0.5f, -1) }); int tileNo = int.Parse(tile.name.Substring(tile.name.LastIndexOf('_') + 1)); HarvestableType type = HarvestableData.getHarvestableType(tileNo); entityManager.SetComponentData(entity, new HarvestableComponent { type = type, ressourceAmount = type.Equals(HarvestableType.WOOD) ? 50 : 20000 }); } } // delete all tiles because we replaced them with entities tilemap.ClearAllTiles(); }
public InventoryItem(HarvestableData _itemData, int _quantity) { itemData = _itemData; quantity = _quantity; }
public InventoryItem(InventoryItem _data) { itemData = _data.itemData; quantity = _data.quantity; }