【命格】提交

dev_chengFeng
ZhangBiao 2021-12-09 20:17:37 +08:00
parent d056b1479a
commit cb5cf43089
8 changed files with 703 additions and 35 deletions

View File

@ -3588,7 +3588,9 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Children:
- {fileID: 5741457612289073968}
- {fileID: 585289212302989468}
m_Father: {fileID: 3344082530312789238}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -4448,7 +4450,8 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Children:
- {fileID: 9075038829693158858}
m_Father: {fileID: 6289347214067819208}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -4864,6 +4867,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 536296986670459960}
m_CullTransparentMesh: 0
--- !u!1 &565528532375876696
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9075038829693158858}
- component: {fileID: 2946128903959973776}
- component: {fileID: 725826181592555788}
m_Layer: 0
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9075038829693158858
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 565528532375876696}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2595879565425800959}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: -25}
m_SizeDelta: {x: 100, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2946128903959973776
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 565528532375876696}
m_CullTransparentMesh: 0
--- !u!114 &725826181592555788
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 565528532375876696}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0.5372549, b: 0.03529412, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 12800000, guid: 4b73e9e4512d17e4daeea351e090d33c, type: 3}
m_FontSize: 35
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
--- !u!1 &575732635577064739
GameObject:
m_ObjectHideFlags: 0
@ -8123,7 +8205,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -462}
m_SizeDelta: {x: 0, y: 50}
m_SizeDelta: {x: 147, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &5745698616646934014
MonoBehaviour:
@ -11074,10 +11156,10 @@ RectTransform:
m_Father: {fileID: 4547053860565906940}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 450, y: -85}
m_SizeDelta: {x: 900, y: 70}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3066685201759749576
CanvasRenderer:
@ -11223,7 +11305,8 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Children:
- {fileID: 3859229207903695647}
m_Father: {fileID: 6289347214067819208}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -13429,6 +13512,85 @@ MonoBehaviour:
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &2342489881592321476
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3859229207903695647}
- component: {fileID: 5389486465179213322}
- component: {fileID: 7377666721095830163}
m_Layer: 0
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3859229207903695647
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2342489881592321476}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1047892358694363959}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: -25}
m_SizeDelta: {x: 100, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5389486465179213322
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2342489881592321476}
m_CullTransparentMesh: 0
--- !u!114 &7377666721095830163
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2342489881592321476}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0.5372549, b: 0.03529412, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 12800000, guid: 4b73e9e4512d17e4daeea351e090d33c, type: 3}
m_FontSize: 35
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
--- !u!1 &2378066754006584525
GameObject:
m_ObjectHideFlags: 0
@ -15058,10 +15220,10 @@ RectTransform:
m_Father: {fileID: 6092220555269877151}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 111, y: 0}
m_SizeDelta: {x: 0, y: 100}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 111, y: -25}
m_SizeDelta: {x: 72, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1133826988580354663
CanvasRenderer:
@ -16502,6 +16664,41 @@ MonoBehaviour:
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: "\u7ADE \u731C"
--- !u!1 &3203729803907809803
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5741457612289073968}
m_Layer: 5
m_Name: Obj
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5741457612289073968
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3203729803907809803}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1860497744388197096}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &3207527089118784504
GameObject:
m_ObjectHideFlags: 0
@ -25407,10 +25604,10 @@ RectTransform:
m_Father: {fileID: 6092220555269877151}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 75}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 37.5, y: -25}
m_SizeDelta: {x: 75, y: 75}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3004517634988264250
CanvasRenderer:
@ -27352,6 +27549,101 @@ MonoBehaviour:
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: "5\u884CUP"
--- !u!1 &6149582250282982291
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 585289212302989468}
- component: {fileID: 7974907780941473946}
- component: {fileID: 4973618614330966787}
- component: {fileID: 5283722209301134290}
m_Layer: 5
m_Name: num
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &585289212302989468
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6149582250282982291}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 100}
m_LocalScale: {x: 1, y: 1, z: 0}
m_Children: []
m_Father: {fileID: 1860497744388197096}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 45.1, y: -45.2}
m_SizeDelta: {x: 16.22, y: 33.59}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7974907780941473946
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6149582250282982291}
m_CullTransparentMesh: 0
--- !u!114 &4973618614330966787
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6149582250282982291}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0, b: 0, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 12800000, guid: 4b73e9e4512d17e4daeea351e090d33c, type: 3}
m_FontSize: 30
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 50
m_Alignment: 8
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: 1
--- !u!114 &5283722209301134290
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6149582250282982291}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -900027084, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_EffectColor: {r: 0, g: 0, b: 0, a: 1}
m_EffectDistance: {x: 1, y: -1}
m_UseGraphicAlpha: 1
--- !u!1 &6198061983621812792
GameObject:
m_ObjectHideFlags: 0
@ -31851,6 +32143,86 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2
--- !u!1 &7146919428843190147
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2120197575607952182}
- component: {fileID: 2833050251994012279}
- component: {fileID: 5935186138896061750}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2120197575607952182
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7146919428843190147}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4045446994767825262}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 200, y: 70}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2833050251994012279
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7146919428843190147}
m_CullTransparentMesh: 0
--- !u!114 &5935186138896061750
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7146919428843190147}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebfe0e44da74fbd44b1b744995de2324, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0.5372549, b: 0.03529412, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 12800000, guid: 4b73e9e4512d17e4daeea351e090d33c, type: 3}
m_FontSize: 45
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 4
m_MaxSize: 50
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u547D\u77F3\u6D88\u8017"
LanguageIndex: 0
--- !u!1 &7155416707831602318
GameObject:
m_ObjectHideFlags: 0
@ -36210,7 +36582,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &78969896755961002
RectTransform:
m_ObjectHideFlags: 0
@ -36656,7 +37028,8 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Children:
- {fileID: 2120197575607952182}
m_Father: {fileID: 1878460434339137842}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -27489,7 +27489,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.0000074596664, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &8251968032118431953
@ -41566,7 +41566,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &6014518053378278025
RectTransform:
m_ObjectHideFlags: 0

