Files
JJBB/Assets/Project/Script/GUI/Guide/GuideStepTeamCreate.cs
2024-08-23 15:49:34 +08:00

147 lines
3.4 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using GCGame.Table;
using Games.Item;
public class GuideStepTeamCreate : GuideStepBase
{
public string _BtnCreatePath;
public string _BtnAutoPath;
public int _CreateStr;
public int _AutoStr;
public int _AutoTeamCnt = 5;
public float _ActTime = 3;
private GameObject _BtnCreateGO;
private GameObject _BtnAutoGO;
#region base
public override void StartGuideStep()
{
base.StartGuideStep();
_GuideUIGO = null;
_GuideUIImagePath = new System.Collections.Generic.List<string>();
if (GuideType == GUIDE_OPT_TYPE.ForceOpt)
{
GuideLogic.Instance().SetForceBackActive(true);
}
else if (GuideType == GUIDE_OPT_TYPE.ClickClose)
{
GuideLogic.Instance().SetClickBack();
}
else
{
GuideLogic.Instance().SetForceBackActive(false);
}
_StartActTime = Time.time;
}
public override void FinishGuideStep()
{
base.FinishGuideStep();
}
public override void StopGuideStep()
{
if (GuideType != GUIDE_OPT_TYPE.ForceOpt)
{
GuideLogic.Instance().SetForceBackActive(false);
}
else if (GuideType == GUIDE_OPT_TYPE.ClickClose)
{
GuideLogic.Instance().SetClickBack();
}
else
{
GuideLogic.Instance()._Back.GetComponent<Image>().raycastTarget = false;
}
GuideLogic.Instance()._GuideInfo.gameObject.SetActive(false);
if (_CopyGuideGO != null)
{
_CopyGuideGO.SetActive(false);
GameObject.Destroy(_CopyGuideGO, 0.1f);
GuideLogic.Instance().HideEffect();
}
base.StopGuideStep();
}
#endregion
private GameObject _NewGuideGO;
private float _StartActTime = -1;
void Update()
{
if (TeamCreateWindow.Instance != null && TeamCreateWindow.Instance.isActiveAndEnabled)
{
if (_StartActTime < 0)
{
_StartActTime = Time.time;
}
if (Time.time - _StartActTime > _ActTime)
{
StopGuideStep();
return;
}
if (_BtnCreateGO == null)
{
_BtnCreateGO = GameObject.Find(_BtnCreatePath);
}
if (_BtnAutoGO == null)
{
_BtnAutoGO = GameObject.Find(_BtnAutoPath);
}
int teamCnt = 0;
if (TeamCreateWindow.Instance.TeamList != null)
{
for (int i = 0; i < TeamCreateWindow.Instance.TeamList.Count; ++i)
{
if (TeamCreateWindow.Instance.TeamList[i].MemberNum != 5)
{
++teamCnt;
}
}
}
if (teamCnt >= _AutoTeamCnt)
{
_NewGuideGO = _BtnAutoGO;
GuideTipStr = _AutoStr;
}
else
{
_NewGuideGO = _BtnCreateGO;
GuideTipStr = _CreateStr;
}
if (_NewGuideGO != _GuideUIGO)
{
_GuideUIGO = _NewGuideGO;
ShowGuide();
}
FitCopyPos();
}
else
{
StopGuideStep();
}
}
}