private void InitItemTableData() { string[][] arrAll = GetData(TableDataName.ItemTableData.ToString()); for (int i = 0; i < arrAll.Length; i++) { string[] arr = arrAll[i]; int id = int.Parse(arr[0]); ItemTableData itemTableData = new ItemTableData { id = id, name = arr[1], des = arr[2], itemPrefab = arr[3], icon = arr[4], group = int.Parse(arr[5]), groupName = arr[6], damaged = int.Parse(arr[7]), defene = int.Parse(arr[8]), attackRadius = float.Parse(arr[9]), attackSpeed = float.Parse(arr[10]), isBomb = int.Parse(arr[11]), pointParticle = arr[12], moveParticle = arr[13], hitParticle = arr[14], bombMoveSpeed = float.Parse(arr[15]), bombCount = int.Parse(arr[16]), quality = int.Parse(arr[17]), animationId = int.Parse(arr[18]) }; ItemTableDataDic[id] = itemTableData; } }
public void InitData(DummyProp dummyProp, Enity enity) { this.enity = enity; this.dummyProp = dummyProp; bool isSetDefault = false; long enityitemid = 0; if (this.enity != null) { if (this.enity.hero.dummyPropDic.ContainsKey(dummyProp)) { enityitemid = this.enity.hero.dummyPropDic[dummyProp]; if (DataManager.GetInstance().GetGameData().Items.ContainsKey(enityitemid)) { Item item = DataManager.GetInstance().GetGameData().Items[enityitemid]; AddEquipToItemsView(item); UpdateSelectItem(item); isSetDefault = true; } } } foreach (KeyValuePair <long, Item> item in DataManager.GetInstance().GetGameData().Items) { ItemTableData itemTableData = DataManager.GetInstance().GetItemTableDataByItemId(item.Value.itemId); if (itemTableData.group == (int)dummyProp && enityitemid != item.Key) { AddEquipToItemsView(item.Value); if (!isSetDefault) { UpdateSelectItem(item.Value); isSetDefault = true; } } } }
public void InitWeaponByEquip(Item equip) { if (bombPrefab != null) { Destroy(bombPrefab); bombPrefab = null; } ItemTableData itemTableData = DataManager.GetInstance().GetItemTableDataByItem(equip); this.equipItem = equip; this.attackSpeed = itemTableData.attackSpeed; this.attackRadius = itemTableData.attackRadius; this.damaged = itemTableData.damaged; this.bombCount = itemTableData.bombCount; this.bombMoveSpeed = itemTableData.bombMoveSpeed; this.isHaveBomb = itemTableData.isBomb == 1; if (this.isHaveBomb)//一般远程攻击才有子弹 { } else//如果不是表示近战 { Detonate detonate = this.gameObject.AddComponent <Detonate>(); detonate.DetonateDamage = this.damaged; detonate.DamageCount = int.MaxValue;//近战武器无限攻击次数 } }
public void UpdateSelectItem(Item item) { Clear(); CurrentItem = item; ItemTableData itemTableData = DataManager.GetInstance().GetItemTableDataByItem(item); ItemShow3D = DataManager.GetInstance().CreateGameObjectFromAssetsBundle("", itemTableData.itemPrefab); if (ItemShow3D != null && Camera.main != null) { ItemShow3D.AddComponent <RolateObject>(); Quaternion quaternion = new Quaternion(90, 45, 45, 1); ItemShow3D.transform.localRotation = quaternion; ItemShow3D.transform.SetParent(Camera.main.transform.parent, false); ItemShow3D.transform.localScale = new Vector3(1.2f, 1.2f, 1.2f); ItemShow3D.transform.localPosition = new Vector3(0, 0, 0); if (ItemShow != null) { ItemShow3D.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(ItemShow.transform.position.x, ItemShow.transform.position.y, 10.0f)); } } ItemName.text = itemTableData.name; ItemInfo.text = itemTableData.des; bool isSelfEquip = false; if (this.enity != null && this.enity.hero.dummyPropDic.ContainsKey(this.dummyProp) && this.enity.hero.dummyPropDic[this.dummyProp] == item.id) { isSelfEquip = true; } removeButton.gameObject.SetActive(isSelfEquip); changeButton.gameObject.SetActive(!isSelfEquip); }
public void OnListTable(int totalTB, Message message) { List <ItemTableData> listTable = new List <ItemTableData>(); for (int i = 0; i < totalTB; i++) { try { ItemTableData ctb = new ItemTableData(); ctb.Id = (message.reader().ReadShort()); ctb.TableName = "Bàn " + ctb.Id; ctb.Status = (message.reader().ReadByte()); ctb.NUser = (message.reader().ReadByte()); ctb.IsLock = message.reader().ReadByte(); ctb.Money = message.reader().ReadLong(); ctb.NeedMoney = message.reader().ReadLong(); ctb.MaxMoney = message.reader().ReadLong(); ctb.MaxUser = (message.reader().ReadByte()); //if (roomstage.anbanfull && ctb.nuser == ctb.maxuser) {//sua // continue; //} listTable.Add(ctb); } catch (Exception ex) { Debug.LogException(ex); } } listTable.OrderBy(r => r.Money); LoadAssetBundle.LoadScene(SceneName.SCENE_ROOM, SceneName.SCENE_ROOM, () => { RoomControl.instance.CreateTable(listTable); }); }
public static ItemTableData LoadTableData() { TextAsset asset = Resources.Load("Texts/zeldaItem") as TextAsset; string jsonString = asset.text; ItemTableData tableData = JsonUtility.FromJson <ItemTableData>(jsonString); tableData.GenerateStates(); return(tableData); }
public void InitData(Item item, ItemIconType itemIconType) { SetState(true); Data = item; ItemTableData itemTableData = DataManager.instance.GetItemTableDataByItemId(item.itemId); equipTextsArr[0].text = itemTableData.name; equipTextsArr[1].text = item.itemLevel.ToString(); this.itemIconType = itemIconType; AddIcon(DataManager.GetInstance().GetItemTableDataByItem(item).icon); }
void Awake() { if (instance != null) { Destroy(gameObject); } else { instance = this; tableData = ItemTableData.LoadTableData(); } }
public ItemTableData GetItemTableDataByItemName(string name) { ItemTableData itemTableData = null; foreach (KeyValuePair <int, ItemTableData> item in ItemTableDataOldDic) { if (item.Value.name == name) { itemTableData = item.Value; break; } } return(itemTableData); }
// Update is called once per frame void Update() { leijiTime += Time.deltaTime; if (Input.GetKeyDown(KeyCode.RightArrow)) { leijiTime = 0.0f; if (ItemShow3D != null) { ScreenTool.Instance.CameraCapture(Camera.main, new Rect(0, 0, 1024, 1024), itemTableData.name + ".png"); ItemShow3D.transform.parent = null; Destroy(ItemShow3D); ItemShow3D = null; } else { while (DataManager.GetInstance().ItemTableDataDic.ContainsKey(ItemId)) { itemTableData = DataManager.GetInstance().ItemTableDataDic[ItemId]; if (DataManager.GetInstance().GetItemTableDataByItemName(itemTableData.name) == null) { ItemShow3D = DataManager.GetInstance().CreateGameObjectFromAssetsBundle("", itemTableData.itemPrefab); if (ItemShow3D != null && Camera.main != null) { ItemShow3D.transform.SetParent(item.transform, false); ParticleSystem[] particleSystems = ItemShow3D.GetComponentsInChildren <ParticleSystem>(); for (int i = 0; i < particleSystems.Length; i++) { particleSystems[i].gameObject.SetActive(false); } Quaternion quaternion = new Quaternion(ItemShow3D.transform.localRotation.x, ItemShow3D.transform.localRotation.y, ItemShow3D.transform.localRotation.z, ItemShow3D.transform.localRotation.w); quaternion.x = 0; quaternion.y = 145; ItemShow3D.transform.localRotation = quaternion; ItemShow3D.transform.localScale = new Vector3(1, 1, 1); ItemShow3D.transform.localPosition = new Vector3(0, 0, 0); } break; } else { ItemId++; } } ItemId++; } } }
public void CreateItem() { foreach (KeyValuePair <int, ItemTableData> pair in ItemTableDataDic) { ItemTableData itemTableData = pair.Value; Item item = new Item { id = pair.Key + 10000, itemId = pair.Value.id, masterId = 0, itemLevel = 1 }; if (!GD.Items.ContainsKey(item.id)) { GD.Items.Add(item.id, item); } } }
public void StartScreen() { foreach (KeyValuePair <int, ItemTableData> pair in DataManager.GetInstance().ItemTableDataDic) { ItemTableData itemTableData = pair.Value; GameObject ItemShow3D = DataManager.GetInstance().CreateGameObjectFromAssetsBundle("", itemTableData.itemPrefab); if (ItemShow3D != null && Camera.main != null) { ItemShow3D.transform.SetParent(item.transform, false); ItemShow3D.transform.localRotation = Quaternion.identity; ItemShow3D.transform.localScale = new Vector3(1, 1, 1); ItemShow3D.transform.localPosition = new Vector3(0, 0, 0); ScreenTool.Instance.CameraCapture(Camera.main, new Rect(0, 0, 1024, 1024), itemTableData.name + ".png"); ItemShow3D.transform.SetParent(null); Destroy(ItemShow3D); } } }
public void OnUpdateRoom(Message message) { short totalTB = message.reader().ReadShort(); List <ItemTableData> listTable = new List <ItemTableData>(); for (int i = 0; i < totalTB; i++) { try { ItemTableData ctb = new ItemTableData(); ctb.Id = (message.reader().ReadShort()); ctb.TableName = "Bàn " + ctb.Id; ctb.Status = (message.reader().ReadByte()); ctb.NUser = (message.reader().ReadByte()); ctb.IsLock = message.reader().ReadByte(); ctb.Money = message.reader().ReadLong(); ctb.NeedMoney = message.reader().ReadLong(); ctb.MaxMoney = message.reader().ReadLong(); ctb.MaxUser = (message.reader().ReadByte()); // Debug.LogError (ctb.Id + " " + ctb.NUser); listTable.Add(ctb); } catch (Exception ex) { Debug.LogException(ex); } } //listTable.OrderBy(r => r.Money); if (!SceneManager.GetSceneByName(SceneName.SCENE_ROOM).isLoaded) { LoadAssetBundle.LoadScene(SceneName.SCENE_ROOM, SceneName.SCENE_ROOM, () => { if (RoomControl.instance != null) { RoomControl.instance.CreateTable(listTable); } }); } else { if (RoomControl.instance != null) { RoomControl.instance.UpdateListTable(listTable); } } }
public void OnClickBtn() { switch (itemIconType) { case ItemIconType.ChangeEquipPanel: GameObject.Find("ChangeEquipPanel").SendMessage("UpdateSelectItem", Data); break; case ItemIconType.HeroPanel_EquipsSlot: ItemTableData itemTableData = DataManager.GetInstance().GetItemTableDataByItemId(Data.itemId); GameObject.Find("HeroScene").SendMessage("OnClickEquip", itemTableData.group); break; case ItemIconType.NULL: break; default: break; } }
public DataManager() { //CreateItemTableData(); //CreateDIYTableData("Assets/Little Heroes Mega Pack/Prefabs/01 Choose Costume", ".prefab"); assetBundlePrefabs = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/prefab"); assetBundleStatic = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/staticdata"); assetBundleUI = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/ui"); assetBundleMaterial = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/material"); InitItemTableDataOld(); InitItemTableData(); InitHeroTableData(); InitEnemyTableData(); InitAnimationTableData(); InitChapterTableData(); InitDIYTableData(); InitConfigTableData(); //初始化英雄,可以读取本地数据,或者服务器发来的数据 LoadByBin(); if (GD == null)//说明第一次启动,需要读取初始的英雄信息,最好配置表 { GD = new GameData(); int teamposition = 0; long startid = long.Parse(System.DateTime.Now.ToString("yyyyMMddhhmmss")); foreach (KeyValuePair <int, DefaultItemTableData> pair in DefaultItemTableDataDic) { //if (HeroTableDataDic.ContainsKey(pair.Value.itemid)) { if (pair.Value.type == 2)//如果是装备 { ItemTableData itemTableData = ItemTableDataDic[pair.Value.itemid]; Item item = new Item { id = startid + pair.Key, itemId = pair.Value.itemid, masterId = pair.Value.masterId, itemLevel = 1 }; GD.Items.Add(item.id, item); } else if (pair.Value.type == 1) { HeroTableData heroTableData = HeroTableDataDic[pair.Value.itemid]; Hero hero = new Hero { id = RandomHeroManager.instance.GetRandomId(), teamPosition = 0, heroLevel = 1, heroJob = (HeroJob)heroTableData.heroJob, heroQuality = (HeroQuality)heroTableData.heroQuality, heroSex = (HeroSex)heroTableData.heroSex }; hero.heroPartDic[HeroPart.Body] = heroTableData.heroBody; hero.heroPartDic[HeroPart.Hair] = heroTableData.heroHair; hero.heroPartDic[HeroPart.Beard] = heroTableData.heroBeard; teamposition++; GD.Heroes.Add(hero.id, hero); } } } SaveByBin();//保存下 } CreateItem(); foreach (KeyValuePair <long, Item> item in GD.Items) { if (item.Value.masterId > 0) //有持有者 { if (GD.Heroes.ContainsKey(item.Value.masterId)) //如果有这个持有者 { Hero hero = GD.Heroes[item.Value.masterId]; ItemTableData itemTableData = GetItemTableDataByItemId(item.Value.itemId); if (itemTableData != null) { hero.dummyPropDic[(DummyProp)itemTableData.group] = item.Value.id; } } } } }
public void UpdateEquipsByDummyProp(long itemid, bool isAdd = true, bool isupdate = false) { Item item = DataManager.GetInstance().GetGameData().GetItemById(itemid); ItemTableData equipdata = DataManager.GetInstance().GetItemTableDataByItemId(item.itemId); if (equipdata != null) { DummyProp dummyProp = (DummyProp)equipdata.group; if (dummyProp_Enity.ContainsKey(dummyProp)) { GameObject obj = dummyProp_Enity[dummyProp]; dummyProp_Enity.Remove(dummyProp); Destroy(obj); } if (isAdd) { GameObject equip = DataManager.GetInstance().CreateGameObjectFromAssetsBundle("", equipdata.itemPrefab); if (equip != null && dummyProp_Parent.Count > (int)dummyProp) { dummyProp_Enity[dummyProp] = equip; equip.transform.SetParent(dummyProp_Parent[(int)dummyProp], false); } if (dummyProp == DummyProp.Chest)// 如果是护甲,获取护甲的动作类,需要一同播放 { Animator animatorChest = equip.GetComponent <Animator>(); if (animatorChest != null && !animatorList.Contains(animatorChest)) { animatorList.Add(animatorChest); } } if (dummyProp == DummyProp.Back)//如果是翅膀,改成飞行状态 { //isFly = true; //OnPlayAnimation(AnimatorParameters.FlyIdle, ActionParamtersType.Bool); } } if (isupdate)//刷新装备 { //Hero hero = DataManager.GetInstance().GetGameData().GetHeroById(heroId); if (hero != null) { Item olditem = null; Hero oldmaster = null; //先把当前装备脱下 if (hero.dummyPropDic.ContainsKey(dummyProp)) { long olditemid = hero.dummyPropDic[dummyProp]; olditem = DataManager.GetInstance().GetGameData().GetItemById(olditemid); hero.dummyPropDic.Remove(dummyProp); //olditem.masterId = 0; } if (isAdd) { hero.dummyPropDic[dummyProp] = itemid; if (item.masterId > 0)//之前有穿戴者,需要卸下来 { oldmaster = DataManager.GetInstance().GetGameData().GetHeroById(item.masterId); //if(oldmaster != null) //{ // oldmaster.dummyPropDic.Remove(dummyProp); //} } item.masterId = hero.id; } if (olditem != null) { olditem.masterId = oldmaster != null ? oldmaster.id : 0; } if (oldmaster != null) { if (olditem != null) { oldmaster.dummyPropDic[dummyProp] = olditem.id; } else { oldmaster.dummyPropDic.Remove(dummyProp); } } if (hero.teamPosition >= 0)//如果再阵容需要更新战斗场景 { //GameObject.Find("FightScene").SendMessage("InitFightingHero",null); } } } if (dummyProp == DummyProp.Left || dummyProp == DummyProp.Right)//更新动作 { Item itemEquip = GetEnityEquip(); if (itemEquip != null) { ItemTableData itemTableData = DataManager.GetInstance().GetItemTableDataByItem(itemEquip); if (itemTableData != null) { animationTableData = DataManager.GetInstance().GetAnimationTableDataById(itemTableData.animationId); if (isupdate) { OnPlayAnimation(animatorAction); } } } } } }