View File

@ -120,7 +120,16 @@ function BagPanel:BindEvent()
this:MoveTabs()
end)
Util.AddClick(this.oneKey, function()
UIManager.OpenPanel(UIName.GeneralPopup, GENERAL_POPUP_TYPE.GemOneKey)
local list,num = GemManager.OneKeyConpound()
LogGreen("金币:"..tostring(num))
for key, value in pairs(list) do
LogPink("key:"..tostring(key).." Value:"..tostring(value))
end
if num <= 0 then
PopupTipPanel.ShowTip("无可合成的命石或金币不足!")
return
end
UIManager.OpenPanel(UIName.GeneralPopup, GENERAL_POPUP_TYPE.GemOneKey,list,num)
end)
for i = 1, 5 do

View File

@ -76,7 +76,151 @@ function this.GetAllAttri()
return data
end
--========================一键合成============================
--获取表中所有命石(data[类型1-8][等级1-10]=表数据)组成map
function this.GetMapOfBagData()
local data = {}
local bagdata = BagManager.GetBagAllDataByItemType(ItemType.Gem)
for _, configInfo in ConfigPairs(gemConfig) do
if not data[configInfo.Type] then
data[configInfo.Type] = {}
end
if not data[configInfo.Type][configInfo.Level] then
data[configInfo.Type][configInfo.Level] = {}
end
-- LogPink("type:"..tostring(configInfo.Type).." Level:"..tostring(configInfo.Level))
data[configInfo.Type][configInfo.Level] = configInfo
end
return data
end
function this.OneKeyConpound()
--获取表中所有命石组成map
local totalMoney = 0
local finalList = {}
local configMap = this.GetMapOfBagData()
--1-8的外部循环
for i = 1, #configMap do
local bool,money = this.DoCircle1(finalList,configMap[i])
totalMoney = totalMoney + money
if not bool then
break
end
end
return finalList,totalMoney
end
--一键合成循环
function this.DoCircle1(finalList,data)
local totalMoney = 0
local lastGNum = 0--上一次合成出来的数量
for i = 1, #data do
local tempData = data[i]
--判断是否满级
if not tempData.NextGem or tempData.NextGem == 0 then
if lastGNum > 0 then
finalList[tempData.Id] = lastGNum
end
else
local bagGemNum = BagManager.GetTotalItemNum(tempData.Id)--当前背包中数量
local curGemNum = 0--当前可使用合成的该等级的Gem数量
if bagGemNum > 0 then
curGemNum = bagGemNum + lastGNum--当前一共拥有命石数量(包括已经合成的数量)
end
--命石不足
if curGemNum < tempData.UpgradeNum then
if lastGNum > 0 then
finalList[tempData.Id] = lastGNum
lastGNum = 0
end
else
local remainNum = curGemNum%tempData.UpgradeNum--如果合成到下一级,本级所剩余的数量
if remainNum ~= 0 then
curGemNum = curGemNum - remainNum--此处curGemNum变为实际花费的命石数量
end
if curGemNum > 0 then
local needMoneyNum = curGemNum/tempData.UpgradeNum * tempData.UpgradeCost[2]--按照命石可合成的数量,要花费的金币
local curMoneyNum = BagManager.GetTotalItemNum(tempData.UpgradeCost[1])--当前金币数量
if needMoneyNum + totalMoney > curMoneyNum then--如果当前金币不足要花费的数量,计算可以合成几个
local upNum = (curMoneyNum - totalMoney)/tempData.UpgradeCost[2]--实际真的合成了几个
totalMoney = totalMoney + upNum*tempData.UpgradeCost[2]--金币计入总数
local endCostNum = upNum*tempData.UpgradeNum--例如命石数量可消耗6实际合成2要把未使用的4加入最终list
if lastGNum > endCostNum then
finalList[tempData.Id] = lastGNum - endCostNum--要把未使用的加入最终list
end
finalList[tempData.NextGem] = upNum
return false,totalMoney
else--如果金币足额
totalMoney = totalMoney + needMoneyNum--金币计入总数
if bagGemNum > 0 then
if remainNum - bagGemNum > 0 then--如果扣除给下一次循环所需要的本次剩余如果大于0则全部加入最终list
finalList[tempData.NextGem] = remainNum - bagGemNum
end
end
end
lastGNum = curGemNum/tempData.UpgradeNum
end
end
end
end
return true,totalMoney
end
--=========================快速合成================================
function this.FastConpound(id)
local totalMoney = 0
local finalList = {}
local configMap = this.GetMapOfBagData()[gemConfig[id].Type]
local selectLv = gemConfig[id].Level
local lastGNum = 0--上一次合成出来的数量
for i = 1, #configMap do
local tempData = configMap[i]
if tempData.Level >= selectLv then
break
end
local bagGemNum = BagManager.GetTotalItemNum(tempData.Id)--当前背包中数量
local curGemNum = 0--当前可使用合成的该等级的Gem数量
if bagGemNum > 0 then
curGemNum = bagGemNum + lastGNum--当前一共拥有命石数量(包括已经合成的数量)
end
if curGemNum < tempData.UpgradeNum then--如果出现断层,需要清空数据继续遍历,
finalList = {}
totalMoney = 0
lastGNum = 0
else
local needNum = this.DoCircle2(tempData.Type,tempData.Level,selectLv)
local remainNum = curGemNum%tempData.UpgradeNum
if curGemNum > needNum then
remainNum = curGemNum - needNum
curGemNum = needNum
end
lastGNum = math.floor(curGemNum/tempData.UpgradeNum)
totalMoney = totalMoney + lastGNum*tempData.UpgradeCost[2]
if bagGemNum > 0 then
finalList[tempData.Id] = bagGemNum - remainNum
end
local haveGoldNum= BagManager.GetTotalItemNum(tempData.UpgradeCost[1])
if totalMoney>haveGoldNum then
return false
end
end
end
totalMoney = totalMoney + gemConfig[id].UpgradeCost[2]
return true,lastGNum==1,finalList,totalMoney
end
function this.DoCircle2(type,curLevel,targetLevel)
local needNum = 1
local configMap = this.GetMapOfBagData()[type]
for i = 1, #configMap do
if configMap[i].Level >= curLevel then
if configMap[i].Level == targetLevel then
break
end
needNum = needNum*configMap[i].UpgradeNum
end
end
return needNum
end
return this

