《组合变身小宠物游戏》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

相关文章推荐

SQL Server 根据表名创建实体类的字段和属性

set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author...

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

using UnityEngine; using Mono.Xml; using System.Security; using System.Collections; using System.Col...

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

using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Secur...

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

请区分sizeof和strlen? char array[] = "0123456789"; char* pointArray = "0123456789"; char arrayBig[100] =...

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

有很多网友发来邮件询问各种问题,有深有浅, 有难有易。因为很多时间需要上课,没有一一回答,这里给大家道个歉,这里我举例出了几封网友的来信: 发件人:Chen Ma 发送时间: 2012-09-18...

H5游戏开发实战之 - 变身盒子

这是一个物理引擎游戏,有12关,游戏方式很简单:点击后方块变成圆球,过关条件:所有红球掉落。 原始版本js代码约1.5万行,这里只用200多行就实现了。 游戏界面: 在线运行 在线编辑下面我们...

8.Unity3D商业游戏源码研究-变身吧主公-PanelMgr

using UnityEngine; using System.Collections; using System.Collections.Generic; using System;public c...

17.Unity3D商业游戏源码研究-变身吧主公-战斗-StateBase,PlayerBase

using UnityEngine; using System.Collections;public abstract class StateBase : IState { protecte...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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