public void Awake() { DontDestroyOnLoad(gameObject); GameObject systemsContainer = new GameObject("Systems"); SystemsContainer = systemsContainer.transform; SystemsContainer.SetParent(transform); GameObject screensContainer = new GameObject("Screens"); ScreensContainer = screensContainer.transform; ScreensContainer.SetParent(transform); }
public void RemoveAllChildren(bool worldPositionStays, out GameObject[] childrenRemoved) { var screenCount = ScreensContainer.childCount; childrenRemoved = new GameObject[screenCount]; for (int i = screenCount - 1; i >= 0; i--) { childrenRemoved[i] = ScreensContainer.GetChild(i).gameObject; childrenRemoved[i].transform.SetParent(null, worldPositionStays); } ScrollRect.horizontalNormalizedPosition = 0; CurrentPage = 0; InitialiseChildObjectsFromScene(); DistributePages(); if (MaskArea) { UpdateVisible(); } }
public void Init(VideoInfo info, ScreensContainer container) { m_ARCam = MultiScreenPlayerManager.Instance.CameraTransform; m_Container = container; m_InteractiveItem = gameObject.AddComponent <ARInteractiveItem>(); m_InteractiveItem.OnHover += OnHover; m_InteractiveItem.OnOut += OnOut; m_InteractiveItem.OnClick += OnClick; m_OriginScale = transform.localScale; m_OriginLocalPos = transform.localPosition; m_HoverScale = m_OriginScale * 1.5f; this.Info = info; //MoveablePhysicsObject moveObj = gameObject.AddComponent<MoveablePhysicsObject>(); //moveObj.minDistance = 1f; //moveObj.maxDistance = 40f; //moveObj.distanceFromControllerMin = 5f; //moveObj.distanceFromControllerMax = 30f; //moveObj.maintainFacing = true; m_CurScreenState = ScreenState.Default; }
private Transform GetScreen(string screenId) { // TODO: Have to fix this... for castles, it generates a new one each time because the find is trying to find the slashes for // a nested child, but that's not how it is... need to figure out like a common name or something return(screenId == null ? null : ScreensContainer.Find(screenId)); }