private void Start() { mc = refCtrl.mapCtrl; agent = Instantiate(agentPrefab, this.transform); while (true) { agentX = Random.Range(0, mc.Map.GetLength(0)); agentY = Random.Range(0, mc.Map.GetLength(1)); agent.transform.position = new Vector3(agentX, agentY, -1f); TerrainObj agentTerrain = mc.Map[agentX, agentY]; Debug.Log(agentTerrain.GetType()); if (agentTerrain.type == TerrainObj.Type.grass) { Debug.Log("Set Home"); break; } else { Debug.Log("Roll Again"); } } }
#pragma warning disable 414 void Start() { if (SKYMASTER_OBJ != null) { SUNMASTER = SKYMASTER_OBJ.GetComponent(typeof(SkyMasterManager)) as SkyMasterManager; } SPEED = SUNMASTER.SPEED; SUNMASTER.Seasonal_change_auto = false; //v1.7 HORIZON = SUNMASTER.Horizon_adj; DuskLightG = SUNMASTER.Dusk_Sun_Color.g; DuskLightB = SUNMASTER.Dusk_Sun_Color.b; //v1.7 if (TerrainHandle == null) { TerrainObj.SetActive(true); TerrainHandle = TerrainObj.GetComponentInChildren(typeof(SeasonalTerrainSKYMASTER)) as SeasonalTerrainSKYMASTER; TerrainObj.SetActive(false); } if (MeshTerrainHandle == null) { MeshTerrainObj.SetActive(true); MeshTerrainHandle = MeshTerrainObj.GetComponentInChildren(typeof(SeasonalTerrainSKYMASTER)) as SeasonalTerrainSKYMASTER; } TOD = SUNMASTER.Current_Time; GI_controller = SUNMASTER.SUN_LIGHT.GetComponent(typeof(ControlGIPROXY_ATTRIUM_SM)) as ControlGIPROXY_ATTRIUM_SM; Gi_proxy = SUNMASTER.SUN_LIGHT.GetComponent(typeof(LightCollisionsPDM)) as LightCollisionsPDM; if (GI_controller != null) { GI_controller.enabled = false; } }
protected override void OnFinished() { GameObject go = null; try { if (filename.Contains("_terrain_")) { TerrainObj tobj = parent.gameObject.GetComponent <TerrainObj>(); if (tobj == null) { parent.gameObject.AddComponent <TerrainObj>(); } else { tobj.enabled = true; } } count--; // This is executed by the Unity main thread when the job is finished if (niffile != null) { go = NIFLoader.loadNIF(niffile, filename); if (lodfile != null) { GameObject lodgo = NIFLoader.loadNIF(lodfile, filename); // terrain lod LODGroup group = parent.gameObject.GetComponent <LODGroup>(); if (group == null) { group = parent.gameObject.AddComponent <LODGroup>(); } group.enabled = true; group.animateCrossFading = true; group.fadeMode = LODFadeMode.SpeedTree; LOD[] lods = new LOD[2]; Renderer[] renderersMax = go.GetComponentsInChildren <Renderer>(); Renderer[] renderersLow = lodgo.GetComponentsInChildren <Renderer>(); lods[0] = new LOD(0.6f, renderersMax); lods[1] = new LOD(0.03f, renderersLow); //lods[1] = new LOD(1f - LODCutoff, renderers); group.SetLODs(lods); GameObject lodObj = new GameObject(); lodObj.name = "LOD-" + filename; lodgo.transform.SetParent(lodObj.transform); lodObj.transform.SetParent(go.transform); } lock (originals) { originals[filename] = go; } } else { go = getCachedObject(filename); } if (go != null) { if (Assets.GameWorld.useColliders) { GameObject.Destroy(parent.GetComponent <BoxCollider>()); GameObject.Destroy(parent.GetComponent <SphereCollider>()); } go.transform.SetParent(parent.transform); go.transform.localScale = Vector3.one; go.transform.localPosition = Vector3.zero; go.transform.localRotation = Quaternion.identity; if (parent.gameObject.GetComponent <LODGroup>() != null) { parent.gameObject.GetComponent <LODGroup>().RecalculateBounds(); } } } catch (Exception ex) { Debug.LogWarning("Unable to load nif:" + niffile + " " + filename); Debug.Log(ex); if (null != go) { GameObject.Destroy(go); } } finally { if (cacheWait.ContainsKey(filename)) { cacheWait[filename].Release(); } } }