private void Awake() { BallElement.Instance = this; EventDispatcher.AddListener <int>(SceneManagerEvent.LoadSceneEnd, new Callback <int>(this.LoadSceneEnd)); this.ballLight = base.get_transform().get_parent().FindChild("light"); for (int i = 0; i < base.get_transform().get_childCount(); i++) { Transform child = base.get_transform().GetChild(i); if (!child.get_name().Contains("FLAG")) { child.get_gameObject().AddComponent <BallElementItem>(); } } List <YBanKuaiSuoYin> dataList = DataReader <YBanKuaiSuoYin> .DataList; for (int j = 0; j < dataList.get_Count(); j++) { YBanKuaiSuoYin yBanKuaiSuoYin = dataList.get_Item(j); if (yBanKuaiSuoYin.pentagon == 1) { this.listPentagon.Add(yBanKuaiSuoYin); } } string name = string.Empty; if (EntityWorld.Instance.EntSelf.TypeID == 1) { name = DataReader <YWanFaSheZhi> .Get("boyModel").value; } else { name = DataReader <YWanFaSheZhi> .Get("girlModel").value; } GameObject gameObject = Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(FileSystem.GetPathOfPrefab(name), typeof(Object))) as GameObject; this.transformActor = gameObject.get_transform(); }
public void RefreshBallIcons() { if (!this.lastBlockChche.Equals(ElementInstanceManager.Instance.m_elementCopyLoginPush.lastBlock)) { if (this.lastBlockChche.get_Length() != 0) { Transform transform = base.get_transform().FindChild(this.lastBlockChche); BallElementItem component = transform.GetComponent <BallElementItem>(); component.isActor = false; } Transform transform2 = base.get_transform().FindChild(ElementInstanceManager.Instance.m_elementCopyLoginPush.lastBlock); BallElementItem component2 = transform2.GetComponent <BallElementItem>(); component2.isActor = true; this.transformActor.set_parent(transform2); this.transformActor.set_localRotation(Quaternion.Euler(90f, 0f, 0f)); this.transformActor.set_localScale(new Vector3(0.1f, 0.1f, 0.1f)); Transform transform3 = this.transformActor.FindChild("Actor").FindChild("root"); Transform transform4 = this.transformActor.FindChild("Actor").FindChild("front"); Vector3 vector = transform2.get_position() - transform3.get_position(); Vector3 vector2 = transform4.get_position() - transform3.get_position(); float num = Vector3.Dot(vector.get_normalized(), vector2.get_normalized()); float num2 = Mathf.Acos(num); num2 *= 57.2957764f; Vector3 vector3 = Vector3.Cross(vector, vector2); float num3 = Vector3.Distance(base.get_transform().get_position(), transform3.get_position() + vector3); float num4 = Vector3.Distance(base.get_transform().get_position(), transform3.get_position()); if (num3 > num4) { num2 = -num2; } Transform expr_1AD = this.transformActor.FindChild("Actor"); expr_1AD.set_localRotation(expr_1AD.get_localRotation() * Quaternion.Euler(0f, 0f, num2)); if (this.shouldChangePosImmediately) { this.shouldChangePosImmediately = false; ElementInstanceManager.Instance.m_isActorMoving = false; this.transformActor.set_position(transform2.get_position()); } else { ElementInstanceManager.Instance.m_isActorMoving = true; this.actorPosFrom = transform3.get_position(); this.actorPosTo = transform2.get_position(); } this.lastBlockChche = ElementInstanceManager.Instance.m_elementCopyLoginPush.lastBlock; } TimerHeap.DelTimer(this.timeCalNear); uint start = 0u; if (this.timeCalNear != 0u) { start = 200u; } this.timeCalNear = TimerHeap.AddTimer(start, 0, delegate { List <BlockInfo> activateBlocks = ElementInstanceManager.Instance.m_elementCopyLoginPush.activateBlocks; Material material = BallElement.GetAssetByName("MaterialBallItemPassBy", typeof(Material)) as Material; Material material2 = BallElement.GetAssetByName("MaterialBallItem", typeof(Material)) as Material; Material material3 = BallElement.GetAssetByName("MaterialBallItemPassByPentagon", typeof(Material)) as Material; Material material4 = BallElement.GetAssetByName("MaterialBallItem_Pentagon", typeof(Material)) as Material; Material material5 = BallElement.GetAssetByName("MaterialBallItemNearPentagon", typeof(Material)) as Material; Material material6 = BallElement.GetAssetByName("MaterialBallItemNear", typeof(Material)) as Material; Material material7 = BallElement.GetAssetByName("MaterialBallItemNearPassBy", typeof(Material)) as Material; Material material8 = BallElement.GetAssetByName("MaterialBallItemNearPentagonPassBy", typeof(Material)) as Material; Material material9 = BallElement.GetAssetByName("MaterialBallItemMineNear", typeof(Material)) as Material; Material material10 = BallElement.GetAssetByName("MaterialBallItemMine", typeof(Material)) as Material; for (int i = 0; i < this.ballLight.get_childCount(); i++) { if (this.ballLight.GetChild(i).get_gameObject().get_activeSelf()) { this.ballLight.GetChild(i).get_gameObject().SetActive(false); } } List <string> around = DataReader <YBanKuaiSuoYin> .Get(ElementInstanceManager.Instance.m_elementCopyLoginPush.lastBlock).around; for (int j = 0; j < activateBlocks.get_Count(); j++) { BlockInfo bi = activateBlocks.get_Item(j); Transform transform5 = base.get_transform().FindChild(bi.blockId); BallElementItem component3 = transform5.GetComponent <BallElementItem>(); Material mat; if (this.listPentagon.Find((YBanKuaiSuoYin a) => a.ballId.Equals(bi.blockId)) != null) { if ((around.Contains(bi.blockId) && bi.incidentType != RandomIncidentType.IncidentType.ROADBLOCK) || component3.isActor) { if (bi.isChallenge) { mat = material8; } else { mat = material5; } } else if (bi.isChallenge) { mat = material3; } else { mat = material4; } } else if ((around.Contains(bi.blockId) && bi.incidentType != RandomIncidentType.IncidentType.ROADBLOCK) || component3.isActor) { if (bi.isChallenge) { mat = material7; } else if (bi.incidentType == RandomIncidentType.IncidentType.MINE) { mat = material9; } else { mat = material6; } } else if (bi.isChallenge) { mat = material; } else if (bi.incidentType == RandomIncidentType.IncidentType.MINE) { mat = material10; } else { mat = material2; } Utils.SetShareMaterial(transform5.GetComponent <MeshRenderer>(), mat); if (component3.blockInfo != bi) { component3.blockInfo = bi; if (component3.gameObjectBlockInfo != null) { if (bi.incidentType == RandomIncidentType.IncidentType.PETPROPERTY || bi.incidentType == RandomIncidentType.IncidentType.PLAYERPROPERTY || bi.incidentType == RandomIncidentType.IncidentType.TOOL || bi.incidentType == RandomIncidentType.IncidentType.RECOVRYENERGY) { GameObject goInstantiate = Object.Instantiate <GameObject>(component3.gameObjectBlockInfo); ResourceManager.SetInstantiateUIRef(goInstantiate, null); goInstantiate.get_transform().set_parent(component3.gameObjectBlockInfo.get_transform().get_parent()); goInstantiate.get_transform().set_position(component3.gameObjectBlockInfo.get_transform().get_position()); goInstantiate.get_transform().set_localScale(component3.gameObjectBlockInfo.get_transform().get_localScale()); goInstantiate.get_transform().set_localRotation(component3.gameObjectBlockInfo.get_transform().get_localRotation()); TimerHeap.AddTimer(50u, 0, delegate { Object.Destroy(goInstantiate); }); } Object.Destroy(component3.gameObjectBlockInfo); } GameObject gameObject = null; string name = string.Empty; string text = string.Empty; if (bi.incidentType == RandomIncidentType.IncidentType.MINE) { name = DataReader <YKuangJingKu> .Get(bi.incidentTypeId).Model; gameObject = (Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(FileSystem.GetPathOfPrefab(name), typeof(Object))) as GameObject); text = DataReader <YKuangJingKu> .Get(bi.incidentTypeId).holdName; ElementInstanceUI.Instance.SetInfoUnit(component3, text); } else if (bi.incidentType == RandomIncidentType.IncidentType.MONSTER) { name = DataReader <YGuaiWuKu> .Get(bi.incidentTypeId).Model; if (bi.isChallenge) { gameObject = new GameObject("ElementEMPTY"); } else { text = DataReader <YGuaiWuKu> .Get(bi.incidentTypeId).Name; gameObject = (Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(FileSystem.GetPathOfPrefab(name), typeof(Object))) as GameObject); } ElementInstanceUI.Instance.SetInfoUnit(component3, text); } else if (bi.incidentType == RandomIncidentType.IncidentType.PETPROPERTY) { name = DataReader <YChongWuJiaChengKu> .Get(bi.incidentTypeId).Model; if (bi.isChallenge) { gameObject = new GameObject("ElementEMPTY"); } else { gameObject = (Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(FileSystem.GetPathOfPrefab(name), typeof(Object))) as GameObject); text = DataReader <YChongWuJiaChengKu> .Get(bi.incidentTypeId).eventName; } ElementInstanceUI.Instance.SetInfoUnit(component3, text); } else if (bi.incidentType == RandomIncidentType.IncidentType.PLAYERPROPERTY) { name = DataReader <YJiaoSeJiaChengKu> .Get(bi.incidentTypeId).Model; if (bi.isChallenge) { gameObject = new GameObject("ElementEMPTY"); } else { gameObject = (Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(FileSystem.GetPathOfPrefab(name), typeof(Object))) as GameObject); text = DataReader <YJiaoSeJiaChengKu> .Get(bi.incidentTypeId).eventName; } ElementInstanceUI.Instance.SetInfoUnit(component3, text); } else if (bi.incidentType == RandomIncidentType.IncidentType.ROADBLOCK) { name = DataReader <YWanFaSheZhi> .Get("roadBlockModel").value; gameObject = (Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(FileSystem.GetPathOfPrefab(name), typeof(Object))) as GameObject); ElementInstanceUI.Instance.SetInfoUnit(component3, GameDataUtils.GetChineseContent(502317, false)); } else if (bi.incidentType == RandomIncidentType.IncidentType.TOOL || bi.incidentType == RandomIncidentType.IncidentType.RECOVRYENERGY) { name = DataReader <YDaoJuKu> .Get(bi.incidentTypeId).Model; if (bi.isChallenge) { gameObject = new GameObject("ElementEMPTY"); } else { gameObject = (Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(FileSystem.GetPathOfPrefab(name), typeof(Object))) as GameObject); text = DataReader <YDaoJuKu> .Get(bi.incidentTypeId).holdName; } ElementInstanceUI.Instance.SetInfoUnit(component3, text); } else if (bi.incidentType == RandomIncidentType.IncidentType.EMPTY) { gameObject = new GameObject("ElementEMPTY"); ElementInstanceUI.Instance.SetInfoUnit(component3, string.Empty); } gameObject.get_transform().set_parent(transform5); gameObject.get_transform().set_localPosition(new Vector3(0f, 0f, 0f)); gameObject.get_transform().set_localRotation(Quaternion.Euler(90f, 0f, 0f)); component3.gameObjectBlockInfo = gameObject; } } for (int k = 0; k < ElementInstanceManager.Instance.m_elementCopyLoginPush.mineBlockId.get_Count(); k++) { string text2 = ElementInstanceManager.Instance.m_elementCopyLoginPush.mineBlockId.get_Item(k); Transform transform6 = base.get_transform().FindChild(text2); BallElementItem component4 = transform6.GetComponent <BallElementItem>(); if (!(component4.gameObjectBlockInfo != null)) { string value = DataReader <YWanFaSheZhi> .Get("lockMineModel").value; GameObject gameObject2 = Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(FileSystem.GetPathOfPrefab(value), typeof(Object))) as GameObject; ElementInstanceUI.Instance.SetInfoUnit(component4, GameDataUtils.GetChineseContent(502316, false)); gameObject2.get_transform().set_parent(transform6); gameObject2.get_transform().set_localPosition(new Vector3(0f, 0f, 0f)); gameObject2.get_transform().set_localRotation(Quaternion.Euler(90f, 0f, 0f)); component4.gameObjectBlockInfo = gameObject2; } } for (int l = 0; l < this.listPentagon.get_Count(); l++) { YBanKuaiSuoYin yBanKuaiSuoYin = this.listPentagon.get_Item(l); if (base.get_transform().FindChild(yBanKuaiSuoYin.ballId).GetComponent <BallElementItem>().blockInfo == null) { Utils.SetShareMaterial(base.get_transform().FindChild(yBanKuaiSuoYin.ballId).GetComponent <MeshRenderer>(), material4); } } this.RefreshMineFX(); }); }