123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- using System.Collections;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- using DragonBones;
- using UnityEngine;
- using UnityEngine.EventSystems;
- using Debug = UnityEngine.Debug;
- using Transform = UnityEngine.Transform;
- public class PlazaRoom : MonoBehaviour, IPointerClickHandler
- {
- private class StarCreater
- {
- public float StarSpawnTime = 0;
- public float StarSpawnTimer = 0;
- public float MinStarSpawnTime = 0.1f;
- public float MaxStarSpawnTime = 0.3f;
- public float LeftStarBorder = 0;
- public float RightStarBorder = 16;
- public float UpStarBorder = 4.6f;
- public float DownStarBorder = 0;
- public Vector3 MinStarScale = new Vector3(0.5f, 0.5f, 0.5f);
- public Vector3 MaxStarScale = new Vector3(1, 1, 1);
- public void Update()
- {
- StarSpawnTimer += Time.deltaTime;
- if (StarSpawnTimer >= StarSpawnTime)
- {
- StarSpawnTime = Random.Range(MinStarSpawnTime, MaxStarSpawnTime);
- StarSpawnTimer = 0;
- Transform star = ManaReso.Get("PlazaRoomStar", Folder.Scene, false, ManaReso.Get("PlazaRoom"), false, ObjType.PlazaRoomStar, typeof(PlazaRoomStar));
- star.GetComponent<PlazaRoomStar>().Show();
- star.localScale = Vector3.Lerp(MinStarScale, MaxStarScale, Random.Range(0f, 1f));
- star.SetX(Random.Range(LeftStarBorder, RightStarBorder));
- star.SetY(Random.Range(DownStarBorder, UpStarBorder));
- }
- }
- }
- #region Config
- public static bool Initialized;
- private static StarCreater StarCreaterA;
- private static StarCreater StarCreaterB;
- #endregion
- public static void Initialize()
- {
- if (Initialized)
- return;
- else
- Initialized = true;
- LoadScene();
- SetCloud();
- LoadChest();
- }
- private static void LoadScene()
- {
- StarCreaterA = new StarCreater();
- StarCreaterB = new StarCreater();
- Transform tra = ManaReso.Get("PlazaRoom", Folder.Scene, true, null, true);
- tra.AddComponent<PlazaRoom>();
- UnityFactory.factory.LoadDragonBonesData(ManaReso.Load<TextAsset>("PhonoGraph_ske", Folder.Config));
- UnityFactory.factory.LoadTextureAtlasData(ManaReso.Load<TextAsset>("PhonoGraph_tex", Folder.Config), "PhonoGraph_texture");
- UnityArmatureComponent uac = UnityFactory.factory.BuildArmatureComponent("PhonoGraph");
- uac.transform.parent = ManaReso.Get("PhonoGraph");
- uac.anim.Play("newAnimation");
- uac.transform.localPosition = new Vector3();
- }
- private static void SetCloud()
- {
- #region Cloud1
- Transform tra = ManaReso.Get("PlazaRoomCloud1");
- tra.GetComponent<SpriteRenderer>().sprite = ManaReso.LoadSprite("云朵", Folder.Scene);
- TweenRoot tween = tra.CreateTweenVec2D(new Vector3(-21, tra.localPosition.y, tra.localPosition.z), 115f, true, false, true, Curve.Linear);
- tween.Repeat = true;
- tween.StartForward();
- #endregion
- #region Cloud2
- tra = ManaReso.Get("PlazaRoomCloud2");
- tra.GetComponent<SpriteRenderer>().sprite = ManaReso.LoadSprite("云朵", Folder.Scene);
- tween = tra.CreateTweenVec2D(new Vector3(-21, tra.localPosition.y, tra.localPosition.z), 157.5f, true, false, true, Curve.Linear);
- tween.Repeat = true;
- tween.StartForward();
- #endregion
- #region Cloud3
- tra = ManaReso.Get("PlazaRoomCloud3");
- tra.GetComponent<SpriteRenderer>().sprite = ManaReso.LoadSprite("云朵", Folder.Scene);
- tween = tra.CreateTweenVec2D(new Vector3(-21, tra.localPosition.y, tra.localPosition.z), 200f, true, false, true, Curve.Linear);
- tween.Repeat = true;
- tween.StartForward();
- #endregion
- }
- private static void LoadChest()
- {
- if (PlazaRoomChest.CurrentChest != null)
- return;
- PlazaRoomChest chest = ManaReso.GetPlazaRoomChest(ManaReso.Get("PlazaRoomChestPos").position);
- PlazaRoomChest.CurrentChest = chest;
- float random = Random.Range(0f, 1f);
- if (random <= 0.3333f)
- chest.SetReward(ChestRewardType.Coin, "100");
- else if (random <= 0.6666f)
- chest.SetReward(ChestRewardType.Diamond, "100");
- else
- chest.SetReward(ChestRewardType.Flower, "1");
- }
- public void Update()
- {
- StarThread();
- DepthThread();
- }
- public void StarThread()
- {
- StarCreaterA.Update();
- StarCreaterB.Update();
- }
- public void DepthThread()
- {
- foreach (var v in GardenSmartFoxManager.GardenSmartFox.PlazaRoomManager.UserInstanceDictionary.Values)
- {
- if (v.Player.transform.hasChanged)
- {
- ResetDepth();
- break;
- }
- }
- }
- public void ResetDepth()
- {
- List<PlazaRoomManager.PlazaRoomPlayer> plazaRoomPlayers = GardenSmartFoxManager.GardenSmartFox.PlazaRoomManager.UserInstanceDictionary.Values.ToList();
- plazaRoomPlayers.MySort((player1, player2) => player1.Player.transform.position.z > player2.Player.transform.position.z);
- foreach (var plazaRoomPlayer in plazaRoomPlayers)
- {
- plazaRoomPlayer.Player.transform.hasChanged = false;
- plazaRoomPlayer.NickNameTransform.SetAsLastSibling();
- plazaRoomPlayer.MessageBox.SetAsLastSibling();
- }
- }
- public void OnPointerClick(PointerEventData eventData)
- {
- GardenSmartFoxManager.GardenSmartFox.PlazaRoomManager.MoveTo(eventData.pointerCurrentRaycast.worldPosition + new Vector3(0, 0, -3));
- }
- }
|