public void dropItem(Item item, Entity e) { // TileBlock b = getPixel(item.Bounds.X, item.Bounds.Y); int sX = shrinkX(e.Bounds.Center.X, false); int sY = shrinkY(e.Bounds.Center.Y, false); // Get the floor TileBlock b = get(sX, sY); while (b.isWalkable()) { b = get(sX, ++sY); } // Up one from the floor b = get(sX, --sY); EItem eitem = new EItem(item, sX * TileMap.SPRITE_SIZE + (TileMap.SPRITE_SIZE / 2 - EItem.DROP_SIZE / 2) + ScreenManager.Rand.Next(-4, 5), e.Bounds.Y); if (!b.isShared()) { b = new TileBlock(b); set(sX, sY, b); } b.addGameObject(eitem); addGameObject(eitem); }
private void UpdateItem() { var objitem = new EItem { ItemCode = txtItemCode.Text, SKUCode = txtSKUCode.Text, ManufacturerName = txtManfName.Text, ManufacturerID = txtManfID.Text, InventoryItemID = Convert.ToInt32(ddlInventory.SelectedItem.Value), Notes = txtNote.Text }; long addinvitem = 0; divErrorMsg.Visible = true; var masterDal = new MasterDAL(); if (hfItemID.Value.Equals("")) { addinvitem = masterDal.SaveItem(objitem, Convert.ToInt32(EOperationMode.Insert)); divErrorMsg.InnerText = addinvitem == 999998 ? "Item code already exits." : "Item has been added successfully."; } else { objitem.ItemID = Convert.ToInt32(grdItem.DataKeys[Convert.ToInt32(hfItemID.Value)].Value); addinvitem = masterDal.SaveItem(objitem, Convert.ToInt32(EOperationMode.Update)); divErrorMsg.InnerText = addinvitem == 0 ? "Item has been updated successfully." : "Item has been not updated due to internal error"; } hfItemID.Value = ""; GetAllItems(); }
public Item(JSONNode itemNode) { string itemString = itemNode["item"]; m_item = EItem.Gel; EItem.TryParse(itemString, true, out m_item); if (itemNode["count"].AsObject != null) { JSONNode countNode = itemNode["count"].AsObject; if (countNode["min"] != null && countNode["max"] != null) { m_range.Minimum = countNode["min"].AsInt; m_range.Maximum = countNode["max"].AsInt; } else { m_range.Minimum = m_range.Maximum = 1; } } else if (itemNode["count"] != null) { m_range.Minimum = m_range.Maximum = itemNode["count"].AsInt; } else { m_range.Minimum = m_range.Maximum = 1; } }
public GameObject SpawnFromTile(ETile tile_, ChunkInfo info_, int x_, int y_) { EItem toSpawn = EItem.None; if (tile_ == ETile.Mountain) { toSpawn = EItem.Stone; } else if (tile_ == ETile.Tree) { toSpawn = EItem.Wood; } if (toSpawn == EItem.None) { return(null); } ItemInstance ii = SpawnItem(toSpawn); if (!ii) { return(null); } Vector2 worldPos = WorldMap.Chunk2World(info_, x_, y_); ii.gameObject.transform.position = new Vector3(worldPos.x, worldPos.y, -0.06f); return(ii.gameObject); }
public bool SkillActionAt(Vector3 worldPos) { int selectedIndex = UIManager.Instance.SelectedInventorySlot; EItem selectedItem = Inventory.GetSlotInformation(selectedIndex).Item; if (selectedItem == EItem.Sword) { if (EntityManager.Instance.Count <SwordAttack>() > 0) { return(false); } SpawnAttackToward(gameObject.transform.position, worldPos); return(true); } else if (selectedItem == EItem.Bomb) { worldPos.z = gameObject.transform.position.z; SpawnBombToward(gameObject.transform.position, worldPos); Inventory.Use(selectedIndex); // TODO: If the index change, this will remove the wrong object. :P return(true); } else if (selectedItem == EItem.Arrow) { worldPos.z = gameObject.transform.position.z; SpawnArrowToward(gameObject.transform.position, worldPos); Inventory.Use(selectedIndex); // TODO: If the index change, this will remove the wrong object. :P return(true); } return(false); }
public static EItem[] ToEItems(this Item[] item) { var array = new EItem[40]; for (int i = 0; i < 40; i++) { array[i] = item[i]; } return(array); }
public static Color32 GetColor32ForItem(EItem item) { if (item == EItem.Gel) { return(new Color32(9, 129, 248, 255)); } else { return(new Color32(255, 255, 255, 255)); } }
// deequips current and equips the new one public static void Equip1(EItem item) { if (equipped1 != EItem.eNone) { allItems[equipped1].Deequip(); } equipped1 = item; allItems[equipped1].Equip(); PlayerPrefs.SetInt(EQUIPPED1_KEY, (int)equipped1); PlayerPrefs.Save(); }
public static EPart GetPossibleItemCombination(EItem itemLeft, EItem itemRight) { KeyValuePair <EItem, EItem> key = new KeyValuePair <EItem, EItem>(itemLeft, itemRight); if (s_LookUpTable.ContainsKey(key)) { return(s_LookUpTable[key]); } key = new KeyValuePair <EItem, EItem>(itemRight, itemLeft); //swapped key. return(!s_LookUpTable.ContainsKey(key) ? EPart.NONE : s_LookUpTable[key]); }
public DataDescription(EItem column, EItemSource src, EItemType type, EItemUsage usage, string title, bool visible, DataDisplay disp) { Column = (int)column; Source = src; Type = type; Useage = usage; Title = title; Visible = visible; Display = disp; }
public void removeItem(EItem eItem) { for (int i = transform.childCount - 1; i >= 0; i--) { if (transform.GetChild(i).childCount > 0) { if (transform.GetChild(i).GetChild(0).gameObject.name.Equals(eItem.ToString())) { isFull[i] = false; } Destroy(transform.GetChild(i).GetChild(0).gameObject); return; } } }
public bool UseItemOnObject(EItem itemType) { switch (itemType) { case EItem.Apple: speech.SetText("Tack för <color=#008000ff>Äpplet!!</color>", 17); return(true); case EItem.Pear: speech.SetText("Usch! Vill inte ha <color=#ff0000ff>Lakrits!!</color>", 26); return(false); default: return(false); } }
public int getItemAmount(EItem eItem) { int amount = 0; //print("Entrante: " + eItem.ToString()); foreach (GameObject go in slots) { //print(go.name); if (go != null && go.name.Equals(eItem.ToString())) { amount++; } } return(amount); }
private void InitializeInventory() { EItem gold = new EItem("Gold", 20); EItem healthPotion = new EItem("Health potion", 2); EItem staminaPotion = new EItem("Stamina potion", 2); Inventory inventory = character.GetInventory(); inventory.AddItem(gold, true); inventory.AddItem(healthPotion, true); inventory.AddItem(staminaPotion, true); gold.SetListener(OnGoldQtyChange); healthPotion.SetListener(OnHealthPotionQtyChange); staminaPotion.SetListener(OnStaminaPotionQtyChange); }
public bool Carry(EItem item) { int index = FindBestSlotFor(item); if (index == -1) { return(false); } m_itemSlots[index].Item = item; m_itemSlots[index].Count++; //UnityEngine.Debug.Log("Adding item " + item + " to slot " + index + " with count of " + m_itemSlots[index].Count); OnChanged(); return(true); }
public Item(EItem type, Vector2 position, ContentManager content) { //Load correct texture for item switch (type) { case EItem.Diamond: texture = content.Load <Texture2D>("Item/Diamond"); break; case EItem.Key: texture = content.Load <Texture2D>("Item/Key"); break; } //save properties and set rectangle this.type = type; this.position = position; bounds = new Rectangle((int)position.X, (int)position.Y, 64, 64); }
private ItemInstance SpawnItem(EItem item) { if (!m_itemInstancePrefab) { return(null); } TileResourceDef tileResourceDef = TileMapping.GetTileResourceDef((ETile)item); if (tileResourceDef == null) { return(null); } GameObject obj = Instantiate(m_itemInstancePrefab); if (obj == null) { return(null); } Transform tr = obj.GetComponent <Transform>(); ItemInstance ii = obj.GetComponent <ItemInstance>(); MeshRenderer mr = obj.GetComponent <MeshRenderer>(); if (mr) { Texture tex = Resources.Load(tileResourceDef.Filename) as Texture; if (tex) { mr.material.mainTexture = tex; mr.material.color = ItemInstance.GetColor32ForItem(item); //float scale = (float) (Screen.height / 2.0) / Camera.main.orthographicSize; //tr.localScale = new Vector3((float)tex.width / scale, (float)tex.height / scale, tr.localScale.z); tr.localScale = new Vector3(1.0f, 1.0f, tr.localScale.z); } ii.SetType(item); } return(ii); }
private int FindBestSlotFor(EItem item) { // look for existing slot for (int i = 0; i < m_itemSlots.Length; ++i) { if (m_itemSlots[i].Item == item && m_itemSlots[i].Count < MAX_ITEMS_PER_SLOT) { return(i); } } // try to find an empty slot for (int i = 0; i < m_itemSlots.Length; ++i) { if (m_itemSlots[i].Item == EItem.None) { return(i); } } return(-1); }
public void SpawnLoot(EItem item, Vector2 worldPos) { ItemInstance ii = SpawnItem(item); if (!ii) { return; } ii.gameObject.transform.position = new Vector3(worldPos.x, worldPos.y, -0.06f); Mover itemInstanceMover = ii.GetComponent <Mover>(); if (itemInstanceMover) { // make it moves around in a random direction Vector2 randDir = RandomManager.Vector(); float dir = RandomManager.Next(0.8f, 3.5f); Vector2 target = (Vector2)ii.gameObject.transform.position + (randDir * dir); itemInstanceMover.StartInterpolation(target, 0.3f, null); } }
public ItemCount(EItem item_, int count_) : this() { Item = item_; Count = count_; }
// perform action at a given point, return true if done public bool ActionAt(Vector3 worldPos) { int selectedIndex = UIManager.Instance.SelectedInventorySlot; EItem selectedItem = Inventory.GetSlotInformation(selectedIndex).Item; if (HasAction) { return(false); } // always compare against middle of tile worldPos.x = Mathf.Floor(worldPos.x) + 0.5f; worldPos.y = Mathf.Floor(worldPos.y) + 0.5f; worldPos.z = gameObject.transform.position.z; // minimum distance to allow digging float sqrDistance = (worldPos - gameObject.transform.position).sqrMagnitude; if (sqrDistance <= 6.0 * 6.0) { ChunkInfo chunkInfo; int x, y; bool success = GameManager.Instance.GetTileDataFromWorldPos(worldPos, out chunkInfo, out x, out y); TileInfo tileInfo = chunkInfo.ReadSlotValue(x, y); if (success) { if (selectedItem == EItem.PickAxe && tileInfo.Tile == ETile.Mountain) { // Try to dig ! Start an action StartAction(EAction.Dig, 0.05f, worldPos, actionCompleted_ => { AudioManager.Instance.PlayDig(); // logic here for now, should be moved as we add more TileInfo newTile = tileInfo.RemoveHP(10.0f); if (newTile.HP == 0.0f) { newTile = newTile.TransformToTile(ETile.Grass); SpawnManager.Instance.SpawnFromTile(tileInfo.Tile, chunkInfo, x, y); } chunkInfo.WriteSlotValue(x, y, newTile); } ); return(true); } else if (selectedItem == EItem.Copper_Axe && tileInfo.Tile == ETile.Tree) { // Try to dig ! Start an action StartAction(EAction.Cut, 0.05f, worldPos, actionCompleted_ => { AudioManager.Instance.PlayCut(); // logic here for now, should be moved as we add more TileInfo newTile = tileInfo.RemoveHP(10.0f); if (newTile.HP == 0.0f) { newTile = newTile.TransformToTile(ETile.Grass); SpawnManager.Instance.SpawnFromTile(tileInfo.Tile, chunkInfo, x, y); } chunkInfo.WriteSlotValue(x, y, newTile); } ); } else if (selectedItem == EItem.Stone && tileInfo.Tile != ETile.Mountain) { if (CollisionManager.Instance.HasCollision(chunkInfo, x, y)) { return(false); } // Try to place a stone StartAction(EAction.Build, 0.1f, worldPos, actionCompleted_ => { // Make sure we can still perform action if (CollisionManager.Instance.HasCollision(chunkInfo, x, y)) { return; } AudioManager.Instance.PlayDig(); // logic here for now, should be moved as we add more TileInfo newTile = tileInfo.TransformToTile(ETile.Mountain).MaxHP(); chunkInfo.WriteSlotValue(x, y, newTile); Inventory.Use(selectedIndex); } ); return(true); } return(false); } } return(false); }
public void SetType(EItem itemType) { Item = itemType; }
public void AddItem(EItem ei, int i) { slots[i] = Instantiate(this.objects[(int)ei], transform.GetChild(i).transform.position, Quaternion.identity, transform.GetChild(i).transform); slots[i].name = ei.ToString(); }
public static Color GetColorForItem(EItem item) { return(GetColor32ForItem(item)); // Cast operation is overloaded: http://answers.unity3d.com/questions/634208/convert-color32-to-color.html }