Example #1
0
    private void DisplayBuilding(BuildingDisplayAttribute attr, Transform targetBuildingModal, Transform imageTarget)
    {
        if (!targetBuildingModal.gameObject.activeInHierarchy)
        {
            targetBuildingModal.gameObject.SetActive(true);
            targetBuildingModal.SetParent(imageTarget);
            targetBuildingModal.localPosition = attr.InitLocalPosition;
            targetBuildingModal.localRotation = attr.InitLocalRotation;
            targetBuildingModal.localScale    = attr.InitLocalScale;
            var rendererComponents = targetBuildingModal.GetComponentsInChildren <Renderer>(true);
            var colliderComponents = targetBuildingModal.GetComponentsInChildren <Collider>(true);
            var canvasComponents   = targetBuildingModal.GetComponentsInChildren <Canvas>(true);

            // Enable rendering:
            foreach (var component in rendererComponents)
            {
                component.enabled = true;
            }

            // Enable colliders:
            foreach (var component in colliderComponents)
            {
                component.enabled = true;
            }

            // Enable canvas':
            foreach (var component in canvasComponents)
            {
                component.enabled = true;
            }
        }
    }
Example #2
0
    private int targetIndex = -1;                       //当前正在显示的建筑槽下标

    public void OnTrackableFound(Transform trans, int index)
    {
        trans_imageTarget = trans;
        targetIndex       = index;
        BuildingList.Instance.LoadBuildingAsync(index, new System.Action(delegate {
            targetBuilding = BuildingList.Instance.GetCurrentBuildingBuilding();
            BuildingDisplayAttribute attr = targetBuilding.GetDisplayAttr();    // 获取建筑显示参数
            trans_targetBuilding          = targetBuilding.GetBuildingObject(); // 获取建筑模型
            DisplayBuilding(attr, trans_targetBuilding, trans_imageTarget);     // 显示建筑模型
            UICenter.Instance.MapToggleButtonAppear();                          // 显示小地图[显示/隐藏]按钮
            UICenter.Instance.NaviButtonAppear();                               // 显示导航按钮
            UICenter.Instance.MusicPanelAppear();                               // 显示播放器按钮
            MusicPlayer.Insatance.SetAudioClip(targetBuilding.mIntroduceClip);  // 设置音乐
        }));
        //BuildingList.Instance.LoadBuilding (index);


//		BuildingDisplayAttribute attr = targetBuilding.GetDisplayAttr ();		// 获取建筑显示参数
//		trans_targetBuilding = targetBuilding.GetBuildingObject ();				// 获取建筑模型
//		DisplayBuilding(attr,trans_targetBuilding,trans_imageTarget);			// 显示建筑模型
//		UICenter.Instance.MapToggleButtonAppear ();	// 显示小地图[显示/隐藏]按钮
//		UICenter.Instance.NaviButtonAppear();		// 显示导航按钮
//		UICenter.Instance.MusicPanelAppear();		// 显示播放器按钮
//		MusicPlayer.Insatance.SetAudioClip(targetBuilding.mIntroduceClip);	// 设置音乐
    }
Example #3
0
    public void OnChangeDisplayBuilding(int index)
    {
        if (trans_imageTarget != null && targetBuilding != null)
        {
            trans_targetBuilding.SetParent(targetBuilding.transform);
            trans_targetBuilding.gameObject.SetActive(false);
            BuildingList.Instance.ReleaseObject();

            BuildingList.Instance.LoadBuildingAsync(index, new System.Action(delegate {
                MusicPlayer.Insatance.ClearAudioClip();
                Building newBuilding = BuildingList.Instance.GetCurrentBuildingBuilding();
                if (newBuilding)
                {
                    Transform newBuildingModal       = newBuilding.GetBuildingObject();
                    BuildingDisplayAttribute newAttr = newBuilding.GetDisplayAttr();
                    targetBuilding       = newBuilding;
                    trans_targetBuilding = newBuildingModal;
                    DisplayBuilding(newAttr, trans_targetBuilding, trans_imageTarget);
                    MusicPlayer.Insatance.SetAudioClip(targetBuilding.mIntroduceClip);
                    UICenter.Instance.ResetMusicButtonState();
                }
                else
                {
                    Debug.LogError("Here is building on index :" + index);
                }
            }));
            //BuildingList.Instance.LoadBuilding (index);
//			MusicPlayer.Insatance.ClearAudioClip ();
//			Building newBuilding = BuildingList.Instance.GetCurrentBuildingBuilding ();
//			if (newBuilding) {
//				Transform newBuildingModal = newBuilding.GetBuildingObject ();
//				BuildingDisplayAttribute newAttr = newBuilding.GetDisplayAttr ();
//				targetBuilding = newBuilding;
//				trans_targetBuilding = newBuildingModal;
//				DisplayBuilding (newAttr, trans_targetBuilding, trans_imageTarget);
//				MusicPlayer.Insatance.SetAudioClip (targetBuilding.mIntroduceClip);
//				UICenter.Instance.ResetMusicButtonState ();
//			} else {
//				Debug.LogError ("Here is building on index :" + index);
//			}
        }
    }
Example #4
0
    public void Initialize()
    {
        Transform building = transform.GetChild(0);

        displayAttr = new BuildingDisplayAttribute();
        // Debug.Log (building.name);
        if (building)
        {
            // Debug.Log (building.name);
            displayAttr.InitLocalPosition = building.localPosition;
            // Debug.Log (building.name);
            displayAttr.InitLocalRotation = building.localRotation;
            // Debug.Log (building.name);
            displayAttr.InitLocalScale = building.localScale;
            mBuilding = building;
            building.gameObject.SetActive(false);
        }
        else
        {
            Debug.LogError(this.gameObject.name + " has no child");
        }
    }