《组合变身小宠物游戏》PlayerPetItem(修改更新中)【初学者】

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine.EventSystems;
                                         
public class PlayerPetItem : MonoBehaviour, IPointerClickHandler
{
    public static PlayerPetItem self;
    public PetXmlData PlayerPetXmlVO;
    public Image HeadImage;
    public Image ImageMask;
    public Text Text_Hp;
    public Text Text_Attack;
    public Text Text_Lv;
    public int index;
    public int recordId = -1;
	// Use this for initialization

    void Awake()
    {
        self = this;
    }
    void Start()
    {
        int id = Random.Range(6, 20);
        UpdatePlayerPetItemData(id);
        if (DataRecord.GetPetHp(recordId) <= 0)
        {
            ImageMask.gameObject.SetActive(true);
        }
   
    }

    void Update()
    {
        if (DataRecord.GetPetHp(recordId) <= 0)
        {
            ImageMask.gameObject.SetActive(true);
        }
    }
      public  void UpdatePlayerPetItemData(int id)//给空的PlayerPetItem加载数据(Lv,Hp,ATK,Headimage)
    {
        Hashtable data = DataRecord.GetFightData(index);
        if (data == null)
        {
            PlayerPetXmlVO = ConfigManager.Instance.GetPetData(id);
            recordId = DataRecord.AddPet(PlayerPetXmlVO);
            DataRecord.SetFight(recordId, index);
        }
        else
        {
            recordId = DataRecord.GetRecordIdByPos(index);
            PlayerPetXmlVO.id = int.Parse(data["id"].ToString());
            PlayerPetXmlVO.hp = int.Parse(data["curHp"].ToString());
            PlayerPetXmlVO.level = int.Parse(data["level"].ToString());
            PlayerPetXmlVO.name = data["name"].ToString();
            PlayerPetXmlVO.headImage = data["headImage"].ToString();
            PlayerPetXmlVO.attack = int.Parse(data["attack"].ToString());
        }
            Text_Attack.text = PlayerPetXmlVO.attack.ToString();//攻击力
            Text_Hp.text = PlayerPetXmlVO.hp.ToString();//血量
            Text_Lv.text = PlayerPetXmlVO.level.ToString();//等级
            HeadImage.sprite = Resources.Load<Sprite>("Images/" + PlayerPetXmlVO.headImage);//头像
            GameFSM.self.playerData.Add(PlayerPetXmlVO);


    }

      public void OnPointerClick(PointerEventData eventData)// 点击预制体宠物: 相应头像变换 + 战斗
      {
          if ( DataRecord.GetPetHp(recordId)<= 0)
          {
              ImageMask.gameObject.SetActive(true);
          }
          if (DataRecord.GetPetHp(recordId) <= 0)
               return;
 
          Fighting.self.PlayerPetImage.sprite = Resources.Load<Sprite>("Images/" + PlayerPetXmlVO.headImage);//点击出战的宠物,战斗UI上的图片PlayerPetImage刷新成当前点击战斗宠物 

          GameFSM.self.PlayerAttack(PlayerPetXmlVO.id, index);//首先 角色攻击怪物

      }



    public void updateUI(int var)
    {
        PlayerPetXmlVO.hp -= var;
        if (PlayerPetXmlVO.hp <0)//hp为负数时置为0
        {
            PlayerPetXmlVO.hp = 0;
        }
        Text_Hp.text = PlayerPetXmlVO.hp.ToString();//血量
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值