103 lines
2.1 KiB
C#
103 lines
2.1 KiB
C#
using System.Collections;
|
|
using Cute;
|
|
using UnityEngine;
|
|
using Wizard;
|
|
|
|
public class MyPageCardPanel : MonoBehaviour
|
|
{
|
|
|
|
[SerializeField]
|
|
private GameObject _effect;
|
|
|
|
[SerializeField]
|
|
private bool enableMaintenanceCheck;
|
|
|
|
[SerializeField]
|
|
protected NetworkDefine.MAINTENANCE_TYPE maintenanceType;
|
|
|
|
[SerializeField]
|
|
private NetworkDefine.MAINTENANCE_TYPE[] _maintenanceTypeList;
|
|
|
|
private CardPanelMaintenancePlate _maintenancePlate;
|
|
|
|
private Vector3? _savedPosition;
|
|
|
|
public int Index { get; set; }
|
|
|
|
public bool EffectActive
|
|
{
|
|
set
|
|
{
|
|
if (_effect != null)
|
|
{
|
|
_effect.SetActive(value);
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual void CheckMaintenanceType()
|
|
{
|
|
if (!enableMaintenanceCheck)
|
|
{
|
|
return;
|
|
}
|
|
bool flag = false;
|
|
if (Data.MaintenanceCodeList.Contains(maintenanceType))
|
|
{
|
|
flag = true;
|
|
}
|
|
if (_maintenanceTypeList != null && _maintenanceTypeList.Length != 0)
|
|
{
|
|
bool flag2 = true;
|
|
NetworkDefine.MAINTENANCE_TYPE[] maintenanceTypeList = _maintenanceTypeList;
|
|
foreach (NetworkDefine.MAINTENANCE_TYPE item in maintenanceTypeList)
|
|
{
|
|
if (!Data.MaintenanceCodeList.Contains(item))
|
|
{
|
|
flag2 = false;
|
|
break;
|
|
}
|
|
}
|
|
if (flag2)
|
|
{
|
|
flag = true;
|
|
}
|
|
}
|
|
if (flag)
|
|
{
|
|
ShowMaintenance();
|
|
}
|
|
else
|
|
{
|
|
HideMaintenance();
|
|
}
|
|
}
|
|
|
|
private void ShowMaintenance()
|
|
{
|
|
if (_maintenancePlate == null)
|
|
{
|
|
GameObject prefab = null; // Pre-Phase-5b: no PrefabMgr headless
|
|
_maintenancePlate = NGUITools.AddChild(base.gameObject, prefab).GetComponent<CardPanelMaintenancePlate>();
|
|
}
|
|
_maintenancePlate.gameObject.SetActive(value: true);
|
|
UIManager.SetObjectToGrey(base.gameObject, b: true);
|
|
UIManager.SetObjectToGrey(_maintenancePlate.gameObject, b: false);
|
|
}
|
|
|
|
private void HideMaintenance()
|
|
{
|
|
if (_maintenancePlate != null)
|
|
{
|
|
_maintenancePlate.gameObject.SetActive(value: false);
|
|
}
|
|
UIManager.SetObjectToGrey(base.gameObject, b: false);
|
|
}
|
|
|
|
public Vector3 SavePosition()
|
|
{
|
|
_savedPosition = base.transform.localPosition;
|
|
return _savedPosition.Value;
|
|
}
|
|
}
|