Commit c93aba5d authored by maxiaoliang's avatar maxiaoliang

修改地块问题

parent 73099e98
...@@ -460,6 +460,7 @@ RectTransform: ...@@ -460,6 +460,7 @@ RectTransform:
- {fileID: 1506600325306118953} - {fileID: 1506600325306118953}
- {fileID: 1459883661327182605} - {fileID: 1459883661327182605}
- {fileID: 2868837640815428336} - {fileID: 2868837640815428336}
- {fileID: 6191730411501052382}
m_Father: {fileID: 455528767808094873} m_Father: {fileID: 455528767808094873}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
...@@ -2135,7 +2136,7 @@ RectTransform: ...@@ -2135,7 +2136,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -28} m_AnchoredPosition: {x: 0, y: -33.6}
m_SizeDelta: {x: 160, y: 30} m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7155562531160002086 --- !u!222 &7155562531160002086
...@@ -2159,7 +2160,7 @@ MonoBehaviour: ...@@ -2159,7 +2160,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 0.79607844, g: 0.2, b: 0.26666668, a: 1} m_Color: {r: 0.7647059, g: 0.4117647, b: 0.4509804, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 1
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:
...@@ -2178,7 +2179,7 @@ MonoBehaviour: ...@@ -2178,7 +2179,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0 m_HorizontalOverflow: 0
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: m_Text: "\u79CD\u690D"
--- !u!1 &912378304521807189 --- !u!1 &912378304521807189
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -2198,7 +2199,7 @@ GameObject: ...@@ -2198,7 +2199,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &3510243741663195066 --- !u!224 &3510243741663195066
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -2399,7 +2400,7 @@ MonoBehaviour: ...@@ -2399,7 +2400,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0 m_HorizontalOverflow: 0
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: "\u89E3\u9501\u767D\u6866\u6811" m_Text: "\u89E3\u9501\u571F\u5730"
--- !u!1 &1067270876050392356 --- !u!1 &1067270876050392356
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -2912,7 +2913,7 @@ GameObject: ...@@ -2912,7 +2913,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &1459883661327182605 --- !u!224 &1459883661327182605
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -4449,7 +4450,7 @@ GameObject: ...@@ -4449,7 +4450,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &1506600325306118953 --- !u!224 &1506600325306118953
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -4856,6 +4857,80 @@ MonoBehaviour: ...@@ -4856,6 +4857,80 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!1 &8124632403806754517
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6191730411501052382}
- component: {fileID: 8737739538199789331}
- component: {fileID: 8974442747956572287}
m_Layer: 5
m_Name: Image (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6191730411501052382
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8124632403806754517}
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: 455528767792916619}
m_RootOrder: 3
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: 26.6}
m_SizeDelta: {x: 46, y: 78}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8737739538199789331
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8124632403806754517}
m_CullTransparentMesh: 0
--- !u!114 &8974442747956572287
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8124632403806754517}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 96d98546ab1d84bfc88dd775ae60a1c4, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &8759326791095452116 --- !u!1 &8759326791095452116
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
......
fileFormatVersion: 2
guid: 96d98546ab1d84bfc88dd775ae60a1c4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
...@@ -7777,9 +7777,9 @@ RectTransform: ...@@ -7777,9 +7777,9 @@ RectTransform:
m_Father: {fileID: 1548415916} m_Father: {fileID: 1548415916}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 355, y: 0} m_AnchoredPosition: {x: 355, y: -72.5}
m_SizeDelta: {x: 710, y: 0} m_SizeDelta: {x: 710, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &300181110 --- !u!114 &300181110
...@@ -55813,19 +55813,8 @@ MonoBehaviour: ...@@ -55813,19 +55813,8 @@ MonoBehaviour:
m_OnClick: m_OnClick:
m_PersistentCalls: m_PersistentCalls:
m_Calls: m_Calls:
- m_Target: {fileID: 646408899} - m_Target: {fileID: 105570272}
m_MethodName: OnClickOpenHarvestInPanel m_MethodName: clickOrderPlant
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 2012954743}
m_MethodName: PlayBtnAudio
m_Mode: 1 m_Mode: 1
m_Arguments: m_Arguments:
m_ObjectArgument: {fileID: 0} m_ObjectArgument: {fileID: 0}
...@@ -161,5 +161,7 @@ public enum MyEventType ...@@ -161,5 +161,7 @@ public enum MyEventType
WithDrewarlEveryDay, WithDrewarlEveryDay,
//飞红心 //飞红心
FlyRedHeart, FlyRedHeart,
//关闭种树赚钱弹窗
CloseMakeMoney,
} }
using System.Collections; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
...@@ -9,6 +10,22 @@ public class PlantMakeMoneyItem : MonoBehaviour ...@@ -9,6 +10,22 @@ public class PlantMakeMoneyItem : MonoBehaviour
public Image img_icon; public Image img_icon;
public Sprite[] labels;//菜的标签 public Sprite[] labels;//菜的标签
private WoodConfigList item; private WoodConfigList item;
private int plandId;
private void Awake()
{
EventCenter.AddListener<int>(MyEventType.CLICK_PLANT_LAND, getPlandId);
}
private void OnDestroy()
{
EventCenter.RemoveListener<int>(MyEventType.CLICK_PLANT_LAND, getPlandId);
}
private void getPlandId(int arg)
{
plandId = arg;
}
public void setItemData(WoodConfigList bean) public void setItemData(WoodConfigList bean)
{ {
item = bean; item = bean;
...@@ -19,5 +36,7 @@ public class PlantMakeMoneyItem : MonoBehaviour ...@@ -19,5 +36,7 @@ public class PlantMakeMoneyItem : MonoBehaviour
public void clickPlant() public void clickPlant()
{ {
Debug.Log("点击的Id" + item.id+item.name); Debug.Log("点击的Id" + item.id+item.name);
EventCenter.Broadcast(MyEventType.CloseMakeMoney);
EventCenter.Broadcast(MyEventType.PLANT_LAND_DATA, plandId+"="+item.id);
} }
} }
using System;
public class HavestBean
{
public LandListData landStatusDTO;
public int harvestPlantId;
public double harvestPlantPrice;
}
fileFormatVersion: 2
guid: 6fcaf520b7aff46da8bc9e87b35a4a45
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -7,7 +7,6 @@ public class LandListData ...@@ -7,7 +7,6 @@ public class LandListData
public string canNotLockMsg { get; set; }//不可解锁文案 public string canNotLockMsg { get; set; }//不可解锁文案
public LandPlantData landPlantData { get; set; } public LandPlantData landPlantData { get; set; }
public int? unlockVideoNum { get; set; }//解锁地块需要看的视频数 public int? unlockVideoNum { get; set; }//解锁地块需要看的视频数
public string plantName { get; set; }
public double? price { get; set; } public double? price { get; set; }
[Serializable] [Serializable]
public class LandPlantData public class LandPlantData
...@@ -18,6 +17,7 @@ public class LandListData ...@@ -18,6 +17,7 @@ public class LandListData
public bool isAppearedWorm { get; set; }//是否生虫 public bool isAppearedWorm { get; set; }//是否生虫
public int plantId { get; set; }//作物id public int plantId { get; set; }//作物id
public double plantPrice { get; set; }//价值 public double plantPrice { get; set; }//价值
public string plantName { get; set; }
//public int plantStatusLastFlushTS { get; set; }//种植刷新状态时间戳 //public int plantStatusLastFlushTS { get; set; }//种植刷新状态时间戳
} }
} }
using System;
using System.Collections.Generic;
public class OrderSeedData
{
public List<LandListData> landList;
public List<SeedDataList> seedDataList;
public class SeedDataList
{
public int landId;
public int woodId;
}
}
fileFormatVersion: 2
guid: 430591f357097460492c67490bda71db
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -113,18 +113,18 @@ public class CarPresenter : CarContract.Presenter ...@@ -113,18 +113,18 @@ public class CarPresenter : CarContract.Presenter
{ {
parm.Clear(); parm.Clear();
parm.Add("landId", landId); parm.Add("landId", landId);
HttpTool.Instance._Post("app/v1/wdlc/harvest_plant", parm, new Action<LandListData>((bean) => HttpTool.Instance._Post("app/v2/wdlc/harvest_plant", parm, new Action<HavestBean>((bean) =>
{ {
UnityEngine.Debug.Log("收取接口成功"); UnityEngine.Debug.Log("收取接口成功");
AudioUtils.ins.PlayRewardAudio(); AudioUtils.ins.PlayRewardAudio();
mView.showShouhuo(bean.landId); mView.showShouhuo(bean.landStatusDTO.landId);
mView.showFlyFruit(); mView.showFlyFruit();
Guide.guide.onClickStep3(); Guide.guide.onClickStep3();
//EventUtils.OnEvent("newUser_cashOut", "当日新用户完成引导提现"); //EventUtils.OnEvent("newUser_cashOut", "当日新用户完成引导提现");
EventCenter.Broadcast(MyEventType.FlyRedPack,landId); EventCenter.Broadcast(MyEventType.FlyRedPack,landId);
// EventCenter.Broadcast(MyEventType.FlyGuoshi, landId); // EventCenter.Broadcast(MyEventType.FlyGuoshi, landId);
mView.CarInfo(bean); mView.CarInfo(bean.landStatusDTO);
EventCenter.Broadcast(MyEventType.ShowCashTrips, bean.price.ToString()); EventCenter.Broadcast(MyEventType.ShowCashTrips, bean.harvestPlantPrice.ToString());
EventCenter.Broadcast(MyEventType.RefreshHomeInfo); EventCenter.Broadcast(MyEventType.RefreshHomeInfo);
EventCenter.Broadcast(MyEventType.RefreshFirstInfo); EventCenter.Broadcast(MyEventType.RefreshFirstInfo);
......
...@@ -60,12 +60,12 @@ public class CarTypeControl : MonoBehaviour ...@@ -60,12 +60,12 @@ public class CarTypeControl : MonoBehaviour
{ {
Debug.unityLogger.Log("2种植物" + arg.landPlantData.plantId); Debug.unityLogger.Log("2种植物" + arg.landPlantData.plantId);
//土地显示 //土地显示
PlantLandFruit.sprite = LandFruitSprites[arg.landPlantData.plantId];//0-8 PlantLandFruit.sprite = LandFruitSprites[arg.landPlantData.plantId-1];//0-8
RewardLandFruit.sprite = LandFruitSprites[arg.landPlantData.plantId]; RewardLandFruit.sprite = LandFruitSprites[arg.landPlantData.plantId-1];
//小的图片 //小的图片
FlyRewardFruit.sprite = FloatFruitSprites[arg.landPlantData.plantId]; FlyRewardFruit.sprite = FloatFruitSprites[arg.landPlantData.plantId-1];
FlyRewardFruit2.sprite = FloatFruitSprites[arg.landPlantData.plantId]; FlyRewardFruit2.sprite = FloatFruitSprites[arg.landPlantData.plantId-1];
FlyRewardFruit2.sprite = FloatFruitSprites[arg.landPlantData.plantId]; FlyRewardFruit2.sprite = FloatFruitSprites[arg.landPlantData.plantId-1];
} }
Debug.unityLogger.Log("3种植物"+m_LandPos); Debug.unityLogger.Log("3种植物"+m_LandPos);
//种植物的名字 //种植物的名字
......
...@@ -9,7 +9,7 @@ public class NonBreakingSpaceTextComponent : MonoBehaviour ...@@ -9,7 +9,7 @@ public class NonBreakingSpaceTextComponent : MonoBehaviour
// Use this for initialization // Use this for initialization
void Awake() void Awake()
{ {
text = this.GetComponent<Text>(); text = this.GetComponent<Text>();
text.RegisterDirtyVerticesCallback(OnTextChange); text.RegisterDirtyVerticesCallback(OnTextChange);
} }
public void OnTextChange() public void OnTextChange()
......
...@@ -185,18 +185,19 @@ public class CarUIControl : MonoBehaviour ...@@ -185,18 +185,19 @@ public class CarUIControl : MonoBehaviour
{ {
if (land != null) if (land != null)
{ {
Debug.Log("刷新当前地"+land.ToString());
mlandData = land; mlandData = land;
//mCarData = car; //mCarData = car;
if (land.plantName != null) if (land.landPlantData != null)
{ {
lockName.text = "解锁" + land.plantName; lockName.text = "解锁土地";
plantname.text = land.plantName; // plantname.text = land.plantName;
Ename.text = land.plantName; Ename.text = land.landPlantData.plantName;
plantvalue.text = "价值" + land.price + "元"; // plantvalue.text = "价值" + land.price + "元";
pickName.text = land.plantName; pickName.text = land.landPlantData.plantName;
speedName.text = land.plantName; speedName.text = land.landPlantData.plantName;
tv_get_price.text = "<size=48>" + land.price + "</size><size=26>元</size>"; tv_get_price.text = "<size=48>" + land.landPlantData.plantPrice + "</size><size=26>元</size>";
} }
tv_speed_diamond.text = PlayerDataControl.Instance.acceleratorConsumeDiamond.ToString(); tv_speed_diamond.text = PlayerDataControl.Instance.acceleratorConsumeDiamond.ToString();
......
...@@ -538,4 +538,19 @@ public class HomeInfoControl : MonoBehaviour, HomeContract.View ...@@ -538,4 +538,19 @@ public class HomeInfoControl : MonoBehaviour, HomeContract.View
JumpUtils.Instance.JumpWithdrawalEveryDay(); JumpUtils.Instance.JumpWithdrawalEveryDay();
} }
public void clickOrderPlant()
{
AudioUtils.ins.PlayBtnAudio();
HttpTool.Instance._Post("app/v2/wdlc/seed_by_wd", null, new Action<OrderSeedData>((bean) =>
{
LandListInfo(bean.landList);
// PlayerDataControl.Instance.VideoUnlockCarID = bean.lockNeedWatchVideoStartNum;
//Guide.guide.showGuide(bean.isNewUser);
//mView.LandListInfo(bean);
}), new Action<string, string>((code, errMsg) =>
{
Debug.unityLogger.Log("Get 请求失败" + code + errMsg);
}));
}
} }
...@@ -17,8 +17,14 @@ public class PlantMakeMoney : MonoBehaviour ...@@ -17,8 +17,14 @@ public class PlantMakeMoney : MonoBehaviour
{ {
// mPresenter = new ClockInPresenter(this); // mPresenter = new ClockInPresenter(this);
EventCenter.AddListener(MyEventType.UpdateTaskList, OnUpdateTaskList); //EventCenter.AddListener(MyEventType.UpdateTaskList, OnUpdateTaskList);
EventCenter.AddListener(MyEventType.CLOSE_CLOCKIN_PAGE, OnClickCloseHarvestInPanel); EventCenter.AddListener(MyEventType.CloseMakeMoney, OnClickCloseHarvestInPanel);
EventCenter.AddListener<int>(MyEventType.CLICK_PLANT_LAND, showPlantMakeMoney);
}
private void showPlantMakeMoney(int arg)
{
OnClickOpenHarvestInPanel();
} }
private void OnUpdateTaskList() private void OnUpdateTaskList()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment