《组合变身小宠物游戏》TeamEditor出战队伍选择(修改更新中)【初学者】

原创 2016年08月29日 15:44:17
using UnityEngine;
using System.Collections;
using UnityEngine;
using System.Collections.Generic;
using UnityEngine.UI;


public class TeamEditor : MonoBehaviour {


    public static TeamEditor self;
    public GameObject parentObj;
    public GameObject TeamBox1;
    public GameObject TeamBox2;
    public GameObject TeamBox3;
    public Text TextRemindChooseThree;


    public IEnumerator RemindChoose()//选三个宠物才能出战 提示
    {
        TextRemindChooseThree.gameObject.SetActive(true);
        yield return new WaitForSeconds(1);
        TextRemindChooseThree.gameObject.SetActive(false);
    }
    public int ItemNumber
    {
        get
        {
            return Fighting.self.PlayerPetItemList.Count;
        }
    }
    private List<GameObject> gridItemobj = new List<GameObject>();
   
    private Hashtable recordPetData = new Hashtable();
    void Awake()
    {
        self = this;
    }


    void OnEnable()
    {
        recordPetData = DataRecord.GetPetList();
       
        InitPetHaveData();
    }
    public void InitPetHaveData()//在格子中加载宠物预制体
    {
        recordPetData = DataRecord.GetPetList();
        foreach (GameObject obj in gridItemobj)
        {
            Destroy(obj);
        }
        gridItemobj.Clear();
        GameObject BoxgridItem = Resources.Load("Prefabs/item/BoxGrid", typeof(GameObject)) as GameObject;
        GameObject PetgridItem = Resources.Load("Prefabs/item/PlayerPetChooseItem", typeof(GameObject)) as GameObject;
        foreach (DictionaryEntry itemx in recordPetData)//加载已拥有宠物
        {
            //GameObject BoxgridItem = Resources.Load("Prefabs/item/BoxGrid", typeof(GameObject)) as GameObject;
            if (itemx.Value == null)
                continue;
            //加载格子
            Hashtable data = itemx.Value as Hashtable;//类型转换
            GameObject gridobj = GameObject.Instantiate(BoxgridItem) as GameObject;
            gridobj.name = "BoxGrid" + (gridItemobj.Count + 1).ToString();//添加的预制体的名字,如“BoxGrid1”
            gridobj.transform.parent = parentObj.transform;
            gridobj.transform.localPosition = Vector3.zero;
            gridobj.transform.localScale = Vector3.one;


            gridItemobj.Add(gridobj);
            //加载数据
            GameObject petobj = GameObject.Instantiate(PetgridItem) as GameObject; ;//寻找如“BoxGrid”父物体
            petobj.GetComponent<PlayerPetChooseItem>().UpdatePlayerPetChooseItemData(int.Parse(itemx.Key.ToString()), DataRecord.TranslateData(data));
            petobj.transform.parent = gridobj.transform;
            petobj.transform.localPosition = Vector3.zero;
            petobj.transform.localScale = Vector3.one;
        }
    }








    public void OnClickSureTeam()
    {


        int id1 = 0, id2 = 0, id3 = 0;
        int recordid1 = 0, recordid2 = 0, recordid3 = 0;
        if (TeamBox1.transform.FindChild("PlayerPetChooseItem(Clone)") != null)
        {
            id1 = TeamBox1.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject.GetComponent<PlayerPetChooseItem>().data.id;
            recordid1 = TeamBox1.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject.GetComponent<PlayerPetChooseItem>().recordId;
        }
        else
        {
            Debug.Log("error");
            StartCoroutine(RemindChoose());
            return;
        }
        if (TeamBox2.transform.FindChild("PlayerPetChooseItem(Clone)")!=null)
        {
            id2 = TeamBox2.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject.GetComponent<PlayerPetChooseItem>().data.id;
             recordid2 = TeamBox2.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject.GetComponent<PlayerPetChooseItem>().recordId;
        }
        else
        {
            Debug.Log("error");
            StartCoroutine(RemindChoose());
            return;
        }




        if (TeamBox3.transform.FindChild("PlayerPetChooseItem(Clone)")!= null)
        {
            id3 = TeamBox3.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject.GetComponent<PlayerPetChooseItem>().data.id;
             recordid3 = TeamBox3.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject.GetComponent<PlayerPetChooseItem>().recordId;
        }
        else
        {
            Debug.Log("error");
            StartCoroutine(RemindChoose());
            return;
        }
        //if (DataRecord.SetFight(recordid1, 1) &&//判断是否选中重复出战的宠物
        //DataRecord.SetFight(recordid2, 2) &&
        //DataRecord.SetFight(recordid3, 3))
        //{
        DataRecord.SetFight(recordid1, 1);
        DataRecord.SetFight(recordid2, 2);
        DataRecord.SetFight(recordid3, 3);
        recordPetData = DataRecord.GetPetList();
        InitPetHaveData();
        UIManager.instance.HidePanel(UIPanelNames.TeamEditorPanel);
        Destroy(TeamBox1.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject);
        Destroy(TeamBox2.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject);
        Destroy(TeamBox3.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject);
        RoleControl.self.IsCanMove = false;      
    }
    public void OnClickBtnBack()
    {
        UIManager.instance.HidePanel(UIPanelNames.TeamEditorPanel);
        if (TeamBox1.transform.FindChild("PlayerPetChooseItem(Clone)") != null)
            Destroy(TeamBox1.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject);
        if (TeamBox2.transform.FindChild("PlayerPetChooseItem(Clone)") != null)
            Destroy(TeamBox2.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject);
        if (TeamBox3.transform.FindChild("PlayerPetChooseItem(Clone)") != null)
            Destroy(TeamBox3.transform.FindChild("PlayerPetChooseItem(Clone)").gameObject);
        RoleControl.self.IsCanMove = false;
    }

}


