Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
| | |
| | | public class CB206_tagCMAddPoint : GameNetPackBasic {
|
| | | public byte PointAttrIDCount; // 加点属性ID个数
|
| | | public byte[] PointAttrIDList; // 加点属性ID列表
|
| | | public ushort[] PointValueList; // 加点属性ID对应的点数列表
|
| | | public uint[] PointValueList; // 加点属性ID对应的点数列表
|
| | |
|
| | | public CB206_tagCMAddPoint () {
|
| | | combineCmd = (ushort)0x03FE;
|
| | |
| | | public override void WriteToBytes () {
|
| | | WriteBytes (PointAttrIDCount, NetDataType.BYTE);
|
| | | WriteBytes (PointAttrIDList, NetDataType.BYTE, PointAttrIDCount);
|
| | | WriteBytes (PointValueList, NetDataType.WORD, PointAttrIDCount);
|
| | | WriteBytes (PointValueList, NetDataType.DWORD, PointAttrIDCount);
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsQualityProperty", _m_IsQualityProperty); |
| | | Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsPreReikiRoot", _m_IsPreReikiRoot); |
| | | Utils.RegisterFunc(L, Utils.METHOD_IDX, "ReceivePackage", _m_ReceivePackage); |
| | | Utils.RegisterFunc(L, Utils.METHOD_IDX, "SendAddPoint", _m_SendAddPoint); |
| | | Utils.RegisterFunc(L, Utils.METHOD_IDX, "RefreshReikiRootPoint", _m_RefreshReikiRootPoint); |
| | | |
| | | Utils.RegisterFunc(L, Utils.METHOD_IDX, "onCacheFreePointRefresh", _e_onCacheFreePointRefresh); |
| | |
| | | HB107_tagMCRolePointInfo _package = (HB107_tagMCRolePointInfo)translator.GetObject(L, 2, typeof(HB107_tagMCRolePointInfo)); |
| | | |
| | | gen_to_be_invoked.ReceivePackage( _package ); |
| | | |
| | | |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | } catch(System.Exception gen_e) { |
| | | return LuaAPI.luaL_error(L, "c# exception:" + gen_e); |
| | | } |
| | | |
| | | } |
| | | |
| | | [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] |
| | | static int _m_SendAddPoint(RealStatePtr L) |
| | | { |
| | | try { |
| | | |
| | | ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); |
| | | |
| | | |
| | | Snxxz.UI.ReikiRootModel gen_to_be_invoked = (Snxxz.UI.ReikiRootModel)translator.FastGetCSObj(L, 1); |
| | | |
| | | |
| | | |
| | | { |
| | | byte[] _points = LuaAPI.lua_tobytes(L, 2); |
| | | ushort[] _pointValues = (ushort[])translator.GetObject(L, 3, typeof(ushort[])); |
| | | |
| | | gen_to_be_invoked.SendAddPoint( _points, _pointValues ); |
| | | |
| | | |
| | | |
| | |
| | | }
|
| | |
|
| | | [SerializeField] string m_GameId = string.Empty;
|
| | | public string gameId { get { return m_GameId; } }
|
| | | public string gameId {
|
| | | get {
|
| | | if (string.IsNullOrEmpty(m_GameId))
|
| | | {
|
| | | return "xbqy";
|
| | | }
|
| | |
|
| | | return m_GameId;
|
| | | }
|
| | | }
|
| | |
|
| | | [SerializeField] InstalledAsset m_AssetAccess = InstalledAsset.IngoreDownLoad;
|
| | | public InstalledAsset assetAccess { get { return m_AssetAccess; } set { m_AssetAccess = value; } }
|
| | |
| | | public static Dictionary<int, int> skillYinjis { get; private set; }
|
| | | public static List<int> onlyUsedAtBackpackItems { get; private set; }
|
| | | public static List<int> signInPromoteSkills = new List<int>();
|
| | | public static List<int> chestDisplayItems = new List<int>();
|
| | |
|
| | | public static void Init()
|
| | | {
|
| | |
| | |
|
| | | MasteryLoadingLevelLimit1 = GetInt("MasteryLoadingLevelLimit");
|
| | | MasteryLoadingLevelLimit2 = GetInt("MasteryLoadingLevelLimit", 2);
|
| | |
|
| | | chestDisplayItems = new List<int>(GetIntArray("ChestShowItems"));
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | |
| | | using System.Collections; |
| | | using UnityEngine.UI; |
| | | using System.Collections.Generic; |
| | | |
| | | using System.Linq;
|
| | |
|
| | | namespace Snxxz.UI |
| | | {
|
| | | [XLua.LuaCallCSharp] |
| | |
| | | KingTreasure,
|
| | | PetMount,
|
| | | SpiritWeapon,
|
| | | PeerlessChest,
|
| | | } |
| | | |
| | | public class TipData |
| | |
| | | public struct LegendProperty |
| | | { |
| | | public bool isPreview; |
| | | public int itemId; |
| | | public int trueCount; |
| | | public List<Int2> properties; |
| | | } |
| | |
| | | static VirtualPackModel virtualPackModel { get { return ModelCenter.Instance.GetModel<VirtualPackModel>(); } } |
| | | static GatherSoulComposeModel gatherSoulComposeModel { get { return ModelCenter.Instance.GetModel<GatherSoulComposeModel>(); } } |
| | | static ItemOverdueModel itemOverdueModel { get { return ModelCenter.Instance.GetModel<ItemOverdueModel>(); } } |
| | | static BoxGetItemModel boxGetItemModel { get { return ModelCenter.Instance.GetModel<BoxGetItemModel>(); } } |
| | | |
| | | public static TipData mainTipData { get; private set; } |
| | | public static TipData secondaryData { get; private set; } |
| | |
| | | case TipType.Dogz:
|
| | | mainTipData = CreateDogzEquipData(itemId);
|
| | | break;
|
| | | case TipType.PeerlessChest:
|
| | | mainTipData = CreateItemData(itemId);
|
| | | mainTipData.getWay = default(GetWay);
|
| | | Dictionary<int, int> selectItems;
|
| | | if (boxGetItemModel.IsSelectItemByID(itemId, out selectItems))
|
| | | {
|
| | | secondaryData = CreateNormalEquipData(selectItems.Keys.First());
|
| | | secondaryData.getWay = default(GetWay);
|
| | | }
|
| | | break;
|
| | | default:
|
| | | mainTipData = CreateItemData(itemId);
|
| | | break;
|
| | |
| | | break;
|
| | | case TipType.SpiritWeapon:
|
| | | WindowCenter.Instance.Open<SpiritWeaponTipWin>();
|
| | | break;
|
| | | case TipType.PeerlessChest:
|
| | | WindowCenter.Instance.Open<PeerlessChestTipWin>();
|
| | | break;
|
| | | default:
|
| | | WindowCenter.Instance.Open<ItemTipWin>();
|
| | |
| | | { |
| | | var data = new LegendProperty(); |
| | | data.isPreview = true; |
| | | data.itemId = itemId; |
| | | |
| | | var config = ItemConfig.Get(itemId);
|
| | | if (config.Effect1 == 220)
|
| | |
| | | |
| | | var data = new LegendProperty(); |
| | | data.isPreview = false; |
| | | data.itemId = item.itemId; |
| | | |
| | | var ids = item.GetUseData(17); |
| | | var values = item.GetUseData(19); |
| | |
| | | {
|
| | | var config = ItemConfig.Get(itemId);
|
| | |
|
| | | if (GeneralDefine.chestDisplayItems.Contains(itemId))
|
| | | {
|
| | | return TipType.PeerlessChest;
|
| | | }
|
| | |
|
| | | switch (config.Type)
|
| | | {
|
| | | case 101:
|
| New file |
| | |
| | | //--------------------------------------------------------
|
| | | // [Author]: 第二世界
|
| | | // [ Date ]: Friday, June 28, 2019
|
| | | //--------------------------------------------------------
|
| | |
|
| | | using System;
|
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | |
|
| | | public class PeerlessChestTipWin : Window
|
| | | {
|
| | | [SerializeField] Button m_Close1;
|
| | | [SerializeField] Button m_Close2; |
| | | [SerializeField] ItemWidget m_ItemGroup;
|
| | | [SerializeField] SpiritWeaponWidget m_SpiritWeaponGroup;
|
| | |
|
| | | #region Built-in
|
| | | protected override void BindController()
|
| | | {
|
| | | }
|
| | |
|
| | | protected override void AddListeners()
|
| | | {
|
| | | m_Close1.AddListener(CloseClick);
|
| | | m_Close2.AddListener(CloseClick);
|
| | | }
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | {
|
| | | this.transform.localScale = Vector3.zero;
|
| | | }
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | | {
|
| | | }
|
| | |
|
| | | protected override void OnPreClose()
|
| | | {
|
| | | StopAllCoroutines();
|
| | | }
|
| | |
|
| | | protected override void OnAfterClose()
|
| | | {
|
| | | }
|
| | |
|
| | | protected override void OnActived() |
| | | { |
| | | base.OnActived(); |
| | | |
| | | StartCoroutine(Co_DelayOneFrame()); |
| | | }
|
| | | #endregion
|
| | |
|
| | | IEnumerator Co_DelayOneFrame() |
| | | { |
| | | this.transform.localScale = Vector3.zero; |
| | | DisplayItem(); |
| | | DisplaySpiritWeapon(); |
| | | yield return null; |
| | | yield return null; |
| | | this.transform.localScale = Vector3.one; |
| | | }
|
| | |
|
| | | void DisplayItem()
|
| | | {
|
| | | m_ItemGroup.Display();
|
| | | }
|
| | |
|
| | | void DisplaySpiritWeapon()
|
| | | {
|
| | | if (ItemTipUtility.secondaryData != null)
|
| | | {
|
| | | m_SpiritWeaponGroup.Display(ItemTipUtility.secondaryData);
|
| | | }
|
| | | }
|
| | |
|
| | | [Serializable]
|
| | | public class ItemWidget
|
| | | {
|
| | | [SerializeField] TipItemBaseInfoWidget m_BaseInfoWidget;
|
| | | [SerializeField] TipItemDescriptionWidget m_DescriptionWidget;
|
| | |
|
| | | public void Display()
|
| | | {
|
| | | var data = ItemTipUtility.mainTipData;
|
| | | m_BaseInfoWidget.Display(data.baseInfo);
|
| | | m_DescriptionWidget.Display(data.baseInfo.itemId);
|
| | | var count = ModelCenter.Instance.GetModel<PackModel>().GetItemUsedTimesToday(data.itemId);
|
| | | var config = ItemConfig.Get(data.itemId);
|
| | | m_DescriptionWidget.DisplayUseState(count, config.MaxSkillCnt);
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | [Serializable]
|
| | | public class SpiritWeaponWidget
|
| | | {
|
| | | [SerializeField] TipEquipBaseInfoWidget m_BaseInfoWidget;
|
| | | [SerializeField] TipBasePropertyWidget m_BasePropertyWidget;
|
| | | [SerializeField] TipSpiritWeaponPropertyWidget m_SpiritWeaponPropertyWidget;
|
| | | [SerializeField] TipItemDescriptionWidget m_DescriptionWidget;
|
| | | [SerializeField] TipJobAndPlaceWidget m_JobAndPlaceWidget;
|
| | |
|
| | | public void Display(ItemTipUtility.TipData data)
|
| | | {
|
| | | m_BaseInfoWidget.Display(data.baseInfo);
|
| | | m_BasePropertyWidget.Display(data.baseProperty);
|
| | | var property = data.spiritWeaponProperty;
|
| | | if (property.properties != null)
|
| | | {
|
| | | m_SpiritWeaponPropertyWidget.gameObject.SetActive(true);
|
| | | m_SpiritWeaponPropertyWidget.Display(property);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_SpiritWeaponPropertyWidget.gameObject.SetActive(false);
|
| | | }
|
| | | var itemId = data.baseInfo.itemId;
|
| | | m_DescriptionWidget.Display(itemId);
|
| | | m_JobAndPlaceWidget.Display(itemId); |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: f7a3507251475e24f80bc6d6e7cbece2 |
| | | timeCreated: 1561690610 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | | defaultReferences: [] |
| | | executionOrder: 0 |
| | | icon: {instanceID: 0} |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| | |
| | | } |
| | | |
| | | var itemConfig = ItemConfig.Get(baseInfo.itemId); |
| | | if (ItemLogicUtility.Instance.IsDogzEquip(baseInfo.itemId)) |
| | | { |
| | | m_Star.text = string.Format("{0}星", itemConfig.StarLevel); |
| | | } |
| | | |
| | | var strengthenPostfix = baseInfo.strengthenLevel > 0 ? string.Format("+{0}", baseInfo.strengthenLevel) : ""; |
| | | if (itemConfig.SuiteiD > 0) |
| | | { |
| | |
| | | |
| | | if (data.isPreview) |
| | | { |
| | | var description = UIHelper.AppendColor(TextColType.Green, UIHelper.ReplaceNewLine(Language.Get("LegendAttributePriview1", data.trueCount))); |
| | | var isDogzEquip = ItemLogicUtility.Instance.IsDogzEquip(data.itemId); |
| | | var languageKey = "LegendAttributePriview1"; |
| | | if (isDogzEquip) |
| | | { |
| | | languageKey = "LegendAttributePriview2"; |
| | | } |
| | | else |
| | | { |
| | | languageKey = "LegendAttributePriview1"; |
| | | } |
| | | var description = UIHelper.AppendColor(TextColType.Green, UIHelper.ReplaceNewLine(Language.Get(languageKey, data.trueCount))); |
| | | lines.Insert(0, description); |
| | | } |
| | | m_PropertyBehaviours.text = string.Join("\r\n", lines.ToArray()); |
| | |
| | | itemBasic.button.RemoveAllListeners();
|
| | | itemBasic.button.AddListener(() =>
|
| | | {
|
| | | ItemTipUtility.Show(itemInfo.ItemID);
|
| | | ShowItem(itemInfo);
|
| | | });
|
| | |
|
| | | itemBasic.transform.localScale = Vector3.zero;
|
| | | itemBasic.transform.localPosition = Vector3.zero;
|
| | | itemBasic.gameObject.SetActive(false);
|
| | |
| | | CloseImmediately();
|
| | | }
|
| | |
|
| | | private void ShowItem(BoxGetItemInfo info)
|
| | | {
|
| | | if (ItemLogicUtility.Instance.IsDogzEquip(info.ItemID)
|
| | | || ItemLogicUtility.Instance.IsRealmEquip(info.ItemID))
|
| | | {
|
| | | var useDataDict = ConfigParse.Analysis(info.UserData);
|
| | | List<Int2> legendProperties = null;
|
| | | if (useDataDict != null)
|
| | | {
|
| | | var count = 0;
|
| | | if (useDataDict.ContainsKey((int)ItemUseDataKey.legendAttrID) && useDataDict.ContainsKey((int)ItemUseDataKey.legendAttrValue))
|
| | | {
|
| | | legendProperties = new List<Int2>();
|
| | | count = Mathf.Min(useDataDict[(int)ItemUseDataKey.legendAttrID].Count, useDataDict[(int)ItemUseDataKey.legendAttrValue].Count);
|
| | | }
|
| | |
|
| | | for (var i = 0; i < count; i++)
|
| | | {
|
| | | var x = useDataDict[(int)ItemUseDataKey.legendAttrID][i];
|
| | | var y = useDataDict[(int)ItemUseDataKey.legendAttrValue][i];
|
| | | legendProperties.Add(new Int2(x, y));
|
| | | }
|
| | | }
|
| | |
|
| | | var config = ItemConfig.Get(info.ItemID);
|
| | | ItemTipUtility.ShowCustomEquip(new ItemTipUtility.CustomEquipInfo()
|
| | | {
|
| | | job = PlayerDatas.Instance.baseData.Job,
|
| | | itemId = info.ItemID,
|
| | | score = ItemLogicUtility.Instance.GetEquipScore(info.ItemID, useDataDict),
|
| | | legendProperties = legendProperties,
|
| | | isEquiped = false,
|
| | | starLevel = config.StarLevel,
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | | ItemTipUtility.Show(info.ItemID);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public void SendAddPoint(byte[] points, ushort[] pointValues)
|
| | | public void SendAddPoint(byte[] points, uint[] pointValues)
|
| | | {
|
| | | var pak = new CB206_tagCMAddPoint();
|
| | | pak.PointAttrIDList = points;
|
| | |
| | | }
|
| | |
|
| | | var ids = new byte[length];
|
| | | var values = new ushort[length];
|
| | | var values = new uint[length];
|
| | | var index = 0;
|
| | | for (int i = 0; i < m_ReikiRootPoints.Count; i++)
|
| | | {
|
| | | if (m_ReikiRootPoints[i].point > 0)
|
| | | {
|
| | | ids[index] = (byte)m_ReikiRootPoints[i].id;
|
| | | values[index] = (ushort)m_ReikiRootPoints[i].point;
|
| | | values[index] = (uint)m_ReikiRootPoints[i].point;
|
| | | index++;
|
| | | }
|
| | | }
|