private void Start() { manager = GameObject.FindObjectOfType <RealWorldGame>(); player = GameObject.FindGameObjectWithTag("Player"); displayer = GameObject.FindObjectOfType <DisplayerManager>(); ui = GameObject.FindObjectOfType <UISystem>(); interactButton = KeyCode.X; baseText = "Click " + interactButton.ToString() + " to "; texts = new string[] { "interact with television", "get in", "interact with the light", "check", "go up the stairs", "go down the stairs", "interact with the fireplace" }; Interactions = new Interaction[] { InteractWithTelevision, InteractWithDoor, InteractWithLight, InteractWithDisplayer, InteractWithStairsUp, InteractWithStairsDown, InteractWithFireplace }; }
/// <summary> /// 初始化Manager /// </summary> private void InitClusterManager() { var map = new int[MapHeight][]; for (var i = 0; i < map.Length; i++) { map[i] = new int[MapWidth]; } ClusterManager.Single.ClearAll(); ClusterManager.Single.Init(0, 0, MapWidth, MapHeight, UnitWidth, map); LoadMap.Single.Init(map, UnitWidth); DisplayerManager.AutoInstance(); // 启动携程器 CoroutineManage.AutoInstance(); }
void Start() { // 启动TriggerTicker TriggerTicker.Single.Start(); // 设定帧数 Application.targetFrameRate = 60; var loadMapPos = LoadMap.GetCenter(); ClusterManager.Single.Init(loadMapPos.x + LoadMap.MapWidth * LoadMap.UnitWidth, loadMapPos.z + LoadMap.MapHeight * LoadMap.UnitWidth, MapWidth, MapHeight, UnitWidth, null); // 启动显示管理器 DisplayerManager.AutoInstance(); // 启动携程器 CoroutineManage.AutoInstance(); // 启动数据管理器 DataManager.AutoInstance(); // 初始化资源 InitPack(); // 初始化lua InitLua(); // 初始化技能 InitSkill(); }
IEnumerator CreatePreviews() { foreach (var prop in Library.instance.props) { if (!prop.GetComponent <Prop>()) { continue; } var g = new GameObject(); g.transform.parent = container.transform; var element = g.AddComponent <LevelEditorMenuElement>(); element.editor = this; element.onHovered += delegate { SelectItem(g); }; var img = g.AddComponent <Image>(); var containerImg = container.GetComponent <Image>(); img.sprite = containerImg.sprite; img.color = containerImg.color; img.type = Image.Type.Sliced; entries.Add(img, prop); var msk = g.AddComponent <Mask>(); var preview = new GameObject(); preview.transform.parent = g.transform; var rect = preview.AddComponent <RectTransform>(); rect.anchorMin = new Vector2(0f, 0f); rect.anchorMax = new Vector2(1f, 1f); var bounds = prop.GetComponentInChildren <MeshFilter>().sharedMesh.bounds.extents; var avgBounds = (bounds.x + bounds.y + bounds.z) / 0.5f; var sizeRatio = Mathf.Clamp(1f / avgBounds, 0.1f, 1f); var displayer = DisplayerManager.SetRotationFeed( null, preview.AddComponent <RawImage>(), 512, sizeRatio, Random.value, 5f * sizeRatio ); displayer.name = prop.name; var tgt = displayer.GetModel(); try { tgt.AddComponent <MeshRenderer>().material = prop.GetComponentInChildren <MeshRenderer>().sharedMaterial; tgt.AddComponent <MeshFilter>().mesh = prop.GetComponentInChildren <MeshFilter>().sharedMesh; } catch { Debug.Log("Could not load displayer for prop " + prop.name); } yield return(false); } yield return(true); }
void FindAllReferences() { // SYSTEM if (temporality == null) { temporality = FindObjectOfType <Temporality>(); } if (flagReader == null) { flagReader = FindObjectOfType <FlagReader>(); } if (library == null) { library = FindObjectOfType <Library>(); } if (soundManager == null) { soundManager = FindObjectOfType <SoundManager>(); } if (systemManager == null) { systemManager = FindObjectOfType <SystemManager>(); } if (missionCallbackManager == null) { missionCallbackManager = FindObjectOfType <MissionCallbackManager>(); } if (missionManager == null) { missionManager = FindObjectOfType <MissionManager>(); } if (cursorManagement == null) { cursorManagement = FindObjectOfType <CursorManagement>(); } if (gridManagement == null) { gridManagement = FindObjectOfType <GridManagement>(); } if (populationManager == null) { populationManager = FindObjectOfType <PopulationManager>(); } if (saveManager == null) { saveManager = FindObjectOfType <SaveManager>(); } if (cinematicManager == null) { cinematicManager = FindObjectOfType <CinematicManager>(); } if (cityManager == null) { cityManager = FindObjectOfType <CityManager>(); } if (bulletinsManager == null) { bulletinsManager = FindObjectOfType <BulletinsManager>(); } if (overlayManager == null) { overlayManager = FindObjectOfType <OverlayManager>(); } if (timelineController == null) { timelineController = FindObjectOfType <TimelineController>(); } if (player == null) { player = FindObjectOfType <Player>(); } if (eventManager == null) { eventManager = FindObjectOfType <EventManager>(); } if (animationManager == null) { animationManager = FindObjectOfType <AnimationManager>(); } if (achievementManager == null) { achievementManager = FindObjectOfType <AchievementManager>(); } if (roamerManager == null) { roamerManager = FindObjectOfType <RoamerManager>(); } if (environmentalFX == null) { environmentalFX = FindObjectOfType <EnvironmentalFX>(); } // INTERFACE if (localization == null) { localization = FindObjectOfType <Localization>(); } if (displayerManager == null) { displayerManager = FindObjectOfType <DisplayerManager>(); } // INTERFACE - INGAME if (temporalityInterface == null) { temporalityInterface = FindObjectOfType <TemporalityInterface>(); } if (tooltipGO == null) { tooltipGO = FindObjectOfType <TooltipGO>(); } // DEBUG if (logger == null) { logger = FindObjectOfType <Logger>(); } }
//游戏逻辑初始化 public static IEnumerator InitLogic() { // Debug.logger.logEnabled = false; Application.targetFrameRate = 30;//限定帧率 m_logicInitProgress = 0.3f; yield return(null); { bool sc_main_loadComplate = false; //增量装载场景公共资源 LoadSceneMode.Additive 加载场景的时候不关闭上一个场景 SceneManage.Single.Load( "sc_main", null, LoadSceneMode.Additive, () => sc_main_loadComplate = true,//装载完成通知 null ); //等待主场景装载完成 while (!sc_main_loadComplate) { yield return(null); } m_logicInitProgress = 0.35f; yield return(null); m_logicInitProgress = 0.4f; yield return(null); } //实例化服务器虚机 QKNodeSDK_CLR.Node.AutoInstance(); DataManager.AutoInstance(); DisplayerManager.AutoInstance(); m_logicInitProgress = 0.58f; yield return(null); SData_mapdata.AutoInstance(); m_logicInitProgress = 0.9f; yield return(null); AI_Single.AutoInstance(); //设置场景滚动限制参数 { var scrollAreaLimiterObj = GameObject.Find("/ScrollAreaLimiter"); var scrollAreaLimiter = scrollAreaLimiterObj.GetComponent <ScrollAreaLimiter>(); var mapData = SData_mapdata.Single.GetDataOfID(1); var xmin = mapData.FreeCameraXmin; var xmax = mapData.FreeCameraXmax; var zmin = mapData.FreeCameraZmin; var zmax = mapData.FreeCameraZmax; var halfBoxw = (xmax - xmin) / 2; var halfBoxh = (zmax - zmin) / 2; var centerX = xmin + halfBoxw; var centerZ = zmin + halfBoxh; scrollAreaLimiter.Area.center = new Vector3(centerX, 300, centerZ); scrollAreaLimiter.Area.extents = new Vector3(halfBoxw, 1000, halfBoxh); scrollAreaLimiter.SoftArea.center = new Vector3(centerX, 300, centerZ); scrollAreaLimiter.SoftArea.extents = new Vector3( halfBoxw + 5 * DiamondGridMap.wxs * mapData.terrain_cell_bianchang, 4000, halfBoxh + 5 * DiamondGridMap.VerticalSpacingFactor ); } //实例化相机追随物管理器 DP_CameraTrackObjectManage.AutoInstance(); m_logicInitProgress = 1.0f; yield return(null); }