版权声明:本文为博主“爱吃木鱼的猫”原创文章,转载请注明出处 http://blog.csdn.net/u012761191

unity 实现宠物跟随移动

简单的跟随移动玩家移动控制脚本using System.Collections; using System.Collections.Generic; using UnityEngine;public ...
  • u011484013
  • u011484013
  • 2016年12月29日 18:10
  • 2070

给立志于游戏引擎研发的新手的一些建议

          经常遇到一些新手,问如果想立志于游戏引擎研发,有一些什么好的建议。另外个人认为游戏程序员即使是在使用商业引擎做项目,也应该至少达到引擎初级水平,这样才能知其然也知其所以...
  • CrazyEngine
  • CrazyEngine
  • 2016年11月18日 02:02
  • 2248

基于cocos2dx的RPG简单实用算法之3 - 多角色跟随阵型移动

基于cocos2dx的RPG简单实用算法之3 - 多角色跟随阵型移动
  • u011639126
  • u011639126
  • 2015年08月29日 00:15
  • 1846

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

using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI;...
  • u012761191
  • u012761191
  • 2016年09月07日 14:51
  • 156

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

using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Secur...
  • u012761191
  • u012761191
  • 2016年08月04日 20:13
  • 185

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

这个组合功能功能类似于角色扮演类游戏《妖精组合》中的组合功能,一般是用两个低等级的宠物合成更高等级的宠物。xml表中有合成的公式。...
  • u012761191
  • u012761191
  • 2016年08月29日 15:42
  • 155

剑指XX游戏读后感(2):网易2011笔试题详解/sizeof和strlen/交换双向链表节/dll和lib和exe/8叉树减色/11盆花组合/宠物技能遗传/看virtual继承代码写输出

请区分sizeof和strlen? char array[] = "0123456789"; char* pointArray = "0123456789"; char arrayBig[100] =...
  • yy19900806
  • yy19900806
  • 2015年01月03日 21:48
  • 553

听韩顺平聊PHP初学者如何变身大牛(一)

1.       应该怎样学习PHP,学习的顺序是怎样的? 2.       PHP学好后,可以做什么事情? 3.       听得懂课,但是一旦自己独立写程序,就没有思路? 4. ...
  • u012448178
  • u012448178
  • 2014年05月12日 16:44
  • 568

听韩顺平聊PHP初学者如何变身大牛(三)

前面的两个阶段,重点还是在打基础,到此我们还不能做出什么像样的网站,对于编程来说,学以致用是最好的。我们需要一个项目来把前面学习到的知识实际运用一下了。在教学过程中,同学们经常问这样一个问题:韩老师,...
  • u012448178
  • u012448178
  • 2014年05月12日 16:50
  • 379

听韩顺平聊PHP初学者如何变身大牛

有很多网友发来邮件询问各种问题,有深有浅, 有难有易。因为很多时间需要上课,没有一一回答,这里给大家道个歉,这里我举例出了几封网友的来信: 发件人:Chen Ma 发送时间: 2012-09-18...
  • zhaokai621
  • zhaokai621
  • 2015年10月19日 14:56
  • 375
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《组合变身小宠物游戏》TeamEditor出战队伍选择(修改更新中)【初学者】
举报原因:
原因补充:

(最多只允许输入30个字)