先修复一下,错误的场景 删除不必要的钓场资产 修复into场景 update:更新meta文件,修复报错 update:修复资源 修复第一章节建造 修复建造第三章 update:删除多余内容 update:更新README.md update:还原图标 update:更新README update:更新配置
116 lines
4.3 KiB
C#
116 lines
4.3 KiB
C#
using cfg;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using asap.core;
|
|
|
|
public class EventFishHuntingPhoto : MonoBehaviour
|
|
{
|
|
SpriteRenderer bg_photo;
|
|
Transform fishIconRT;
|
|
RawImage rawImage;
|
|
RenderTexture rt;
|
|
GameObject fishGo;
|
|
Camera rtCamera;
|
|
Transform avatarCapture;
|
|
Transform avatarEscape;
|
|
int fieldOfView = 60;
|
|
int fishPosZ = 20;
|
|
|
|
GameObject kuang_mutated;
|
|
GameObject kuang_nml;
|
|
GameObject kuang_mutated_failed;
|
|
GameObject kuang_nml_failed;
|
|
GameObject bg_mutated;
|
|
GameObject bg_nml;
|
|
|
|
TMP_Text text_num_level;
|
|
Image tag_fish_settlement;
|
|
TMP_Text text_fish_name_settlement;
|
|
|
|
public void Init()
|
|
{
|
|
kuang_mutated = transform.Find("kuang_mutated").gameObject;
|
|
kuang_nml = transform.Find("kuang_nml").gameObject;
|
|
kuang_mutated_failed = transform.Find("kuang_mutated_failed").gameObject;
|
|
kuang_nml_failed = transform.Find("kuang_nml_failed").gameObject;
|
|
bg_mutated = transform.Find("level/bg_mutated").gameObject;
|
|
bg_nml = transform.Find("level/bg_nml").gameObject;
|
|
bg_photo = transform.Find("mask_bg2/icon_fish/Camera/bg_photo").GetComponent<SpriteRenderer>();
|
|
fishIconRT = transform.Find("mask_bg2/icon_fish");
|
|
fishIconRT.transform.position = Vector3.back * 50;
|
|
avatarCapture = fishIconRT.Find("avatarCapture");
|
|
avatarEscape = fishIconRT.Find("avatarEscape");
|
|
rtCamera = fishIconRT.Find("Camera").GetComponent<Camera>();
|
|
rawImage = transform.Find("mask_bg2/RawImage").GetComponent<RawImage>();
|
|
text_num_level = transform.Find("level/text_level_num").GetComponent<TMP_Text>();
|
|
tag_fish_settlement = transform.Find("icon_rate").GetComponent<Image>();
|
|
text_fish_name_settlement = transform.Find("text_name").GetComponent<TMP_Text>();
|
|
}
|
|
|
|
public void ShowFish(FishMovement fishMovement, bool isRob)
|
|
{
|
|
text_num_level.text = fishMovement.cardLv;
|
|
RectTransform raw = rawImage.GetComponent<RectTransform>();
|
|
rt = new RenderTexture((int)raw.rect.width, (int)raw.rect.height, 24, RenderTextureFormat.ARGB32);
|
|
rtCamera.fieldOfView = fieldOfView;
|
|
rtCamera.enabled = true;
|
|
var TankPosition = fishMovement.fishData.TankPosition;
|
|
Vector3 pos = new Vector3(TankPosition[0], TankPosition[1], TankPosition[2] + fishPosZ);
|
|
Transform avatar = isRob ? avatarCapture : avatarEscape;
|
|
pos += avatar.localPosition;
|
|
avatar.localPosition = pos;
|
|
fishGo = Instantiate(fishMovement.fish.gameObject, avatar);
|
|
Fish fish = fishGo.GetComponent<Fish>();
|
|
fish.animator.transform.localPosition = Vector3.zero;
|
|
var TankRotation = fishMovement.fishData.TankRotation;
|
|
fish.transform.localRotation = Quaternion.Euler(TankRotation[0], TankRotation[1], TankRotation[2]);
|
|
fish.transform.localScale = Vector3.one * fishMovement.fishData.TankScale * fishMovement.mutantScale;
|
|
rtCamera.targetTexture = rt;
|
|
rawImage.texture = rt;
|
|
rtCamera.Render();
|
|
}
|
|
|
|
public void ShowSettlement(FishMovement fishMovement, Sprite tagSprite, string fishName, bool isRob)
|
|
{
|
|
tag_fish_settlement.sprite = tagSprite;
|
|
text_fish_name_settlement.text = fishName;
|
|
bool isMutated = fishMovement.index < fishMovement.slotData.mutants;
|
|
kuang_mutated.SetActive(isMutated && isRob);
|
|
kuang_nml.SetActive(!isMutated && isRob);
|
|
kuang_mutated_failed.SetActive(isMutated && !isRob);
|
|
kuang_nml_failed.SetActive(!isMutated && !isRob);
|
|
bg_mutated.SetActive(isMutated);
|
|
bg_nml.SetActive(!isMutated);
|
|
}
|
|
|
|
public void SetBackground(int mapId)
|
|
{
|
|
var mapData = GContext.container.Resolve<Tables>().TbMapData.DataMap[mapId];
|
|
string prefabName = mapData.AquariumPrefab;
|
|
Transform bg = transform.Find($"bg_{prefabName}");
|
|
if (bg != null)
|
|
{
|
|
bg_photo.sprite = bg.GetComponent<Image>().sprite;
|
|
}
|
|
}
|
|
|
|
public void Cleanup()
|
|
{
|
|
if (rt != null)
|
|
{
|
|
rt.Release();
|
|
Destroy(rt);
|
|
rt = null;
|
|
}
|
|
if (fishGo != null)
|
|
{
|
|
Destroy(fishGo);
|
|
}
|
|
if (rtCamera != null)
|
|
{
|
|
rtCamera.targetTexture = null;
|
|
}
|
|
}
|
|
}
|