|
@@ -18,6 +18,11 @@ namespace GFGGame
|
|
private List<GoWrapper> _wrappers = new List<GoWrapper>();
|
|
private List<GoWrapper> _wrappers = new List<GoWrapper>();
|
|
private List<GameObject> _gameObjects1 = new List<GameObject>();
|
|
private List<GameObject> _gameObjects1 = new List<GameObject>();
|
|
private List<GoWrapper> _wrappers1 = new List<GoWrapper>();
|
|
private List<GoWrapper> _wrappers1 = new List<GoWrapper>();
|
|
|
|
+ private Dictionary<int, List<GameObject>> dicGameobj = new Dictionary<int, List<GameObject>>();
|
|
|
|
+ private Dictionary<int, List<GoWrapper>> dicWrappers = new Dictionary<int, List<GoWrapper>>();
|
|
|
|
+ private Dictionary<int, List<GameObject>> dicGameobj1 = new Dictionary<int, List<GameObject>>();
|
|
|
|
+ private Dictionary<int, List<GoWrapper>> dicWrappers1 = new Dictionary<int, List<GoWrapper>>();
|
|
|
|
+
|
|
|
|
|
|
private GObject curComStar;//当前选中的星星
|
|
private GObject curComStar;//当前选中的星星
|
|
private Vector2 lastPos;//鼠标的上一个位置,每颗星星初始时默认为Vector2.right;
|
|
private Vector2 lastPos;//鼠标的上一个位置,每颗星星初始时默认为Vector2.right;
|
|
@@ -28,6 +33,7 @@ namespace GFGGame
|
|
private const int imgLineWidth = 10;//线的原始长度
|
|
private const int imgLineWidth = 10;//线的原始长度
|
|
|
|
|
|
private bool isGuide = false;
|
|
private bool isGuide = false;
|
|
|
|
+ private bool isFirst = true;
|
|
public override void Dispose()
|
|
public override void Dispose()
|
|
{
|
|
{
|
|
for (int i = 0; i < _gameObjects.Count; i++)
|
|
for (int i = 0; i < _gameObjects.Count; i++)
|
|
@@ -35,6 +41,7 @@ namespace GFGGame
|
|
SceneController.DestroyObjectFromView(_gameObjects[i]);
|
|
SceneController.DestroyObjectFromView(_gameObjects[i]);
|
|
SceneController.DestroyObjectFromView(_gameObjects1[i]);
|
|
SceneController.DestroyObjectFromView(_gameObjects1[i]);
|
|
}
|
|
}
|
|
|
|
+
|
|
base.Dispose();
|
|
base.Dispose();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -59,7 +66,7 @@ namespace GFGGame
|
|
_ui.m_ctrlBuyType.selectedIndex = _rewardList != null && _rewardList.Count > 1 ? 1 : 0;
|
|
_ui.m_ctrlBuyType.selectedIndex = _rewardList != null && _rewardList.Count > 1 ? 1 : 0;
|
|
|
|
|
|
_ui.m_ctrlRewardsType.selectedIndex = Array.IndexOf(LuckyBoxCfgArray.Instance.dataArray, LuckyBoxCfgArray.Instance.GetCfg((int)viewData)); ;
|
|
_ui.m_ctrlRewardsType.selectedIndex = Array.IndexOf(LuckyBoxCfgArray.Instance.dataArray, LuckyBoxCfgArray.Instance.GetCfg((int)viewData)); ;
|
|
-
|
|
|
|
|
|
+ isFirst = true;
|
|
ResetStartView();
|
|
ResetStartView();
|
|
|
|
|
|
}
|
|
}
|
|
@@ -80,21 +87,25 @@ namespace GFGGame
|
|
comStar.m_imgLine.width = imgLineWidth;
|
|
comStar.m_imgLine.width = imgLineWidth;
|
|
comStar.m_imgLine.rotation = 0;
|
|
comStar.m_imgLine.rotation = 0;
|
|
|
|
|
|
- if (_gameObjects.Count <= index)
|
|
|
|
|
|
+ if (isFirst && (!dicGameobj.ContainsKey(_ui.m_ctrlRewardsType.selectedIndex) || dicGameobj1[_ui.m_ctrlRewardsType.selectedIndex].Count <= index))
|
|
{
|
|
{
|
|
GameObject gameObject = _gameObjects.Count > index ? _gameObjects[index] : null;
|
|
GameObject gameObject = _gameObjects.Count > index ? _gameObjects[index] : null;
|
|
GoWrapper wrapper = _wrappers.Count > index ? _wrappers[index] : null;
|
|
GoWrapper wrapper = _wrappers.Count > index ? _wrappers[index] : null;
|
|
string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck");
|
|
string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck");
|
|
SceneController.AddObjectToView(gameObject, wrapper, comStar.m_holder, resPath, out gameObject, out wrapper);
|
|
SceneController.AddObjectToView(gameObject, wrapper, comStar.m_holder, resPath, out gameObject, out wrapper);
|
|
- _gameObjects.Add(gameObject);
|
|
|
|
- _wrappers.Add(wrapper);
|
|
|
|
|
|
+ if (!dicGameobj.ContainsKey(_ui.m_ctrlRewardsType.selectedIndex)) dicGameobj.Add(_ui.m_ctrlRewardsType.selectedIndex, new List<GameObject>());
|
|
|
|
+ if (!dicWrappers.ContainsKey(_ui.m_ctrlRewardsType.selectedIndex)) dicWrappers.Add(_ui.m_ctrlRewardsType.selectedIndex, new List<GoWrapper>());
|
|
|
|
+ dicGameobj[_ui.m_ctrlRewardsType.selectedIndex].Add(gameObject);
|
|
|
|
+ dicWrappers[_ui.m_ctrlRewardsType.selectedIndex].Add(wrapper);
|
|
|
|
|
|
GameObject gameObject1 = _gameObjects1.Count > index ? _gameObjects1[index] : null;
|
|
GameObject gameObject1 = _gameObjects1.Count > index ? _gameObjects1[index] : null;
|
|
GoWrapper wrapper1 = _wrappers1.Count > index ? _wrappers1[index] : null;
|
|
GoWrapper wrapper1 = _wrappers1.Count > index ? _wrappers1[index] : null;
|
|
string resPath1 = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_dj");
|
|
string resPath1 = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_dj");
|
|
SceneController.AddObjectToView(gameObject1, wrapper1, comStar.m_holder1, resPath1, out gameObject1, out wrapper1);
|
|
SceneController.AddObjectToView(gameObject1, wrapper1, comStar.m_holder1, resPath1, out gameObject1, out wrapper1);
|
|
- _gameObjects1.Add(gameObject);
|
|
|
|
- _wrappers1.Add(wrapper);
|
|
|
|
|
|
+ if (!dicGameobj1.ContainsKey(_ui.m_ctrlRewardsType.selectedIndex)) dicGameobj1.Add(_ui.m_ctrlRewardsType.selectedIndex, new List<GameObject>());
|
|
|
|
+ if (!dicWrappers1.ContainsKey(_ui.m_ctrlRewardsType.selectedIndex)) dicWrappers1.Add(_ui.m_ctrlRewardsType.selectedIndex, new List<GoWrapper>());
|
|
|
|
+ dicGameobj1[_ui.m_ctrlRewardsType.selectedIndex].Add(gameObject1);
|
|
|
|
+ dicWrappers1[_ui.m_ctrlRewardsType.selectedIndex].Add(wrapper1);
|
|
}
|
|
}
|
|
star.data = new Vector2(comStar.target.x, comStar.target.y);
|
|
star.data = new Vector2(comStar.target.x, comStar.target.y);
|
|
comStars.Add(star);
|
|
comStars.Add(star);
|
|
@@ -176,6 +187,7 @@ namespace GFGGame
|
|
{
|
|
{
|
|
if (isGuide && comStars.Count > 0)
|
|
if (isGuide && comStars.Count > 0)
|
|
{
|
|
{
|
|
|
|
+ isFirst = false;
|
|
ResetStartView();
|
|
ResetStartView();
|
|
}
|
|
}
|
|
else
|
|
else
|
|
@@ -219,10 +231,15 @@ namespace GFGGame
|
|
protected override void OnHide()
|
|
protected override void OnHide()
|
|
{
|
|
{
|
|
base.OnHide();
|
|
base.OnHide();
|
|
- _gameObjects.Clear();
|
|
|
|
- _wrappers.Clear();
|
|
|
|
- _gameObjects1.Clear();
|
|
|
|
- _wrappers1.Clear();
|
|
|
|
|
|
+ // _gameObjects.Clear();
|
|
|
|
+ // _wrappers.Clear();
|
|
|
|
+ // _gameObjects1.Clear();
|
|
|
|
+ // _wrappers1.Clear();
|
|
|
|
+ // for (int i = 0; i < _gameObjects.Count; i++)
|
|
|
|
+ // {
|
|
|
|
+ // SceneController.DestroyObjectFromView(_gameObjects[i]);
|
|
|
|
+ // SceneController.DestroyObjectFromView(_gameObjects1[i]);
|
|
|
|
+ // }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|