View File

@ -21,13 +21,19 @@ function GemCompound:InitComponent(gameObject)
self.root = Util.GetGameObject(gameObject, "Cost/Scroll")
self.itemPre = Util.GetGameObject(self.root,"itemPre")
self.money = Util.GetGameObject(gameObject, "Money/Text"):GetComponent("Text")
self.btnFast = Util.GetGameObject(gameObject, "BtnFast")
self.gou = Util.GetGameObject(self.btnFast, "Go")
self.BtnDo = Util.GetGameObject(gameObject, "BtnDo")
self.proList={}
self.itemList={}
local rootHight = self.root.transform.rect.height
local width = self.root.transform.rect.width
self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.root.transform,
self.itemPre,nil, Vector2.New(width, rootHight), 1, 1,Vector2.New(0,10))
self.itemPre,nil, Vector2.New(width, rootHight), 1, 5,Vector2.New(0,20))
self.ScrollView.moveTween.MomentumAmount = 1
self.ScrollView.moveTween.Strength = 2
self.ScrollView.elastic = false
@ -35,6 +41,10 @@ function GemCompound:InitComponent(gameObject)
end
function GemCompound:BindEvent()
Util.AddOnceClick(self.btnFast,function ()
self.selectFast = not self.selectFast
self:SetCost(self.selectFast)
end)
end
function GemCompound:AddListener()
@ -47,21 +57,19 @@ function GemCompound:OnShow(_parent,_args)
args = _args
parent=_parent
sortingOrder =_parent.sortingOrder
self.selectFast = false
GemCompound:Refresh(args[1])
end
function GemCompound:Refresh(Id)
-- local dataList = GemManager.GetGemsFromBagByType(Id)
-- self.ScrollView:SetData(dataList, function(index, go)
-- self:SingleDataShow(go,dataList[index],index)
-- go:SetActive(true)
-- end)
--设置当前和目标命石
if not self.curGemObj then
self.curGemObj = SubUIManager.Open(SubUIConfig.ItemView,self.curGem.transform)
self.targetGemObj = SubUIManager.Open(SubUIConfig.ItemView,self.targetGem.transform)
end
self.curGemObj:OnOpen(false, {Id,0}, 1.1, true,false,false,sortingOrder + 1)
self.targetGemObj:OnOpen(false, {Id + 1,0}, 1.1, true,false,false,sortingOrder + 1)
self.curGemObj:OnOpen(false, {Id,0}, 1.1, false,false,false,sortingOrder + 1)
self.targetGemObj:OnOpen(false, {Id + 1,0}, 1.1, false,false,false,sortingOrder + 1)
Util.GetGameObject(self.curGem,"Name"):GetComponent("Text").text = gemConfig[Id].Name
Util.GetGameObject(self.targetGem,"Name"):GetComponent("Text").text = gemConfig[Id+1].Name
--设置属性
local data1,data2 = gemConfig[Id].Property,gemConfig[Id+1].Property
for i = 1, #data1 do
@ -79,15 +87,77 @@ function GemCompound:Refresh(Id)
upProText.text = string.format("%s",(data2[i][2]-data1[i][2])/100).."%"
end
--设置消耗
self:SetCost(1)
self:SetCost(self.selectFast)
end
function GemCompound:SetCost(type)
function GemCompound:SetCost(bool)
self.gou:SetActive(self.selectFast)
local bool1,bool2,money = nil
local list = {}
local list2 = {}
if not bool then--普通合成
bool1 = BagManager.GetTotalItemNum(14) > gemConfig[args[1]].UpgradeCost[2]
bool2 = BagManager.GetTotalItemNum(args[1]) > 0
list[args[1]] = 1
money = gemConfig[args[1]].UpgradeCost[2]
else--快速合成
bool1,bool2,list,money = GemManager.FastConpound(args[1])
end
if not bool2 then
list[args[1]] = 0
end
for key, value in pairs(list) do
-- LogGreen("id:"..tostring(key).." num:"..tostring(value))
local data = {}
data.id = key
data.num = value
table.insert(list2,data)
end
table.sort(list2,function (a,b)
return a.id < b.id
end)
local color = bool1 and "#FF8909" or "red"
self.money.text = string.format("<color=%s>%s</color>",color,money)
self.ScrollView:SetData(list2, function(index, go)
self:SingleDataShow(go,list2[index],index,bool2)
end)
Util.AddOnceClick(self.BtnDo,function ()
if not bool2 then
PopupTipPanel.ShowTip("合成材料不足!")
return
end
if not bool1 then
PopupTipPanel.ShowTip("金币不足!")
return
end
local type = self.selectFast and 4 or 3
NetManager.LifeStoneUpRequest(type,gemConfig[args[1]].Type,args[2],args[1],1,function ()
Game.GlobalEvent:DispatchEvent(GameEvent.Gem.RefreshPanel)
PopupTipPanel.ShowTip("命石升级成功!")
parent:ClosePanel()
if args[3] then
args[3]()
end
end)
end)
end
function GemCompound:SingleDataShow(go,data,index)
function GemCompound:SingleDataShow(go,data,index,bool)
-- LogPink("data:"..tostring(data.id))
local item = self.itemList[go]
local Obj = Util.GetGameObject(go,"Obj")
local num = Util.GetGameObject(go,"num")
num:SetActive(not bool)
if not item then
item = SubUIManager.Open(SubUIConfig.ItemView,Obj.transform)
self.itemList[go] = item
end
item:OnOpen(false, {data.id,data.num}, 1, false,false,false,sortingOrder + 1)
item.gameObject:SetActive(true)
end
function GemCompound:OnClose()

View File

@ -6243,6 +6243,7 @@ end
--命石合成
function this.LifeStoneUpRequest(_type,_gridId,_gridIndex,_curGemId,_selectNum,func)
local oldWarPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
local data = HeroInfoProto_pb.LifeStoneUpRequest()
LogPink("_type:"..tostring(_type))
data.type = _type
@ -6265,6 +6266,10 @@ function this.LifeStoneUpRequest(_type,_gridId,_gridIndex,_curGemId,_selectNum,f
msg:ParseFromString(data)
GemManager.UpdateSingleGem(msg)
HeroPropManager.SetFuncPropDirty(Func_Prop_Type.Gem)
--获取新战力
NetManager.RequestUserForceChange(FormationTypeDef.FORMATION_NORMAL)
local tempPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
UIManager.OpenPanel(UIName.WarPowerChangeNotifyPanelV2,{oldValue = oldWarPower,newValue = tempPower})
if func then
func(msg)
end

View File

@ -71,9 +71,17 @@ function RewardGemSingleShowPopup:BindEvent()
end)
Util.AddClick(this.btnJump, function()--合成
if this.openType == 2 then
UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.GemCompound,itemSid,function ()
UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.GemCompound,itemSid,this.position,function ()
self:ClosePanel()
end)
-- local bool,list,money = GemManager.FastConpound(itemSid)
-- LogGreen("bool:"..tostring(bool))
-- if bool then
-- LogGreen("money:"..tostring(money))
-- for key, value in pairs(list) do
-- LogGreen("key:"..tostring(key).." value:"..tostring(value))
-- end
-- end
end
end)
end

