杂货店
parent
6cb2165ccd
commit
67909209d6
|
@ -7,10 +7,10 @@
|
|||
<remark page="2" value="位置"/>
|
||||
</controller>
|
||||
<displayList>
|
||||
<component id="n0_fyvb" name="frame" src="fyvbr" fileName="FrameBag.xml" xy="0,0" group="n18_fyvb">
|
||||
<component id="n0_fyvb" name="frame" src="fyvbr" fileName="FrameBag.xml" xy="0,0">
|
||||
<Label title="星魂背包"/>
|
||||
</component>
|
||||
<list id="n1_fyvb" name="slotList" xy="90,125" size="416,324" group="n18_fyvb" layout="flow_hz" selectionMode="multipleSingleClick" overflow="scroll" scrollBarFlags="1024" clipSoftness="0,50" lineGap="5" colGap="5" defaultItem="ui://71ktouo7m7kbtne" autoClearItems="true">
|
||||
<list id="n1_fyvb" name="slotList" xy="90,125" size="416,324" layout="flow_hz" selectionMode="multipleSingleClick" overflow="scroll" scrollBarFlags="1024" clipSoftness="0,50" lineGap="5" colGap="5" defaultItem="ui://71ktouo7m7kbtne" autoClearItems="true">
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
|
@ -60,8 +60,8 @@
|
|||
<item/>
|
||||
<item/>
|
||||
</list>
|
||||
<text id="n19_m7kb" name="txtCapity" xy="99,463" size="130,26" group="n18_fyvb" fontSize="18" color="#ffcc00" strokeColor="#000000" text="容量:100/1000"/>
|
||||
<group id="n18_fyvb" name="gorup" xy="0,0" size="594,640" advanced="true"/>
|
||||
<text id="n19_m7kb" name="txtCapity" xy="99,463" size="130,26" fontSize="18" color="#ffcc00" strokeColor="#000000" text="容量:100/1000"/>
|
||||
<text id="n38_q52a" name="txtSelection" xy="96,549" size="108,24" fontSize="16" color="#ffcc00" strokeColor="#000000" text="已选择0个星魂"/>
|
||||
<component id="n21_jxet" name="btnType" src="czagl" fileName="ButtonSingle.xml" pkg="kqsmrpxl" xy="369,467" size="19,19" group="n24_jxet" aspect="true">
|
||||
<Button controller="sortType" page="1"/>
|
||||
</component>
|
||||
|
@ -112,9 +112,9 @@
|
|||
<item title="鞋"/>
|
||||
</ComboBox>
|
||||
</component>
|
||||
<component id="n40_q52a" name="btnReslove" src="y69ujo" fileName="ButtonOnlyText.xml" pkg="kqsmrpxl" xy="95,576" size="72,25">
|
||||
<Button title="星魂分解"/>
|
||||
</component>
|
||||
</displayList>
|
||||
<transition name="Effect">
|
||||
<item time="0" type="Alpha" target="n18_fyvb" tween="true" startValue="0" endValue="1" duration="18"/>
|
||||
<item time="0" type="XY" target="n18_fyvb" tween="true" startValue="-,-640" endValue="-,0" duration="18"/>
|
||||
</transition>
|
||||
<transition name="Effect"/>
|
||||
</component>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="85,33" pivot="0.5,0.5" extention="Button">
|
||||
<controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
|
||||
<displayList>
|
||||
<image id="n0_cm4u" name="n0" src="cm4u7" fileName="Assets/Market_zhuangbei.png" xy="0,0" size="85,33">
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
</image>
|
||||
<loader id="n1_fc29" name="icon" xy="0,0" size="32,32"/>
|
||||
<text id="n2_fc29" name="title" xy="34,7" size="36,22" fontSize="14" color="#e3c07f" align="center" vAlign="middle" letterSpacing="4" strokeColor="#7a4d00" strokeSize="2" shadowColor="#000000" shadowOffset="1,1" text="装备">
|
||||
<relation target="" sidePair="center-center,middle-middle"/>
|
||||
</text>
|
||||
</displayList>
|
||||
<Button mode="Radio" downEffect="dark" downEffectValue=".8"/>
|
||||
</component>
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="500,400">
|
||||
<displayList>
|
||||
<component id="n0_rttn" name="frame" src="cm4u8" fileName="FrameShopUI.xml" xy="0,0">
|
||||
<Label title="杂货店"/>
|
||||
</component>
|
||||
<list id="n3_rttn" name="pageList" xy="38,56" size="425,40" layout="row" overflow="hidden" defaultItem="ui://9r7gspayfc29h">
|
||||
<item title="星币"/>
|
||||
<item title="荣誉"/>
|
||||
<item title="竞技"/>
|
||||
<item title="家族"/>
|
||||
</list>
|
||||
<list id="n4_rttn" name="slotList" xy="40,96" size="424,265" layout="flow_hz" overflow="scroll" lineGap="1" colGap="1" defaultItem="ui://kqsmrpxls8hrkf" autoClearItems="true">
|
||||
<relation target="n3_rttn" sidePair="center-center,top-bottom"/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
</list>
|
||||
</displayList>
|
||||
</component>
|
|
@ -17,6 +17,8 @@
|
|||
<component id="cm4ud" name="ButtonMaterial.xml" path="/"/>
|
||||
<component id="cm4ue" name="ButtonEquip.xml" path="/"/>
|
||||
<component id="rttnf" name="ShopUI.xml" path="/" exported="true"/>
|
||||
<component id="fc29g" name="MultiShopUI.xml" path="/" exported="true"/>
|
||||
<component id="fc29h" name="ButtonShop.xml" path="/"/>
|
||||
</resources>
|
||||
<publish name=""/>
|
||||
</packageDescription>
|
|
@ -3038,3 +3038,18 @@ message M2C_GetUIDByName // IActorLocationResponse
|
|||
string Message = 92;
|
||||
repeated KV_string_int32 map=1;
|
||||
}
|
||||
|
||||
//ResponseType M2C_ResolveStarSoul
|
||||
message C2M_ResolveStarSoul // IActorLocationRequest
|
||||
{
|
||||
int32 RpcId = 90;
|
||||
int64 ActorId = 93;
|
||||
repeated int64 ids=1;
|
||||
}
|
||||
message M2C_ResolveStarSoul // IActorLocationResponse
|
||||
{
|
||||
int32 RpcId = 90;
|
||||
int32 Error = 91;
|
||||
string Message = 92;
|
||||
repeated RewardItem itenList=1;
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
using System;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
[ActorMessageHandler]
|
||||
public class C2M_ResolveStarSoulHandler : AMActorLocationRpcHandler<Unit, C2M_ResolveStarSoul, M2C_ResolveStarSoul>
|
||||
{
|
||||
protected override async ETTask Run(Unit unit, C2M_ResolveStarSoul request, M2C_ResolveStarSoul response, Action reply)
|
||||
{
|
||||
var bag = unit.GetComponent<StarSoulBag>();
|
||||
string retStr = bag.Resolve(request.ids,response.itenList);
|
||||
if (retStr !=null)
|
||||
{
|
||||
response.Message = retStr;
|
||||
}
|
||||
reply();
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -26,7 +26,7 @@ namespace ET
|
|||
|
||||
BagHelper.AddItem(unit, itemId, itemCount, isLock, getSource: getSource);
|
||||
TaskHelper.UpdateTask(unit, itemId).Coroutine();
|
||||
list?.Add(new RewardItem() { Id = itemId, Count = 1, ItemType = BagHelper.GetItemType(itemId) });
|
||||
list?.Add(new RewardItem() { Id = itemId, Count = itemCount, ItemType = BagHelper.GetItemType(itemId) });
|
||||
rewordMap?.Add(unit.Id, (itemId, itemCount));
|
||||
try
|
||||
{
|
||||
|
|
|
@ -619,7 +619,8 @@ namespace ET
|
|||
else if (cmdType.Equals("winBattle", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (!unitInLib) return "不在线";
|
||||
// BattleBase battle = BattleMgrCompnent.Instance.GetBattle(unitInLib);
|
||||
CopyBattle battle = BattleMgrCompnent.Instance.GetBattle(unitInLib);
|
||||
battle.Victory().Coroutine();
|
||||
return "成功";
|
||||
}
|
||||
else if (cmdType.Equals("queryAccount", StringComparison.OrdinalIgnoreCase))
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace ET
|
|||
public override void Deserialize(StarSoulBag self)
|
||||
{
|
||||
self.getAttributeFunc = self.GetAttribute;
|
||||
if(self.usedStarSoulDic.Count==0)
|
||||
if (self.usedStarSoulDic.Count == 0)
|
||||
self.InitData();
|
||||
}
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ namespace ET
|
|||
long starSoulId = kv.Value;
|
||||
if (starSoulId != 0)
|
||||
{
|
||||
if(starSoulId==0)
|
||||
if (starSoulId == 0)
|
||||
return bound;
|
||||
StarSoulBag starSoulBag = self;
|
||||
StarSoulItem item = starSoulBag.Get(starSoulId);
|
||||
|
@ -69,17 +69,17 @@ namespace ET
|
|||
{
|
||||
return bound;
|
||||
}
|
||||
|
||||
|
||||
StarSoulAttributeConfig soulAttributeConfig = StarSoulAttributeConfigCategory.Instance.Get(item.mainId);
|
||||
if (soulAttributeConfig.Key == (int) attributeType)
|
||||
bound += ItemHelper.GetRealMainValue(soulAttributeConfig.Value,item.level);
|
||||
bound += ItemHelper.GetRealMainValue(soulAttributeConfig.Value, item.level);
|
||||
for (var i = 0; i < item.viceIds.Length; i++)
|
||||
{
|
||||
if(item.viceIds[i]==0)
|
||||
if (item.viceIds[i] == 0)
|
||||
break;
|
||||
soulAttributeConfig = StarSoulAttributeConfigCategory.Instance.Get(item.viceIds[i]);
|
||||
if (soulAttributeConfig.Key == (int) attributeType)
|
||||
bound += ItemHelper.GetRealViceValue(soulAttributeConfig.Value*(1+item.viceAdd[i]),item.quality);
|
||||
bound += ItemHelper.GetRealViceValue(soulAttributeConfig.Value * (1 + item.viceAdd[i]), item.quality);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -88,8 +88,10 @@ namespace ET
|
|||
{
|
||||
Log.Error(e);
|
||||
}
|
||||
|
||||
return bound;
|
||||
}
|
||||
|
||||
public static bool CanAdd(this StarSoulBag self)
|
||||
{
|
||||
return self.ItemCount < StarSoulBag.MaxCount;
|
||||
|
@ -136,7 +138,7 @@ namespace ET
|
|||
/// </summary>
|
||||
/// <param name="self"></param>
|
||||
/// <param name="key"></param>
|
||||
private static void Sync(this StarSoulBag self,byte key)
|
||||
private static void Sync(this StarSoulBag self, byte key)
|
||||
{
|
||||
self.usedStarSoulDic.TryGetValue(key, out long value);
|
||||
M2C_SyncStarSoulBagItemUsed proto = new();
|
||||
|
@ -144,14 +146,12 @@ namespace ET
|
|||
proto.value = value;
|
||||
foreach (StarSoulSuit starSoulSuit in self.Suits)
|
||||
{
|
||||
proto.suitKVs.Add(new KV_int32_int32()
|
||||
{
|
||||
key = starSoulSuit.Id,
|
||||
value = (int) starSoulSuit.type
|
||||
});
|
||||
proto.suitKVs.Add(new KV_int32_int32() { key = starSoulSuit.Id, value = (int) starSoulSuit.type });
|
||||
}
|
||||
|
||||
MessageHelper.SendActor(self.GetParent<Unit>(), proto);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 同步背包
|
||||
/// </summary>
|
||||
|
@ -213,10 +213,13 @@ namespace ET
|
|||
foreach (int id in item.viceIds)
|
||||
{
|
||||
netItem.vice.Add(id);
|
||||
}foreach (float id in item.viceAdd)
|
||||
}
|
||||
|
||||
foreach (float id in item.viceAdd)
|
||||
{
|
||||
netItem.viceAdd.Add(id);
|
||||
}
|
||||
|
||||
itemList.Add(netItem);
|
||||
}
|
||||
catch (Exception e)
|
||||
|
@ -224,16 +227,14 @@ namespace ET
|
|||
Log.Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
usedIdMap.AddRange(self.usedStarSoulDic.Values);
|
||||
foreach (StarSoulSuit starSoulSuit in self.Suits)
|
||||
{
|
||||
suitKVs.Add(new KV_int32_int32()
|
||||
{
|
||||
key = starSoulSuit.Id,
|
||||
value = (int) starSoulSuit.type
|
||||
});
|
||||
suitKVs.Add(new KV_int32_int32() { key = starSoulSuit.Id, value = (int) starSoulSuit.type });
|
||||
}
|
||||
}
|
||||
|
||||
private static string AddExp(this StarSoulBag self, StarSoulItem item, List<(int, int)> expList, ref int needCount)
|
||||
{
|
||||
if (item == null)
|
||||
|
@ -469,5 +470,29 @@ namespace ET
|
|||
self.Sync(item.Id, item);
|
||||
}
|
||||
}
|
||||
|
||||
public static string Resolve(this StarSoulBag self, List<long> ids,List<RewardItem> _list)
|
||||
{
|
||||
foreach (var id in ids)
|
||||
{
|
||||
try
|
||||
{
|
||||
var item = self.Get(id);
|
||||
if (item != null)
|
||||
{
|
||||
StarSoulResolveConfig config = StarSoulResolveConfigCategory.Instance.Get((long) item.quality);
|
||||
DropHelper.Drop(self.GetParent<Unit>(),self.Parent.GetComponent<PlayerData>(), BattleType.None,config.DropId,null,1,"星魂分解",list: _list);
|
||||
self.Remove(id);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e);
|
||||
return "系统错误";
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -106,7 +106,7 @@ namespace ET
|
|||
}
|
||||
}
|
||||
|
||||
private static async ETVoid Victory(CopyBattle self)
|
||||
public static async ETVoid Victory(this CopyBattle self)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
using ET;
|
||||
using MongoDB.Bson.Serialization.Attributes;
|
||||
|
||||
namespace Cal.DataTable
|
||||
{
|
||||
[Config]
|
||||
public partial class MultiShopCategory : ACategory<MultiShop>
|
||||
{
|
||||
public static MultiShopCategory Instance;
|
||||
public MultiShopCategory()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
}
|
||||
|
||||
public partial class MultiShop:IConfig
|
||||
{
|
||||
[BsonId]
|
||||
public long Id { get; set; }
|
||||
public byte Type;
|
||||
public int ItemId;
|
||||
public long Price;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
using ET;
|
||||
using MongoDB.Bson.Serialization.Attributes;
|
||||
|
||||
namespace Cal.DataTable
|
||||
{
|
||||
[Config]
|
||||
public partial class StarSoulResolveConfigCategory : ACategory<StarSoulResolveConfig>
|
||||
{
|
||||
public static StarSoulResolveConfigCategory Instance;
|
||||
public StarSoulResolveConfigCategory()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
}
|
||||
|
||||
public partial class StarSoulResolveConfig:IConfig
|
||||
{
|
||||
[BsonId]
|
||||
public long Id { get; set; }
|
||||
public int DropId;
|
||||
}
|
||||
}
|
|
@ -7073,9 +7073,6 @@ namespace ET
|
|||
[ProtoMember(5)]
|
||||
public List<KV_int32_int32> suitKVs = new List<KV_int32_int32>();
|
||||
|
||||
[ProtoMember(3)]
|
||||
public long UnitId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.M2C_SyncStarSoulBagInfo)]
|
||||
|
@ -7289,4 +7286,38 @@ namespace ET
|
|||
|
||||
}
|
||||
|
||||
[ResponseType(typeof(M2C_ResolveStarSoul))]
|
||||
[Message(OuterOpcode.C2M_ResolveStarSoul)]
|
||||
[ProtoContract]
|
||||
public partial class C2M_ResolveStarSoul:IActorLocationRequest
|
||||
{
|
||||
[ProtoMember(90)]
|
||||
public int RpcId { get; set; }
|
||||
|
||||
[ProtoMember(93)]
|
||||
public long ActorId { get; set; }
|
||||
|
||||
[ProtoMember(1)]
|
||||
public List<long> ids = new List<long>();
|
||||
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.M2C_ResolveStarSoul)]
|
||||
[ProtoContract]
|
||||
public partial class M2C_ResolveStarSoul:IActorLocationResponse
|
||||
{
|
||||
[ProtoMember(90)]
|
||||
public int RpcId { get; set; }
|
||||
|
||||
[ProtoMember(91)]
|
||||
public int Error { get; set; }
|
||||
|
||||
[ProtoMember(92)]
|
||||
public string Message { get; set; }
|
||||
|
||||
[ProtoMember(1)]
|
||||
public List<RewardItem> itenList = new List<RewardItem>();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -414,5 +414,7 @@ namespace ET
|
|||
public const ushort M2C_StartActive = 20410;
|
||||
public const ushort C2M_GetUIDByName = 20411;
|
||||
public const ushort M2C_GetUIDByName = 20412;
|
||||
public const ushort C2M_ResolveStarSoul = 20413;
|
||||
public const ushort M2C_ResolveStarSoul = 20414;
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
{ "fileMD5" : { "Anim.xlsx" : "545a68dfcadddaee53a26a0ba19376c1", "RobotAccount.xlsx" : "31431b89eabb3e5ecb63f20b59d30858", "LevelConfig.xlsx" : "91bc9dc0d28ba5b40afef4365043d3ab", "MapSceneConfig.xlsx" : "08b026a5e74128d9a03bc383fa166489", "PrefabConfig.xlsx" : "46ef389511d1c63705c182088bab0285", "RoleConfig.xlsx" : "b997e8f718e7427c9388ae0e27e93d16", "AnimationConfig.xlsx" : "0a7d708c495799f85a8c2a03ebb0dc49", "BossBase.xlsx" : "b4920d9ab94dfbf7fb7bd8811db3cbe5", "CameraPosition.xlsx" : "fbf71d84ad155465c43ff60240de4284", "CharacterGrowth.xlsx" : "a3d0398ea4ee2e3b8b716f7bb29e5f08", "EquipBase.xlsx" : "303516c5bc74dde57a9d0213bc1e00ea", "EquipForge.xlsx" : "fda15bcdc6b1fb0ec797091089682a23", "FamilyBossConfig.xlsx" : "eac9263d56e558729fa2e2d51ef865bf", "Forbidden.xlsx" : "28bbeeb0ebc58adab5eff9167497c7ac", "GoodsBase.xlsx" : "f902d34806e8737c6a8fffe732bbef3d", "ItemUpgrade.xlsx" : "55b96dc713fe42ed05cbbbd6b0865744", "MainStory.xlsx" : "48cc3d0b944dca80862a27c757d67f01", "MarketBase.xlsx" : "1cf03fdbc8dd3a807c3576cf48544d41", "MaterialBase.xlsx" : "fbaddf46f35c18d6f70db178f1c446a2", "MonsterBase.xlsx" : "388bdb7fee113c9a87aaca8e614e3bbf", "NPCBase.xlsx" : "e64543df667ad4bfcabddd90e50768ce", "OnlineRewardBase.xlsx" : "e376d6f31abc8c39397f03f8c24fc7bc", "QuestConfig.xlsx" : "882de4872ea851fea32138f6d48798b1", "RoleGrowth.xlsx" : "1384845a732285f6affef3cf6c67a672", "RolesPosition.xlsx" : "f5888586a320dfcd693c91c1f7cfc90d", "ShopBase.xlsx" : "717de9348e7b7501a5e819947a7fea7e", "SkillConfig.xlsx" : "2c1d2efd7f5c6116ba07f45c305180af", "SkillGroupBase.xlsx" : "e926883a016ef8b883c5c2f69a25ac2a", "SkinBase.xlsx" : "04d3e1c196a7c804e1ba6974f1284c39", "Sys_Code.xlsx" : "8eff5c2fd8743578db17c86a81862d39", "Sys_Prefab.xlsx" : "88655b126bb3ad457457472d80fe7f84", "Sys_Scene.xlsx" : "2daaf184fdcfed70a9254ab5a612d5ec", "TaskBase.xlsx" : "f7aa18a2225a75262b9735bf97dabed1", "TrialCopy.xlsx" : "b85d1a4bdc49dbc63a759a499aed8f5f", "Parentset.xlsx" : "1b4c3c31024f10137e240b4f2ec3df93", "SonAdvancedSet.xlsx" : "7128d07efa77d9de70d956b71c926e31", "SonSet.xlsx" : "3372ca02daaf398954a5f11002899d83", "EffectConfig.xlsx" : "c49b8ae9632120926c26991a25381e35", "HonorShop.xlsx" : "e7f2f48832e7e5fb6f8d56771c0551a6", "SkillLearn.xlsx" : "fb6cbb056172b57358502f18abd86a62", "FamilyShop.xlsx" : "fceadcf0570b35f1f6f24b0a67c73020", "EquipAffixConfig.xlsx" : "e33e0d8d934d7c145c07f1093f412981", "EquipUpgrade.xlsx" : "dc4758cffc7cf51e2a125969b2fc1d49", "MainStoryExp.xlsx" : "1e191962e19dcae5344f53bda64a5dec", "ManulEquip.xlsx" : "0eb382ad71752f63bf1b235809c0c17f", "ManulEquipAttribute.xlsx" : "c4869a18be4c14784fd26b697fa23f86", "ManulEquipMonsterConfig.xlsx" : "da4ca0343b0c77aed966c3ee9568cf68", "TransmigrationAddConfig.xlsx" : "620912bfbe398914fa8b3bf21afeeccf", "EquipBase .xlsx" : "0d52dbe61e0808bc75f59207e73ad7fb", "TitleConfig.xlsx" : "07d9306032f86e7b9642a61a8a2ee966", "GemInlayConfig.xlsx" : "d2bfb6e76b895f5c8f1caed238eeb0f9", "Strengthentable.xlsx" : "fdb418090e31b0bfb93c9ae9fc9bd9f1", "GemPriceConfig.xlsx" : "011721c1a612634195bffd58fb895279", "MapMonsterConfig.xlsx" : "99b1d7454d78e7679deeb29150abd3db", "TransferJobConfig.xlsx" : "5b0daa2b0837e66196fbda214d72678a", "GMConfig.xlsx" : "c8e6ed377384ace1cf783e12b3ade4c8", "SuitConfig.xlsx" : "b67db1e911e14362e3409cb9f5f94216", "PetConfig.xlsx" : "4612dd8a5c3af3d3f21a4b7307eb169d", "PetLevelConfig.xlsx" : "a86c4cbde022ccd884ccf572ad5edfe7", "PetExploreConfig.xlsx" : "333043bd5c172def36660eca1dc8416a", "AIConfig.xlsx" : "871d248a954d8c59188e41d002135c75", "CopyConfig.xlsx" : "0c430ea6eb850380e71b9c6e336ac189", "CopyRewordConfig.xlsx" : "f4de20211685f21d15a8170061fdc7d2", "SpaceTravelConfig.xlsx" : "be6486259f73db40a93bdecef00a066e", "SceneTransConfig.xlsx" : "9e31820e1273e184987f970a20be4a45", "ArenaShop.xlsx" : "3fd4650500dd2bf83064a1fd46e4444d", "StarShop.xlsx" : "e14b5e252416a12318e775d86dd1b2f7", "StarSoulTypeConfig.xlsx" : "c16e5b01ce7261f11f3c1c4c8db1f1d9", "StarSoulAttributeConfig.xlsx" : "eae313d2f6cf4fdba87e53f51dc7d57f", "StarSoulEquipAttributeTypeConfig.xlsx" : "0aadceefcf88bc9d2b6d5c643cad79ce", "StarSoulLevelConfig.xlsx" : "0602d7ff6fbb242a4a0ebfcffd13fa9d", "ActivePerDayConfig.xlsx" : "cf0b65ead205b7468f6e06136ae7a172", "StarSoulCopyConfig.xlsx" : "921a5d72a0a56ef33bbe03285dafe9d5" } }
|
||||
{ "fileMD5" : { "Anim.xlsx" : "545a68dfcadddaee53a26a0ba19376c1", "RobotAccount.xlsx" : "31431b89eabb3e5ecb63f20b59d30858", "LevelConfig.xlsx" : "91bc9dc0d28ba5b40afef4365043d3ab", "MapSceneConfig.xlsx" : "08b026a5e74128d9a03bc383fa166489", "PrefabConfig.xlsx" : "46ef389511d1c63705c182088bab0285", "RoleConfig.xlsx" : "b997e8f718e7427c9388ae0e27e93d16", "AnimationConfig.xlsx" : "0a7d708c495799f85a8c2a03ebb0dc49", "BossBase.xlsx" : "b4920d9ab94dfbf7fb7bd8811db3cbe5", "CameraPosition.xlsx" : "fbf71d84ad155465c43ff60240de4284", "CharacterGrowth.xlsx" : "a3d0398ea4ee2e3b8b716f7bb29e5f08", "EquipBase.xlsx" : "303516c5bc74dde57a9d0213bc1e00ea", "EquipForge.xlsx" : "fda15bcdc6b1fb0ec797091089682a23", "FamilyBossConfig.xlsx" : "eac9263d56e558729fa2e2d51ef865bf", "Forbidden.xlsx" : "28bbeeb0ebc58adab5eff9167497c7ac", "GoodsBase.xlsx" : "f902d34806e8737c6a8fffe732bbef3d", "ItemUpgrade.xlsx" : "55b96dc713fe42ed05cbbbd6b0865744", "MainStory.xlsx" : "48cc3d0b944dca80862a27c757d67f01", "MarketBase.xlsx" : "1cf03fdbc8dd3a807c3576cf48544d41", "MaterialBase.xlsx" : "ce7fd3458aed257b8a78fb8c75a876f8", "MonsterBase.xlsx" : "388bdb7fee113c9a87aaca8e614e3bbf", "NPCBase.xlsx" : "e64543df667ad4bfcabddd90e50768ce", "OnlineRewardBase.xlsx" : "e376d6f31abc8c39397f03f8c24fc7bc", "QuestConfig.xlsx" : "882de4872ea851fea32138f6d48798b1", "RoleGrowth.xlsx" : "1384845a732285f6affef3cf6c67a672", "RolesPosition.xlsx" : "f5888586a320dfcd693c91c1f7cfc90d", "ShopBase.xlsx" : "717de9348e7b7501a5e819947a7fea7e", "SkillConfig.xlsx" : "2c1d2efd7f5c6116ba07f45c305180af", "SkillGroupBase.xlsx" : "e926883a016ef8b883c5c2f69a25ac2a", "SkinBase.xlsx" : "04d3e1c196a7c804e1ba6974f1284c39", "Sys_Code.xlsx" : "8eff5c2fd8743578db17c86a81862d39", "Sys_Prefab.xlsx" : "88655b126bb3ad457457472d80fe7f84", "Sys_Scene.xlsx" : "2daaf184fdcfed70a9254ab5a612d5ec", "TaskBase.xlsx" : "f7aa18a2225a75262b9735bf97dabed1", "TrialCopy.xlsx" : "b85d1a4bdc49dbc63a759a499aed8f5f", "Parentset.xlsx" : "da1f21299afe6361ec2705300e468345", "SonAdvancedSet.xlsx" : "7128d07efa77d9de70d956b71c926e31", "SonSet.xlsx" : "c342bdb10b5c82e8601fe41e5a254409", "EffectConfig.xlsx" : "c49b8ae9632120926c26991a25381e35", "HonorShop.xlsx" : "e7f2f48832e7e5fb6f8d56771c0551a6", "SkillLearn.xlsx" : "fb6cbb056172b57358502f18abd86a62", "FamilyShop.xlsx" : "fceadcf0570b35f1f6f24b0a67c73020", "EquipAffixConfig.xlsx" : "e33e0d8d934d7c145c07f1093f412981", "EquipUpgrade.xlsx" : "dc4758cffc7cf51e2a125969b2fc1d49", "MainStoryExp.xlsx" : "1e191962e19dcae5344f53bda64a5dec", "ManulEquip.xlsx" : "0eb382ad71752f63bf1b235809c0c17f", "ManulEquipAttribute.xlsx" : "c4869a18be4c14784fd26b697fa23f86", "ManulEquipMonsterConfig.xlsx" : "da4ca0343b0c77aed966c3ee9568cf68", "TransmigrationAddConfig.xlsx" : "620912bfbe398914fa8b3bf21afeeccf", "EquipBase .xlsx" : "0d52dbe61e0808bc75f59207e73ad7fb", "TitleConfig.xlsx" : "07d9306032f86e7b9642a61a8a2ee966", "GemInlayConfig.xlsx" : "d2bfb6e76b895f5c8f1caed238eeb0f9", "Strengthentable.xlsx" : "fdb418090e31b0bfb93c9ae9fc9bd9f1", "GemPriceConfig.xlsx" : "011721c1a612634195bffd58fb895279", "MapMonsterConfig.xlsx" : "99b1d7454d78e7679deeb29150abd3db", "TransferJobConfig.xlsx" : "5b0daa2b0837e66196fbda214d72678a", "GMConfig.xlsx" : "c8e6ed377384ace1cf783e12b3ade4c8", "SuitConfig.xlsx" : "b67db1e911e14362e3409cb9f5f94216", "PetConfig.xlsx" : "4612dd8a5c3af3d3f21a4b7307eb169d", "PetLevelConfig.xlsx" : "a86c4cbde022ccd884ccf572ad5edfe7", "PetExploreConfig.xlsx" : "333043bd5c172def36660eca1dc8416a", "AIConfig.xlsx" : "871d248a954d8c59188e41d002135c75", "CopyConfig.xlsx" : "0c430ea6eb850380e71b9c6e336ac189", "CopyRewordConfig.xlsx" : "f4de20211685f21d15a8170061fdc7d2", "SpaceTravelConfig.xlsx" : "be6486259f73db40a93bdecef00a066e", "SceneTransConfig.xlsx" : "9e31820e1273e184987f970a20be4a45", "ArenaShop.xlsx" : "3fd4650500dd2bf83064a1fd46e4444d", "StarShop.xlsx" : "e14b5e252416a12318e775d86dd1b2f7", "StarSoulTypeConfig.xlsx" : "c16e5b01ce7261f11f3c1c4c8db1f1d9", "StarSoulAttributeConfig.xlsx" : "eae313d2f6cf4fdba87e53f51dc7d57f", "StarSoulEquipAttributeTypeConfig.xlsx" : "0aadceefcf88bc9d2b6d5c643cad79ce", "StarSoulLevelConfig.xlsx" : "c19aa663716ffb2690e8b93edf3460bd", "ActivePerDayConfig.xlsx" : "cf0b65ead205b7468f6e06136ae7a172", "StarSoulCopyConfig.xlsx" : "921a5d72a0a56ef33bbe03285dafe9d5", "StarSoulResolveConfig.xlsx" : "ad1ce53ff0e030c0163ec5bb14b8e483", "MultiShop.xlsx" : "3f12a91537c13ad1ba30fe9696bb495b" } }
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
eNqF2r2O3GQUh/E+Uu4Bbb2Fz9f7wR2ko6CLIgpIkQIJIRqEuHcGVhn/bZ0nbJUFPZ7d4589npN8fP/uox2HvX7318tPX355+f6/b15+/PO3z48/v758+OPzrx8e/9kPr/X68sPvX35+/I/19vX3p9e33DV3yDfmoXn0+TgwT80TcsO8NK8mNzsi7/0zH5oPyv2Z262f2k/o6+z91i/tF/Q7z9d/jPLt63mIrYfYdIj6xiHskEM8voFDjG8dQg2a0SHmtw6hDs3//1Q2h1CL9rTocgh/HCLOQ2isEi0pPs+Fa6wOrSg+z0JprAptUDwuP/ZZq0GbVM/Lz33WKtAW1evyg5+14rNN9W4H7srOD4jraAfuCs6NYmsH7krNnWLvB+6qzElZRT9wV2ZOzCr7gbs6c3JW1Q9cnTk5q9EPXJk5MavZD1yVOSmT96jrwFWZkzJ5i7oMPJRZEDN5h7oMPNRZkDN5g9KBhzoLcja8HXgosyBmI9qBhyoLUjayH3iosiBlo2DgyiyI2RgwcHUW5Gz2wkOdBTmbvfBQZkHMZi88VVmSsgnCU5UlKZsgPJVZErMFwlOdJTlbvfBUZ0nOVi88lVkSs9ULT1WWpGyB8FRlScoWCE9llsRsgfBUZ0nO1mwHXuqsyNla7cBLmRUxW7sdeKmyImX76AdeqqxI2bZ+4KXMipht7wde6qzI2e4fC0udFTnb/WNhKbMiZrt/LCxVVqRsw2NhqbIiZRseC4cyG8Rsw2PhUGcDnNXoBz7U2XCK+4EPZTaC4nPgobEqG0nxOfDUWJGNorh/9xiKbAyKz3EPjRXZmBSfV/XUWJENQFZTPr9rrMbGpvi8qLfEU4nNg2J4CJ9KbBKxKcTU2FRjk4xN/dyttSKbhEwfUVTZVGWTlMkziimzqcwmMZOHFFNnU51NcqZPKQptKrT5hBa6qzlWwQlTaHNBDDezqdDmhnj28VJo64AYnsyWOlsG8YZYmS3vY3rHXKpsBcQGsSJbCTFcW0uNrYI4IFZia0AMj2VLhS0QtkHYUmELhNHb5VJhC4RtELZV2O6F2YTzvFXYNojhPG8Vth1iOM9bhe2AGM7zVmE7IYbzvFXYLojhPG8VtnthPuhUqbDdC3P8sVXYJmFwJ9kqbJOw/k7y+PMZ//tNO7DjgNg0BmGHQewag7DDIQ6NQdgREKfGIOxIiEtjEHYUxEPjAfGAeGo8IZ4QL40XxAvirfGGGITpXwKYgTADYbr+N6N7GAxMF/9mdA+DgenK34zuYTAwXfmb0T2MBqbCDIQtGpgKMxC24JLUjb8Z3MMG/c4qzBbcAOHC0H2/GQhLGJju+817YU5Xle77zQ1iQKL7fnOHGAam637zgJh+ZxXmvTCnq0qX/eYFMSDRZb85vEsa3Ld12W8Owgzu27rsNwdhBvdt3fWbb4iBp676LUCYw3nWTb8FCHM4z7rptwBhAedZN/0WICzgPOum3wKEBZxnXfRbgLCA86x7fgsQFnCedc1vAcKCzrMKi07Y/a/NL7USi001vLYu+i0PquE2pot+S6Ma7mO66Lf0vk6n11ZmGVTTa6uzTKrh4tJVv2X19XI4Y7rrtxxU0++t1M5df15nbpdd/7NVaeem/9b6aFt1du75b+3189XXVtf8dq757212r6tbfju3/Hn5oCEP3fvx9WxV2LnkT7r9lrys8jo3/Lf0sjx9pmrrXO/f0tmmCuvc7d/S1aaq6tzs39LdpkqqZp/6ZWn6TFVULUitTRVUbUi9S3Wfb+OANNpUOQ2DNC8Lx2ernAZw8upb9TTAk17z2iqoAaB89q2KGr0ok39OY+e/5zLd49sAUvIx3b+2n96/+wfYqBAG
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cf4958df5fe7e4f44882909f1bc56b9f
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1 +1 @@
|
|||
eNrlnLFuHEcMhnsDfofg2lyxnBlyhupSpjPgUhAMB3GRxoWiVIHePSc4QO5zY1LK4G72ytOtOMsfS/IbDm/v37+7l23b5PjT34dPf/x+uPv26fDxr9/+/PL0y+Pj4e7+9M3T4e7w4fPjl69Pp7/+/O3Lw/Hw6dfTf9SX/3g+/vgqsefjw/PD8d81C9Ys6TVLaM0tdFUPXTUiV1mBlxVe1p162eBl26mXCi91kpdyYS8NXlray/r/eWkxWx65qmzwssPLvlMvB7wck7wsF/bS4aXv00vZzr08fcp62UJrhp7YEtMitKJUeAkSEdmpl2AfKbvxssFLsI/UnXoJ9pE8+2jozkJXlVD2Ka/xEuwjefaxJbwE+0ieffqVeqnwEuwjefYZS3gJ9pEs+0gL7TZKyEsN2dJQJtNYJGGvLSAk8Tla1G0FLQo4qmyTtJAltABtFZkUI7aEFmCyUiY9F2UJLUBupU56LvoSWoDvSpukxVhCC1Bg0Ula+BJagBWLTSLijjVBbqVP4lOuCY4qYxItck3wSvFJa47zNSu4oOb7Kw5rqKxV3mgNtamWN1pDdq/1jdaQH2t7ozVkmJrOMNWu9yThx1cNdIkqMky1m9YCma/2m9YCGbmOSVrIElqgUtT0zrb26z3HCWiB7lVDBWvbTWuB+ttkkhZlCS1AD63ctBZgn5be2dZxvedLAS3QIW0gt9ZuWgtwZ9PdaNFeoQW4s9lNawHubHnu9Os99wpogY5HA3e2cdNagDub70YLzWuh4E7dbloLcKem+z4eyooeyoqOnZKCAjXdQ/KQZh7SzKkZmEzT/SgP8amHqpKjG6UgJE0T0hYhVAlNT8uGKU0Fr2iaV0IzbxKawJENFVNBD5qmh43PBuqvpuvvhr6yooJpuoJt6BgraoCmawA7n4YsauksKpgWNOQhS+9/X3b5Z9aQOyy9gxQ8u4Z4t/QejLN0hhi1dIxyAsgQV5aOK86gGGLB0rHAX0wYYsHSsSCIBUMsWH4+JpS1ZIlzTUMkm0/SYolzzY481Lc5WpQlZoU6smiXSVosMSvUUQN6maRFbD6mXFgLVLBeJ2lRl9AC9be3SVq0JbQAPXSdpIUuoQXYp9skLWwJLUBuPU1urYS06EtoAe7sY5IWYwktwJ3dJ2kR4852WS0GuHNsc7QIzqhfWgtw55BJWsgSWoA7R5mkRVlCC3DnqJO0qEtoAe4c+dNr9H0GyG3kyS3UT230AIQ08oQU6s62CBWIot83wCsjzysaurPxijsDPYwxZQJamr/izlDLx5yZZQl1Ab67M0dl9XRlVXRvHbXJ07VJ0b11ZHdPZ3dFFDvyo6fzo6J768gwns4wimh3ZBhPZxhF99aROzydOxQnGY5493S8K04yHDHqacI3nGQ44srTjGznsXCycGbt5VPWWoE1gbV0LFiFtQJr6ViwBmsV1tKxYAprDdbSsYDaLXiTjqTfpCP4tYjgjTWSfmON/Pc7kIf37/4Bm8KXDA==
|
||||
eNrlnDFvozcMhvcD7j8UXutBlERKzNaxW4GOQXBocTd06ZCmU5H/3gTXwU+XI5MTbNmj4y+U+OIj+YiSdf/xw72UUuT4wz+HT398Ptx9/XT49e/f//ry9NPj4+Hu/uWbp8Pd4ZffHr/8+fTy1x+/fnk4Hj79/PIf7fU/no/ffkrs+fjw/HD8b8yKMWt6zBoas4SeGqGnZuQpq/Cywct2pV52eNmv1EuFl7rISzmzlwYvLe1l+35eWsyWR56qBV4OeDmu1MsJL+ciL+uZvXR46dfppZRTL18+Zb3soTFDb2yNaREaURq8BImIXKmXYB+pV+Nlh5dgH2lX6iXYR/Lso6GZhZ6qoexT3+Il2Efy7GNbeAn2kTz7jAv1UuEl2Efy7DO38BLsI1n2kR5abdSQlxqypaFMprFIwlpbQEjia7RoZQctKjiqlkVayBZagLaqLIoR20ILMFmti96LuoUWILfaFr0XYwstwHe1L9JibqEFKLDqIi18Cy3AitUWEfHAmCC3OhbxKccER9W5iBY5Jnil+qIx5+mYDVzQ8v0VhzVU1ibvtIba1Oo7rSG7t/ZOa8iPrb/TGjJMS2eYZpe7k/Dtpya6RA0ZptlNa4HM18ZNa4GM3OYiLWQLLVApWnpl28bl7uMEtED3qqOC9XLTWqD+dlmkRd1CC9BDrzetBdinp1e2bV7u/lJAC3RIO8it95vWAtzZ9Wq06G/QAtzZ7aa1AHf2PHf65e57BbRAx6ODO/u8aS3And2vRgvNa6HgTi03rQW4U9N9Hw9lRQ9lRcdKSUGBmu4heUgzD2nm1AxMpul+lIf41ENVydGNUhCSpgmpRAhVQqenpeCUpoJXNM0roTNvEjqBIwUVU0EPmqaHwncD9VfT9begr6yoYJquYAUdY0UN0HQNYOfTkEUtnUUFpwUNecjS69/XVf6JNeQOS68gBe+uId4tvQbjWTpDjFo6RnkCyBBXlo4rnkExxIKlY4G/mDDEgqVjQRALhliw/PmYUNaSLfY1DZFsvkiLLfY1B/LQKGu0qFucFRrIokMWabHFWaGBGjDqIi1i52PqmbVABRttkRZtCy1Qf0dfpEXfQgvQw9BFWugWWoB9hi3SwrbQAuQ20uTWa0iLsYUW4M4xF2kxt9AC3Dl8kRYx7uzn1WKCO2dZo0XwjPq5tQB3TlmkhWyhBbhz1kVa1C20AHfOtkiLtoUW4M6Z371G32eC3Gae3EL91E4PQEgzT0ih7myPUIEo+n0TvDLzvKKhmc03zAz0MOeSE9DS/Q0zQy2fa84sS6gL8L+ZOSqrpyuronvrqE2erk2K7q0ju3s6uyui2JEfPZ0fFd1bR4bxdIZRRLsjw3g6wyi6t47c4encodjJcMS7p+NdsZPhiFFPE75hJ8MRV55mZDuNhRcLJ9ZeP2WtVVgTWEvHgjVYq7CWjgXrsNZgLR0LprDWYS0dC6jdgpt0JH2TjuDXIoIbayR9Y43gdyCCm2EkfTOMWKh2jFAeH6EeyOA7OTH/ud38HfP33eaPe1pEynbzR04T2W7+yKJSd5r/w8cP/wK8UPJt
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
eNpVyTsKgDAMANC90DtI5g5N+tE6u3iGUlxcnBRX8e5+AoFsD161pqLrLli2FUZ0MJ37MX/06Pu7ufdJnvQP/EE+6C/8UT6qR8+f5JN+5M/yWT/936x5AKH2Mhk=
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7405366c9eacc7545ac920d9dd1dfa6e
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Binary file not shown.
|
@ -0,0 +1,7 @@
|
|||
namespace ET.EventType
|
||||
{
|
||||
public struct OpenMultiShopUI
|
||||
{
|
||||
public Scene zoneScene;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1425ff4e421a5d14ab4f64be19e85c59
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,38 @@
|
|||
using System.Collections.Generic;
|
||||
using ET;
|
||||
|
||||
namespace Cal.DataTable
|
||||
{
|
||||
public enum ShopType: byte
|
||||
{
|
||||
None = 0,
|
||||
Gem,
|
||||
Honor,
|
||||
Pvp,
|
||||
Family
|
||||
}
|
||||
|
||||
public partial class MultiShopCategory
|
||||
{
|
||||
private UnOrderMultiMap<byte, MultiShop> shopTypeDic = new UnOrderMultiMap<byte, MultiShop>();
|
||||
|
||||
public List<MultiShop> GetByType(ShopType type)
|
||||
{
|
||||
var list= this.shopTypeDic[(byte) type];
|
||||
if (list == null)
|
||||
{
|
||||
Log.Error($"list ==null where type = {type}");
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
public override void EndInit()
|
||||
{
|
||||
base.EndInit();
|
||||
foreach (var kv in this.dict)
|
||||
{
|
||||
shopTypeDic.Add(kv.Value.Type,kv.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6c2fd1310b77eeb4489e7db229ca755f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -7073,9 +7073,6 @@ namespace ET
|
|||
[ProtoMember(5)]
|
||||
public List<KV_int32_int32> suitKVs = new List<KV_int32_int32>();
|
||||
|
||||
[ProtoMember(3)]
|
||||
public long UnitId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.M2C_SyncStarSoulBagInfo)]
|
||||
|
@ -7289,4 +7286,38 @@ namespace ET
|
|||
|
||||
}
|
||||
|
||||
[ResponseType(typeof(M2C_ResolveStarSoul))]
|
||||
[Message(OuterOpcode.C2M_ResolveStarSoul)]
|
||||
[ProtoContract]
|
||||
public partial class C2M_ResolveStarSoul:IActorLocationRequest
|
||||
{
|
||||
[ProtoMember(90)]
|
||||
public int RpcId { get; set; }
|
||||
|
||||
[ProtoMember(93)]
|
||||
public long ActorId { get; set; }
|
||||
|
||||
[ProtoMember(1)]
|
||||
public List<long> ids = new List<long>();
|
||||
|
||||
}
|
||||
|
||||
[Message(OuterOpcode.M2C_ResolveStarSoul)]
|
||||
[ProtoContract]
|
||||
public partial class M2C_ResolveStarSoul:IActorLocationResponse
|
||||
{
|
||||
[ProtoMember(90)]
|
||||
public int RpcId { get; set; }
|
||||
|
||||
[ProtoMember(91)]
|
||||
public int Error { get; set; }
|
||||
|
||||
[ProtoMember(92)]
|
||||
public string Message { get; set; }
|
||||
|
||||
[ProtoMember(1)]
|
||||
public List<RewardItem> itenList = new List<RewardItem>();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -414,5 +414,7 @@ namespace ET
|
|||
public const ushort M2C_StartActive = 20410;
|
||||
public const ushort C2M_GetUIDByName = 20411;
|
||||
public const ushort M2C_GetUIDByName = 20412;
|
||||
public const ushort C2M_ResolveStarSoul = 20413;
|
||||
public const ushort M2C_ResolveStarSoul = 20414;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
using ET;
|
||||
using MongoDB.Bson.Serialization.Attributes;
|
||||
|
||||
namespace Cal.DataTable
|
||||
{
|
||||
[Config]
|
||||
public partial class MultiShopCategory : ACategory<MultiShop>
|
||||
{
|
||||
public static MultiShopCategory Instance;
|
||||
public MultiShopCategory()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
}
|
||||
|
||||
public partial class MultiShop:IConfig
|
||||
{
|
||||
[BsonId]
|
||||
public long Id { get; set; }
|
||||
public byte Type;
|
||||
public int ItemId;
|
||||
public long Price;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1ab1527e9bb67d248b7ef4a93a35c024
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,22 @@
|
|||
using ET;
|
||||
using MongoDB.Bson.Serialization.Attributes;
|
||||
|
||||
namespace Cal.DataTable
|
||||
{
|
||||
[Config]
|
||||
public partial class StarSoulResolveConfigCategory : ACategory<StarSoulResolveConfig>
|
||||
{
|
||||
public static StarSoulResolveConfigCategory Instance;
|
||||
public StarSoulResolveConfigCategory()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
}
|
||||
|
||||
public partial class StarSoulResolveConfig:IConfig
|
||||
{
|
||||
[BsonId]
|
||||
public long Id { get; set; }
|
||||
public int DropId;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 79e095f3871ea40419adbd4dfa1e8217
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -847,7 +847,18 @@ namespace ET
|
|||
pos += offset;
|
||||
ui.self.position = pos;
|
||||
}
|
||||
|
||||
public static string GetAdditionalPrice(MultiShop config)
|
||||
{
|
||||
return $"\n售价: {config.Price}" + (ShopType)config.Type switch
|
||||
{
|
||||
ShopType.None => "",
|
||||
ShopType.Gem => "星币",
|
||||
ShopType.Honor => "荣誉",
|
||||
ShopType.Pvp => "竞技币",
|
||||
ShopType.Family => "家族贡献",
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
};
|
||||
}
|
||||
public static string GetAdditionalPrice(IConfig itemBase, float discount = 1, MarketType marketType = MarketType.VoucherMarket)
|
||||
{
|
||||
sb.Length = 0;
|
||||
|
|
|
@ -30,11 +30,12 @@ namespace ET
|
|||
public FUI_FrameBag m_frame;
|
||||
public GList m_slotList;
|
||||
public GTextField m_txtCapity;
|
||||
public GGroup m_gorup;
|
||||
public GTextField m_txtSelection;
|
||||
public FUI_ButtonSingle m_btnType;
|
||||
public FUI_ButtonSingle m_btnPosType;
|
||||
public FUI_ButtonSingle m_btnTime;
|
||||
public FUI_ComboBox m_comBoxPos;
|
||||
public FUI_ButtonOnlyText m_btnReslove;
|
||||
public Transition m_Effect;
|
||||
public const string URL = "ui://71ktouo7f0oatmn";
|
||||
|
||||
|
@ -115,11 +116,12 @@ namespace ET
|
|||
m_frame = FUI_FrameBag.Create(domain,com.GetChildAt(0));
|
||||
m_slotList = (GList)com.GetChildAt(1);
|
||||
m_txtCapity = (GTextField)com.GetChildAt(2);
|
||||
m_gorup = (GGroup)com.GetChildAt(3);
|
||||
m_txtSelection = (GTextField)com.GetChildAt(3);
|
||||
m_btnType = FUI_ButtonSingle.Create(domain,com.GetChildAt(4));
|
||||
m_btnPosType = FUI_ButtonSingle.Create(domain,com.GetChildAt(6));
|
||||
m_btnTime = FUI_ButtonSingle.Create(domain,com.GetChildAt(14));
|
||||
m_comBoxPos = FUI_ComboBox.Create(domain,com.GetChildAt(16));
|
||||
m_btnReslove = FUI_ButtonOnlyText.Create(domain,com.GetChildAt(17));
|
||||
m_Effect = com.GetTransitionAt(0);
|
||||
}
|
||||
}
|
||||
|
@ -141,12 +143,13 @@ public override void Dispose()
|
|||
m_frame = null;
|
||||
m_slotList = null;
|
||||
m_txtCapity = null;
|
||||
m_gorup = null;
|
||||
m_txtSelection = null;
|
||||
m_btnType = null;
|
||||
m_btnPosType = null;
|
||||
m_btnTime = null;
|
||||
m_comBoxPos.Dispose();
|
||||
m_comBoxPos = null;
|
||||
m_btnReslove = null;
|
||||
m_Effect = null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
|
||||
|
||||
using ET;
|
||||
using FairyGUI;
|
||||
using FairyGUI.Utils;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
[ObjectSystem]
|
||||
public class FUI_MultiShopUI_AwakeSystem : AwakeSystem<FUI_MultiShopUI, GObject>
|
||||
{
|
||||
public override void Awake(FUI_MultiShopUI self, GObject go)
|
||||
{
|
||||
self.Awake(go);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class FUI_MultiShopUI : FUI
|
||||
{
|
||||
public const string UIPackageName = "Shop";
|
||||
public const string UIResName = "MultiShopUI";
|
||||
|
||||
/// <summary>
|
||||
/// {uiResName}的组件类型(GComponent、GButton、GProcessBar等),它们都是GObject的子类。
|
||||
/// </summary>
|
||||
public GComponent self;
|
||||
|
||||
public FUI_FrameShopUI m_frame;
|
||||
public GList m_pageList;
|
||||
public GList m_slotList;
|
||||
public const string URL = "ui://9r7gspayfc29g";
|
||||
|
||||
private static GObject CreateGObject()
|
||||
{
|
||||
return UIPackage.CreateObject(UIPackageName, UIResName);
|
||||
}
|
||||
|
||||
private static void CreateGObjectAsync(UIPackage.CreateObjectCallback result)
|
||||
{
|
||||
UIPackage.CreateObjectAsync(UIPackageName, UIResName, result);
|
||||
}
|
||||
|
||||
public static FUI_MultiShopUI CreateInstance(Entity domain)
|
||||
{
|
||||
return EntityFactory.Create<FUI_MultiShopUI, GObject>(domain, CreateGObject());
|
||||
}
|
||||
|
||||
public static ETTask<FUI_MultiShopUI> CreateInstanceAsync(Entity domain)
|
||||
{
|
||||
ETTaskCompletionSource<FUI_MultiShopUI> tcs = new ETTaskCompletionSource<FUI_MultiShopUI>();
|
||||
|
||||
CreateGObjectAsync((go) =>
|
||||
{
|
||||
tcs.SetResult(EntityFactory.Create<FUI_MultiShopUI, GObject>(domain, go));
|
||||
});
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
|
||||
public static FUI_MultiShopUI Create(Entity domain,GObject go)
|
||||
{
|
||||
return EntityFactory.Create<FUI_MultiShopUI, GObject>(domain,go);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 通过此方法获取的FUI,在Dispose时不会释放GObject,需要自行管理(一般在配合FGUI的Pool机制时使用)。
|
||||
/// </summary>
|
||||
public static FUI_MultiShopUI GetFormPool(Entity domain,GObject go)
|
||||
{
|
||||
var fui = go.Get<FUI_MultiShopUI>();
|
||||
|
||||
if(fui == null)
|
||||
{
|
||||
fui = Create(domain,go);
|
||||
}
|
||||
|
||||
fui.isFromFGUIPool = true;
|
||||
|
||||
return fui;
|
||||
}
|
||||
|
||||
public void Awake(GObject go)
|
||||
{
|
||||
if(go == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
GObject = go;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(Name))
|
||||
{
|
||||
Name = Id.ToString();
|
||||
}
|
||||
|
||||
self = (GComponent)go;
|
||||
|
||||
self.Add(this);
|
||||
|
||||
var com = go.asCom;
|
||||
|
||||
if(com != null)
|
||||
{
|
||||
|
||||
m_frame = FUI_FrameShopUI.Create(domain,com.GetChildAt(0));
|
||||
m_pageList = (GList)com.GetChildAt(1);
|
||||
m_slotList = (GList)com.GetChildAt(2);
|
||||
}
|
||||
}
|
||||
public override void Dispose()
|
||||
{
|
||||
if(IsDisposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
base.Dispose();
|
||||
|
||||
self.Remove();
|
||||
self = null;
|
||||
|
||||
m_frame.Dispose();
|
||||
m_frame = null;
|
||||
m_pageList = null;
|
||||
m_slotList = null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2ab8ba8de243c964aa6a2e50706c261a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -7,6 +7,7 @@ namespace ET
|
|||
public const string Shop = "Shop";
|
||||
public const string Shop_FrameShopUI = "ui://Shop/FrameShopUI";
|
||||
public const string Shop_MarketUI = "ui://Shop/MarketUI";
|
||||
public const string Shop_MultiShopUI = "ui://Shop/MultiShopUI";
|
||||
public const string Shop_ShopUI = "ui://Shop/ShopUI";
|
||||
}
|
||||
}
|
|
@ -65,9 +65,21 @@ namespace ET
|
|||
ChangeName();
|
||||
TrialReword();
|
||||
StarSoulUpgradeUI();
|
||||
AddMultiShopUI();
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
|
||||
private void AddMultiShopUI()
|
||||
{
|
||||
var btn = ui.m_taskList.AddItemFromPool().asButton;
|
||||
btn.title = "杂货店";
|
||||
btn.onClick.Set(() =>
|
||||
{
|
||||
Game.EventSystem.Publish(new OpenMultiShopUI() { zoneScene = this.zoneScene });
|
||||
this.ui.GetComponent<FUIWindowComponent>().Hide();
|
||||
});
|
||||
}
|
||||
|
||||
private void StarSoulUpgradeUI()
|
||||
{
|
||||
var btn = ui.m_taskList.AddItemFromPool().asButton;
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 95d1b0a7c4eb2ab4984f7481ed129c0d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,120 @@
|
|||
using Cal.DataTable;
|
||||
using FairyGUI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
public class MultiShopUIAwakeSyatem : AwakeSystem<MultiShopUI>
|
||||
{
|
||||
public override void Awake(MultiShopUI self)
|
||||
{
|
||||
self.Awake();
|
||||
}
|
||||
}
|
||||
public class MultiShopUIDestroySyatem : DestroySystem<MultiShopUI>
|
||||
{
|
||||
public override void Destroy(MultiShopUI self)
|
||||
{
|
||||
self.Destroy();
|
||||
}
|
||||
}
|
||||
public class MultiShopUI : Entity
|
||||
{
|
||||
public FUI_MultiShopUI ui;
|
||||
private Scene zoneScene;
|
||||
private ShopType shopType;
|
||||
public void Awake()
|
||||
{
|
||||
zoneScene = this.ZoneScene();
|
||||
ui = GetParent<FUI_MultiShopUI>();
|
||||
AwakeAsync().Coroutine();
|
||||
}
|
||||
private async ETVoid AwakeAsync()
|
||||
{
|
||||
RegisterEvent();
|
||||
shopType = ShopType.Gem;
|
||||
Refresh();
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
|
||||
private void RegisterEvent()
|
||||
{
|
||||
this.ui.m_pageList.onClickItem.Set(() =>
|
||||
{
|
||||
this.shopType = (ShopType) this.ui.m_pageList.selectedIndex+1;
|
||||
Refresh();
|
||||
});
|
||||
}
|
||||
|
||||
private void Refresh()
|
||||
{
|
||||
ui.m_slotList.RemoveChildrenToPool();
|
||||
List<MultiShop> listItemConfig = MultiShopCategory.Instance.GetByType(this.shopType);
|
||||
if (listItemConfig == null)
|
||||
{
|
||||
Log.Error("config == null");
|
||||
return;
|
||||
}
|
||||
for (var i = 0; i < listItemConfig.Count; i++)
|
||||
{
|
||||
var btn =this.ui.m_slotList.AddItemFromPool().asButton;
|
||||
int index = i;
|
||||
var config = listItemConfig[index];
|
||||
btn.icon = UIPackage.GetItemURL(FUIPackage.Bag,BagHelper.GetIconName(config.ItemId).Item2);
|
||||
TabHelper.SetTab(btn, () =>
|
||||
{
|
||||
TabHelper.OpenUI(config.ItemId, TabHelper.GetAdditionalPrice(config));
|
||||
});
|
||||
//!双击购买
|
||||
btn.onClick.Set1(async content =>
|
||||
{
|
||||
if (content.inputEvent.isDoubleClick)
|
||||
{
|
||||
#if UNITY_STANDALONE
|
||||
if (!content.inputEvent.ctrl)
|
||||
{
|
||||
await SendBuyProto(index,1);
|
||||
return;
|
||||
}
|
||||
|
||||
FUI_TipUI tipUI = TipHelper.OpenUI("请输入您想购买的数量:", tipType: TipType.DoubleInput);
|
||||
tipUI.m_btnYes.self.onClick.Clear();
|
||||
tipUI.m_btnYes.self.onClick.Set(TipYesCallBack);
|
||||
tipUI.AddEventCallBack(TipYesCallBack);
|
||||
async void TipYesCallBack()
|
||||
{
|
||||
if (int.TryParse(tipUI.m_IptTxt.text, out int count))
|
||||
{
|
||||
if (count <= 0)
|
||||
return;
|
||||
await SendBuyProto(index,count);
|
||||
}
|
||||
}
|
||||
#else
|
||||
await SendBuyProto(index, 1);
|
||||
#endif
|
||||
|
||||
async ETTask SendBuyProto(int index,int count)
|
||||
{
|
||||
// M2C_BuyInShop ret = await this.zoneScene.GetComponent<SessionComponent>().Call<M2C_BuyInShop>(new C2M_BuyInShop { PageIndex = this.ui.m_pageList.selectedIndex, SlotIndex = index, Count = count });
|
||||
// if (!ret.Message.IsNullOrEmpty())
|
||||
// {
|
||||
// TipHelper.OpenUI(ret.Message);
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// Game.EventSystem.Publish_Sync(new ET.EventType.UpdateBagUI { list = ret.BagMapList });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void Destroy()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 43a10bc94b578484f9aa81ce10978533
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,25 @@
|
|||
using ET;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
[UIEvent(FUIPackage.Shop_MultiShopUI)]
|
||||
public class MultiShopUIEvent : AUIEvent
|
||||
{
|
||||
public override async ETTask<FUI> OnCreate(FUIComponent fuiComponent)
|
||||
{
|
||||
if (!(FUIComponent.Instance.Get(FUIPackage.Shop_MultiShopUI) is FUI_MultiShopUI ui))
|
||||
{
|
||||
ui =await FUI_MultiShopUI.CreateInstanceAsync(fuiComponent);
|
||||
ui.Name = FUIPackage.Shop_MultiShopUI;
|
||||
}
|
||||
return ui;
|
||||
}
|
||||
|
||||
public override void OnRemove(FUIComponent fuiComponent)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: dc75ab7aea0d1dc439075fa739b2c508
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,18 @@
|
|||
using ET.EventType;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
public class OpenMultiShopUIEvent : AEvent<ET.EventType.OpenMultiShopUI>
|
||||
{
|
||||
public override async ETTask Run(ET.EventType.OpenMultiShopUI args)
|
||||
{
|
||||
MultiShopUI ui =await FUIHelper.Open<FUI_MultiShopUI,MultiShopUI>(args.zoneScene, FUIPackage.Shop_MultiShopUI, WindowPos.Center, (_ui)=>
|
||||
{
|
||||
//ui.m_Effect.Play();
|
||||
});
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3d82cdcdb0aec6145a9a71ac7a88e46f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -35,11 +35,11 @@ namespace ET
|
|||
private async ETVoid AwakeAsync()
|
||||
{
|
||||
ui.m_pageList.selectedIndex = 0;
|
||||
ShowItems(0);
|
||||
this.ShowItems(0);
|
||||
|
||||
ui.m_pageList.onClickItem.Set1(concent =>
|
||||
{
|
||||
ShowItems(ui.m_pageList.selectedIndex);
|
||||
this.ShowItems(ui.m_pageList.selectedIndex);
|
||||
|
||||
});
|
||||
//!拖拽进
|
||||
|
@ -49,78 +49,78 @@ namespace ET
|
|||
});
|
||||
|
||||
//!+展示Shop中的Item
|
||||
void ShowItems(int pageIndex)
|
||||
{
|
||||
ui.m_slotList.RemoveChildrenToPool();
|
||||
var list = ShopComponent.GetShopBase(this.ui.ZoneScene(),pageIndex);
|
||||
if (list == null) return;
|
||||
int index = 0;
|
||||
foreach (ShopBase shopBase in list)
|
||||
{
|
||||
int temp = index++;
|
||||
GButton btn = ui.m_slotList.AddItemFromPool().asButton;
|
||||
btn.icon = UIPackage.GetItemURL(FUIPackage.Bag, BagHelper.GetIconName(shopBase.ItemId).Item2);
|
||||
//!显示页签
|
||||
#if UNITY_STANDALONE
|
||||
btn.onRollOver.Set(() => TabHelper.OpenUI(shopBase.ItemId, TabHelper.GetAdditionalPrice(shopBase)));
|
||||
//!隐藏页签
|
||||
btn.onRollOut.Set(TabHelper.HideUI);
|
||||
#endif
|
||||
//!双击购买
|
||||
btn.onClick.Set1(async content =>
|
||||
{
|
||||
if (content.inputEvent.isDoubleClick)
|
||||
{
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
|
||||
private void ShowItems(int pageIndex)
|
||||
{
|
||||
this.ui.m_slotList.RemoveChildrenToPool();
|
||||
var list = ShopComponent.GetShopBase(this.ui.ZoneScene(), pageIndex);
|
||||
if (list == null)
|
||||
return;
|
||||
int index = 0;
|
||||
foreach (ShopBase shopBase in list)
|
||||
{
|
||||
int temp = index++;
|
||||
GButton btn = this.ui.m_slotList.AddItemFromPool().asButton;
|
||||
btn.icon = UIPackage.GetItemURL(FUIPackage.Bag, BagHelper.GetIconName(shopBase.ItemId).Item2);
|
||||
//!显示页签
|
||||
#if UNITY_STANDALONE
|
||||
if (!content.inputEvent.ctrl)
|
||||
btn.onRollOver.Set(() => TabHelper.OpenUI(shopBase.ItemId, TabHelper.GetAdditionalPrice(shopBase)));
|
||||
//!隐藏页签
|
||||
btn.onRollOut.Set(TabHelper.HideUI);
|
||||
#endif
|
||||
//!双击购买
|
||||
btn.onClick.Set1(async content =>
|
||||
{
|
||||
if (content.inputEvent.isDoubleClick)
|
||||
{
|
||||
#if UNITY_STANDALONE
|
||||
if (!content.inputEvent.ctrl)
|
||||
{
|
||||
await SendBuyProto(1);
|
||||
return;
|
||||
}
|
||||
|
||||
FUI_TipUI tipUI = TipHelper.OpenUI("请输入您想购买的数量:", tipType: TipType.DoubleInput);
|
||||
tipUI.m_btnYes.self.onClick.Clear();
|
||||
tipUI.m_btnYes.self.onClick.Set(TipYesCallBack);
|
||||
tipUI.AddEventCallBack(TipYesCallBack);
|
||||
async void TipYesCallBack()
|
||||
{
|
||||
if (int.TryParse(tipUI.m_IptTxt.text, out int count))
|
||||
{
|
||||
await SendBuyProto(1);
|
||||
return;
|
||||
}
|
||||
FUI_TipUI tipUI = TipHelper.OpenUI("请输入您想购买的数量:", tipType: TipType.DoubleInput);
|
||||
tipUI.m_btnYes.self.onClick.Clear();
|
||||
tipUI.m_btnYes.self.onClick.Set(TipYesCallBack);
|
||||
tipUI.AddEventCallBack(TipYesCallBack);
|
||||
async void TipYesCallBack()
|
||||
{
|
||||
if (int.TryParse(tipUI.m_IptTxt.text, out int count))
|
||||
{
|
||||
if (count <= 0) return;
|
||||
await SendBuyProto(count);
|
||||
}
|
||||
if (count <= 0)
|
||||
return;
|
||||
await SendBuyProto(count);
|
||||
}
|
||||
}
|
||||
#else
|
||||
await SendBuyProto(1);
|
||||
#endif
|
||||
|
||||
async ETTask SendBuyProto(int count)
|
||||
async ETTask SendBuyProto(int count)
|
||||
{
|
||||
M2C_BuyInShop ret = await this.zoneScene.GetComponent<SessionComponent>().Call<M2C_BuyInShop>(new C2M_BuyInShop { PageIndex = this.ui.m_pageList.selectedIndex, SlotIndex = temp, Count = count });
|
||||
if (!ret.Message.IsNullOrEmpty())
|
||||
{
|
||||
M2C_BuyInShop ret = await zoneScene.GetComponent<SessionComponent>().Call<M2C_BuyInShop>(new C2M_BuyInShop { PageIndex = ui.m_pageList.selectedIndex, SlotIndex = temp, Count = count });
|
||||
if (!ret.Message.IsNullOrEmpty())
|
||||
{
|
||||
TipHelper.OpenUI(ret.Message);
|
||||
return;
|
||||
}
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.UpdateBagUI
|
||||
{
|
||||
list=ret.BagMapList
|
||||
});
|
||||
TipHelper.OpenUI(ret.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
Game.EventSystem.Publish_Sync(new ET.EventType.UpdateBagUI { list = ret.BagMapList });
|
||||
}
|
||||
}
|
||||
#if !UNITY_STANDALONE
|
||||
else
|
||||
{
|
||||
TabHelper.OpenUI(shopBase.ItemId, TabHelper.GetAdditionalPrice(shopBase));
|
||||
}
|
||||
#endif
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
|
||||
public async ETVoid SellItem(EventContext context)
|
||||
{
|
||||
if (!(context.data is UIDragArgs args)) return;
|
||||
|
|
|
@ -42,6 +42,8 @@ namespace ET
|
|||
|
||||
private List<long> list = new List<long>();
|
||||
private LinkedList<StarSoulItem> tempList = new LinkedList<StarSoulItem>();
|
||||
private List<long> selection = new List<long>();
|
||||
|
||||
public static event Action<long> clickEvent;
|
||||
|
||||
public void Awake()
|
||||
|
@ -55,6 +57,7 @@ namespace ET
|
|||
// this.rollOverAction = this.OnRollOver;
|
||||
this.ui.m_slotList.itemRenderer = OnItemRender;
|
||||
RegistEvent();
|
||||
ReFreshSelection();
|
||||
}
|
||||
|
||||
AwakeAsync().Coroutine();
|
||||
|
@ -63,6 +66,7 @@ namespace ET
|
|||
private async ETVoid AwakeAsync()
|
||||
{
|
||||
bag ??= this.zoneScene.GetComponent<UnitComponent>().MyUnit.GetComponent<StarSoulBag>();
|
||||
clickEvent += OnClickStarSoul;
|
||||
ShowSlots();
|
||||
await ETTask.CompletedTask;
|
||||
}
|
||||
|
@ -163,6 +167,56 @@ namespace ET
|
|||
this.ui.m_sortType.onChanged.Set(SortTypeChanged);
|
||||
this.ui.m_quality.onChanged.Set(QualityTypeChanged);
|
||||
ui.m_comBoxPos.self.onChanged.Set(ChangeEquipPos);
|
||||
this.ui.m_btnReslove.self.onClick.Set(Resolve);
|
||||
}
|
||||
|
||||
private void OnClickStarSoul(long obj)
|
||||
{
|
||||
var item = this.bag.Get(obj);
|
||||
if(item.isLocked|| item.isUsed)
|
||||
return;
|
||||
if (this.selection.Contains(obj))
|
||||
this.selection.Remove(obj);
|
||||
else
|
||||
this.selection.Add(obj);
|
||||
this.ReFreshSelection();
|
||||
}
|
||||
|
||||
private void Resolve()
|
||||
{
|
||||
FUI_TipUI tip = TipHelper.OpenUI($"是否分解已经选择的 {selection.Count} 个星魂?", tipType: TipType.Double);
|
||||
tip.m_btnYes.self.onClick.Set(async () =>
|
||||
{
|
||||
var proto = new C2M_ResolveStarSoul();
|
||||
proto.ids.AddRange(this.selection);
|
||||
selection.Clear();
|
||||
this.ReFreshSelection();
|
||||
M2C_ResolveStarSoul ret = await zoneScene.GetComponent<SessionComponent>().Call<M2C_ResolveStarSoul>(proto);
|
||||
if (!ret.Message.IsNullOrEmpty())
|
||||
{
|
||||
TipHelper.OpenUI(ret.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
string str = null;
|
||||
foreach (RewardItem rewardItem in ret.itenList)
|
||||
{
|
||||
str += $"{BagHelper.GetIconName(rewardItem.Id).Item1} X {rewardItem.Count}\n";
|
||||
}
|
||||
|
||||
TipHelper.OpenUI(str);
|
||||
});
|
||||
}
|
||||
|
||||
private void ReFreshSelection()
|
||||
{
|
||||
if (this.selection.Count == 0)
|
||||
{
|
||||
this.ui.m_txtSelection.text = null;
|
||||
return;
|
||||
}
|
||||
|
||||
this.ui.m_txtSelection.text = $"已经选择 {this.selection.Count} 个星魂";
|
||||
}
|
||||
|
||||
private void ChangeEquipPos()
|
||||
|
@ -287,6 +341,8 @@ namespace ET
|
|||
public void Destroy()
|
||||
{
|
||||
list.Clear();
|
||||
this.selection.Clear();
|
||||
clickEvent -= OnClickStarSoul;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -125,7 +125,7 @@
|
|||
Title = 1038,
|
||||
Energy = 1039,
|
||||
/// <summary>
|
||||
/// 竞技币
|
||||
/// 竞技币,废弃
|
||||
/// </summary>
|
||||
PvpCurrency = 1040,
|
||||
/// <summary>
|
||||
|
|
Loading…
Reference in New Issue