FM/Assets/Scripts/FUJIFILM/UI/Item/DoubleSideCushionItem.cs

132 lines
4.5 KiB
C#
Raw Normal View History

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using ZGame;
namespace HK.FUJIFILM
{
public class DoubleSideCushionItem : A11ozCeramicsMugItem
{
public Toggle toggle;
public Toggle toggle1;
public override void OnInit()
{
base.OnInit();
}
protected override void ProductA11ozCeramicsMugItemEvent(object sender, GameEventArgs e)
{
var args = e as ProductA11ozCeramicsMugItemEventArgs;
2025-08-27 01:05:19 +08:00
if (designItems.Count > 0 && currentDesignGo != null)
{
foreach (var imageDesignItem in designItems.Values)
{
imageDesignItem.DeleteAllPhoto();
}
if (toggle.isOn)
{
toggle.GetComponent<Image>().sprite = args.sprite;
var binding_1 = toggle.GetComponent<UIGameObjectBinding>();
var list_tog = binding_1.GetAllValue();
foreach (var go in list_tog)
{
if (go.name == "Image")
continue;
go.SetActive(false);
}
binding_1.GetValue<Transform>(args.sprite.name).gameObject.SetActive(true);
}
else
{
toggle1.GetComponent<Image>().sprite = args.sprite;
var binding_1 = toggle1.GetComponent<UIGameObjectBinding>();
var list_tog = binding_1.GetAllValue();
foreach (var go in list_tog)
{
if (go.name == "Image")
continue;
go.SetActive(false);
}
binding_1.GetValue<Transform>(args.sprite.name).gameObject.SetActive(true);
}
EventManager.Instance.FireNow(this,
2025-08-27 01:05:19 +08:00
new ProduceDesign_CopyDesignItemAssetEventArgs(currentDesignGo, productScriptableObject, args.sprite,
designItems));
return;
}
designItems.Clear();
for (var i = 0; i < imgTemplate.transform.childCount; i++)
{
GameObject.Destroy(imgTemplate.transform.GetChild(i).gameObject);
}
imgTemplate.sprite = args.sprite;
2025-08-27 01:05:19 +08:00
currentDesignGo = ResourcesManager.Instance.LoadGameObject(args.designItem.designItemAssetPath,
imgTemplate.transform);
2025-08-27 01:05:19 +08:00
if (currentDesignGo.TryGetComponent(typeof(Image), out var image))
{
var img = ((Image)image);
img.sprite = args.sprite;
img.enabled = productScriptableObject.isShowTemplate;
}
2025-08-27 01:05:19 +08:00
toggle = currentDesignGo.transform.GetChild(0).GetComponent<Toggle>();
var binding = currentDesignGo.transform.GetChild(0).GetComponent<UIGameObjectBinding>();
var allValue = binding.GetAllValue();
foreach (var go in allValue)
{
if (go.name == "Image")
continue;
go.SetActive(false);
}
binding.GetValue<Transform>(args.sprite.name).gameObject.SetActive(true);
2025-08-27 01:05:19 +08:00
toggle1 = currentDesignGo.transform.GetChild(1).GetComponent<Toggle>();
var binding1 = currentDesignGo.transform.GetChild(1).GetComponent<UIGameObjectBinding>();
var allValue1 = binding1.GetAllValue();
foreach (var go in allValue1)
{
if (go.name == "Image")
continue;
go.SetActive(false);
}
binding1.GetValue<Transform>(args.sprite.name).gameObject.SetActive(true);
2025-08-27 01:05:19 +08:00
var list = currentDesignGo.transform.FindChildDeeps<ImageDesignItem>();
foreach (var item in list)
{
item.SetData(GuidGenerator.GenerateStandardGuid());
designItems.Add(item.ID, item);
}
EventManager.Instance.FireNow(this,
2025-08-27 01:05:19 +08:00
new ProduceDesign_CopyDesignItemAssetEventArgs(currentDesignGo, productScriptableObject, args.sprite, designItems));
}
#region AutoGen_Method
#endregion
public override void OnDispose()
{
base.OnDispose();
GameObject.Destroy(modelObject);
#region AutoGen_Dispose
raw = null;
imgTemplate = null;
#endregion
}
}
}