View File

@ -9,9 +9,24 @@ function this:InitComponent(gameObject)
self.spLoader = SpriteLoader.New()
self.btnSure = Util.GetGameObject(gameObject,"BtnSure")
self.btnCancel = Util.GetGameObject(gameObject,"BtnCancel")
self.money = Util.GetGameObject(gameObject,"Content/money"):GetComponent("Text")
self.grid1 = Util.GetGameObject(gameObject,"Grid1/scroll")
self.grid2 = Util.GetGameObject(gameObject,"Grid2")
self.itemList1 = {}
self.itemList2 = {}
end
function this:BindEvent()
Util.AddClick(self.btnCancel,function()
self.parent:ClosePanel()
end)
Util.AddClick(self.btnSure,function()
NetManager.LifeStoneUpRequest(2,nil,nil,nil,nil,function ()
Game.GlobalEvent:DispatchEvent(GameEvent.Gem.RefreshPanel)
PopupTipPanel.ShowTip("一键合成成功!")
self.parent:ClosePanel()
end)
end)
end
function this:AddListener()
@ -20,12 +35,54 @@ end
function this:RemoveListener()
end
function this:OnShow(_parent)
function this:OnShow(_parent,_args)
self.args = _args
self.parent = _parent
self:Refresh()
end
function this:Refresh()
self.money.text = self.args[2]
local list = {}
for key, value in pairs(self.args[1]) do
-- LogGreen("id:"..tostring(key).." num:"..tostring(value))
local data = {}
data.id = key
data.num = value
table.insert(list,data)
end
table.sort(list,function (a,b)
return a.id < b.id
end)
local grid = nil
local itemList = nil
if #list > 5 then
grid = self.grid1
itemList = self.itemList1
self.grid1:SetActive(true)
self.grid1:SetActive(false)
for key, value in pairs(self.itemList1) do
value:SetActive(false)
end
else
grid = self.grid2
itemList = self.itemList2
self.grid1:SetActive(false)
self.grid1:SetActive(true)
for key, value in pairs(self.itemList2) do
value:SetActive(false)
end
end
for i = 1, #list do
local go = self.itemList2[i]
if not go then
go = SubUIManager.Open(SubUIConfig.ItemView,grid.transform)
itemList[i] = go
end
go:SetActive(true)
self.itemList[i]:OnOpen(false, {list[i].id,list[i].num}, 1, false,false,false,self.parent.sortingOrder + 1)
self.itemList[i].gameObject:SetActive(true)
end
end
function this:OnClose()
@ -33,6 +90,8 @@ end
function this:OnDestroy()
this.spLoader:Destroy()
self.itemList1 = {}
self.itemList2 = {}
end
return this