Class for updating the UI based on gems equipped.
Inheritance: MonoBehaviour
示例#1
0
 private void RecvGemSysTakeoffRes(short state, GemSysTakeoffRes msg = null)
 {
     if (state != 0)
     {
         StateManager.Instance.StateShow(state, 0);
         return;
     }
     if (msg != null)
     {
         this.equipSlots[msg.type - EquipLibType.ELT.Weapon, msg.hole - 1].typeId = 0;
         this.equipSlots[msg.type - EquipLibType.ELT.Weapon, msg.hole - 1].id     = 0L;
         GemUI gemUI = UIManagerControl.Instance.GetUIIfExist("GemUI") as GemUI;
         if (gemUI != null)
         {
             gemUI.RefreshEquipSlot(msg.hole - 1, 0);
         }
         GemSingleUI gemSingleUI = UIManagerControl.Instance.GetUIIfExist("GemSingleUI") as GemSingleUI;
         if (gemSingleUI != null)
         {
             gemSingleUI.Show(false);
         }
         EventDispatcher.Broadcast(EventNames.EquipDetailedShouldCheckBadge);
         EventDispatcher.Broadcast <int>(EventNames.UpdateEquipPosGemData, (int)msg.type);
         this.CheckCanShowWearingGemPromoteWay();
     }
 }
示例#2
0
 private void RecvGemSysEmbedRes(short state, GemSysEmbedRes msg = null)
 {
     if (state != 0)
     {
         StateManager.Instance.StateShow(state, 0);
         return;
     }
     if (msg != null)
     {
         EquipLibType.ELT type     = msg.type;
         int          hole         = msg.hole;
         long         newGemId     = msg.newGemId;
         int          newGemTypeId = msg.newGemTypeId;
         GemEmbedInfo gemEmbedInfo = this.equipSlots[type - EquipLibType.ELT.Weapon, hole - 1];
         gemEmbedInfo.id     = newGemId;
         gemEmbedInfo.typeId = newGemTypeId;
         GemUI gemUI = UIManagerControl.Instance.GetUIIfExist("GemUI") as GemUI;
         if (gemUI != null)
         {
             gemUI.RefreshEquipSlot(msg.hole - 1, newGemTypeId);
         }
         GemSelectUI gemSelectUI = UIManagerControl.Instance.GetUIIfExist("GemSelectUI") as GemSelectUI;
         if (gemSelectUI != null)
         {
             gemSelectUI.Show(false);
         }
         EventDispatcher.Broadcast <int>(EventNames.UpdateEquipPosGemData, (int)msg.type);
         EventDispatcher.Broadcast(EventNames.EquipDetailedShouldCheckBadge);
         this.CheckCanShowWearingGemPromoteWay();
     }
 }
示例#3
0
 protected override void ReleaseSelf(bool calledDestroy)
 {
     if (SystemConfig.IsReleaseResourceOn && calledDestroy)
     {
         GemUI.instance = null;
         base.ReleaseSelf(true);
     }
 }
示例#4
0
    public void UpdateDisplay()
    {
        foreach (Transform child in transform)
        {
            Destroy(child.gameObject);
        }

        List <Gem> gems = inventory.GetAllGems();

        int count = 0;
        int y     = 0;
        int x     = 0;

        foreach (Gem gem in gems)
        {
            //get RectTransform corners to start at the top left corner
            Vector3[] corner = new Vector3[4];
            gameObject.transform.GetComponent <RectTransform>().GetWorldCorners(corner);
            Vector3 position = new Vector3(x, y, 0) + corner[1] + new Vector3(0.4f, -0.4f, 0);

            GameObject newGemSlot = Instantiate(gemSlotGameObject, position, Quaternion.identity, transform);

            GameObject gemGameObject = Resources.Load("Gems/" + gem.GetType()) as GameObject;
            GameObject newGem        = Instantiate(gemGameObject, position, Quaternion.identity, transform);

            newGemSlot.GetComponent <GemSlot>().Gem = newGem.GetComponent <Gem>();

            if (shopSystem)
            {
                GemUI gemUI = newGem.GetComponentInChildren <GemUI>();
                gemUI.DisableDrag();
                gemUI.GemSlot = newGemSlot.GetComponent <GemSlot>();
                gemUI.GemSlot.FindShopSystem();
            }

            count++;
            count %= 3;

            if (count == 0)
            {
                y -= heightOffset;
                x  = 0;
            }

            else
            {
                x += widthOffset;
            }
        }
    }
示例#5
0
    public void StartRewardPhase()
    {
        gameObject.SetActive(true);
        Player.instance.Wallet.Earn(10); // a terme, remplacer le 10 par niveau.getRecompense()
        foreach (InventorySlot slot in rewardUnitSlots)
        {
            slot.PutInSlot(UnitGenerator.GenerateUnit(Unit.allyTag));
        }
        foreach (GemSlot gemSlot in rewardGemSlots)
        {
            GameObject gem = Player.instance.Inventory.GenerateRandomGemGameObject(gemSlot.transform);
            gemSlot.Gem = gem.GetComponent <Gem>();
            GemUI gemUI = gem.GetComponentInChildren <GemUI>();
            gemUI.DisableDrag();
            gemUI.GemSlot = gemSlot;
        }
        foreach (uint id in unitsInCombatIds)
        {
            Player.instance.Inventory.GetUnit(id).EarnExperience(1);
        }

        Player.instance.Inventory.inventoryUI.UpdateGUI();
    }
示例#6
0
    void ShowGemLoot(GemUI gemUI, int collected, int max)
    {
        gemUI.text.transform.parent.gameObject.SetActive(true);
        gemUI.text.text = collected.ToString() + "/" + max.ToString();

        float fraction = collected / (float)max;
        float experienceToGain;

        if (fraction < 1)
        {
            experienceToGain = fraction * 100;
        }
        else
        {
            experienceToGain = fraction * 200;
            gemUI.addedExperience.GetComponent <Text>().color = Color.green;
        }

        int exp = (int)experienceToGain;

        gemUI.addedExperience.text = "+" + exp.ToString() + "exp!";
        Player.Instance.Attributes.AddExperience(exp);
    }
示例#7
0
 private void Awake()
 {
     GemUI.instance = this;
     base.AwakeBase(BindingContext.BindingContextMode.MonoBinding, false);
 }