Menu
CoddyTech

סיכום: קנייה בחנות

חלק מהיחידה ארכיטקטורת משחקים ב-Unity במסלול ה-Unity של Coddy. שיעור 29 מתוך 64.

בפרק הזה העברנו נתונים לנכסים שמשותפים לאובייקטים רבים. הפריטים בחנות הם נכסים כאלה, ולכן מה שהשחקן קונה שייך ל־Shop, ולא לפריטים עצמם.

challenge icon

אתגר

קל

לחץ על מקש הרווח כדי לקנות את הפריט שנבחר, בלי לשנות את הנכסים.

  1. שמור את הפריטים שנקנו ב־List<ItemData> owned בתוך Shop.
  2. בעת לחיצה על מקש הרווח, אם הפריט כבר נמצא בבעלותך, רשום Already owned: Iron Sword; אם מחירו גבוה מ־gold, רשום Not enough gold for Iron Sword.
  3. אחרת, הפחת את המחיר מ־gold, הוסף את הפריט ל־owned, רשום Bought Iron Sword ועדכן את הטקסטים.

לחץ על "שחק" וקנה את Long Bow. לאחר מכן לחץ על "בדיקה".

נסו בעצמכם

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;

public class Shop : MonoBehaviour
{
    public ItemDatabase database;
    public TMP_Text itemText;
    public TMP_Text goldText;
    public int gold = 50;
    private int index;

    void Start()
    {
        Show();
    }

    void Update()
    {
        if (Keyboard.current.rightArrowKey.wasPressedThisFrame)
        {
            index = (index + 1) % database.items.Count;
            Show();
        }
        if (Keyboard.current.leftArrowKey.wasPressedThisFrame)
        {
            index = (index - 1 + database.items.Count) % database.items.Count;
            Show();
        }
        // Space: קנה את הפריט שנבחר
    }

    void Show()
    {
        ItemData item = database.items[index];
        itemText.text = item.itemName + ": " + item.price + " gold";
        goldText.text = "Gold: " + gold;
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה ארכיטקטורת משחקים ב-Unity

תרגלו בעצמכם: Unity אונליין