Esempio n. 1
0
 /// <summary>
 /// 回合条移动处理
 /// </summary>
 public void HandleForRoundMove()
 {
     if (!isRounding)
     {
         return;
     }
     for (int i = 0; i < listCharacterRound.Count; i++)
     {
         ItemMiniGameCombatCharacterRoundCpt itemCpt = listCharacterRound[i];
         float roundSpeed = (0.5f + itemCpt.speedForMove / 10f);
         //回合条向右移动
         itemCpt.transform.Translate(new Vector3(1, 0) * Time.deltaTime * roundSpeed);
         //检测是否到达目标点
         if (itemCpt.transform.position.x >= objRoundEnd.transform.position.x)
         {
             itemCpt.transform.position = objRoundEnd.transform.position;
             //设置为选中状态
             itemCpt.SetStatus(true);
             //通知轮到角色回合
             if (callBack != null)
             {
                 callBack.CharacterRound(itemCpt.gameCharacterData);
             }
             isRounding = false;
             break;
         }
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 移除角色回合行动
 /// </summary>
 public void RemoveCharacterRound(MiniGameCharacterBean miniGameCharacter)
 {
     for (int i = 0; i < listCharacterRound.Count; i++)
     {
         ItemMiniGameCombatCharacterRoundCpt itemRound = listCharacterRound[i];
         if (itemRound.gameCharacterData == miniGameCharacter)
         {
             listCharacterRound.Remove(itemRound);
             Destroy(itemRound.gameObject);
             return;
         }
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 刷新UI
 /// </summary>
 public override void RefreshUI()
 {
     base.RefreshUI();
     for (int i = 0; i < listCharacterInfo.Count; i++)
     {
         ItemMiniGameCombatCharacterInfoCpt itemInfo = listCharacterInfo[i];
         itemInfo.RefreshUI();
     }
     for (int i = 0; i < listCharacterRound.Count; i++)
     {
         ItemMiniGameCombatCharacterRoundCpt itemInfo = listCharacterRound[i];
         itemInfo.RefreshUI();
     }
 }
Esempio n. 4
0
 /// <summary>
 /// 初始化角色回合
 /// </summary>
 /// <param name="gameCharacterData"></param>
 public void InitCharacterRound(MiniGameCharacterBean gameCharacterData)
 {
     for (int i = 0; i < listCharacterRound.Count; i++)
     {
         ItemMiniGameCombatCharacterRoundCpt itemCpt = listCharacterRound[i];
         if (gameCharacterData == itemCpt.gameCharacterData)
         {
             //恢复状态
             itemCpt.SetStatus(false);
             //重新设置位置
             RectTransform itemRTF = (RectTransform)itemCpt.transform;
             itemRTF.anchoredPosition = Vector2.zero;
             return;
         }
     }
 }
Esempio n. 5
0
    /// <summary>
    /// 创建角色信息
    /// </summary>
    /// <param name="position"></param>
    /// <param name="gameCharacterData"></param>
    /// <param name="objContainer"></param>
    /// <param name="objModel"></param>
    public void CreateCharacterItem(int position, MiniGameCharacterBean gameCharacterData, GameObject objContainer, GameObject objModel)
    {
        //创建角色信息
        GameObject objItem = Instantiate(objContainer, objModel);
        ItemMiniGameCombatCharacterInfoCpt characterInfoCpt = objItem.GetComponent <ItemMiniGameCombatCharacterInfoCpt>();

        characterInfoCpt.SetData(gameCharacterData);
        listCharacterInfo.Add(characterInfoCpt);
        //创建回合条信息
        GameObject    objRoundItem = Instantiate(objRoundCharacterContainer, objRoundCharacterModel);
        RectTransform rtfItemRound = objRoundItem.GetComponent <RectTransform>();
        ItemMiniGameCombatCharacterRoundCpt characterRoundCpt = objRoundItem.GetComponent <ItemMiniGameCombatCharacterRoundCpt>();

        characterRoundCpt.SetData((MiniGameCharacterForCombatBean)gameCharacterData);
        listCharacterRound.Add(characterRoundCpt);
        //添加动画
        objItem.transform.DOScale(new Vector3(0.2f, 0.2f, 0.2f), 0.5f).From().SetDelay(0.1f * position).SetEase(Ease.OutBack);
        objRoundItem.transform.DOScale(new Vector3(0.2f, 0.2f, 0.2f), 0.5f).From().SetDelay(0.1f * position).SetEase(Ease.OutBack);
    }