public void TurnOn() { BindGazeManager(true); selectedContainer.gameObject.SetActive(true); originContainer.gameObject.SetActive(true); //selected = false; universeView.universeTime = 0; planetMap = new Dictionary <string, PlanetObject>(); foreach (GameObject p in planetObjects) { string name = p.name; PlanetObject po = p.GetComponent <PlanetObject>(); po.planetType = (PlanetObject.PlanetType)Enum.Parse(typeof(PlanetObject.PlanetType), name); //Debug.Log("addPlanetView:" + pv.planetType); planetMap.Add(name, po); } if (connectToServer) { SceneObject roomInitData = new SceneObject(); //roomInitData.ShowObjectDic.Add(UniverseObject.OBJECT_TYPE, universeView.uo.CreateShowObject()); roomInitData.ShowObjectDic.Add(cv_selected.containerType.ToString(), cv_selected.co.CreateShowObject()); roomInitData.ShowObjectDic.Add(cv_originContainer.containerType.ToString(), cv_originContainer.co.CreateShowObject()); roomInitData.ShowObjectDic.Add(PlanetObject.OBJECT_TYPE, selectedPlanet.CreateShowObject()); cm.roomInitData = roomInitData; cm.TurnOn(); //讲师端发送同步信息 StartCoroutine(UpdateContainerData()); Debug.Log(cm.GetSyncDelay()); } }
void OnTriggerEnter2D(Collider2D col) { if (col.tag == "Planet") { m_planet = col.GetComponent <PlanetObject>(); Debug.Log("Planet"); m_score++; } }
public static void Create() { PlanetObject asset = ScriptableObject.CreateInstance <PlanetObject> (); AssetDatabase.CreateAsset(asset, "Assets/NewPlanetObject.asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; }
public void ChangeActivePlanet(PlanetObject planet) { planetName.text = planet.planetName; planetGalaxy.text = planet.planetGalaxy + " galaxy"; ShortenValue(planetDistance, planet.planetDistanceToEarth); ShortenValue(planetDiameter, planet.planetRadius); planetDiameter.text = planet.planetRadius.ToString("n0") + " km"; planetDescription.text = planet.planetDescription; planetImage.sprite = planet.planetImage; planetBackground.sprite = planet.planetBackground; }
void SetSunLightDirection(PlanetObject planet, Transform t) { SunLightReceiver[] slrs = planet.gameObject.GetComponentsInChildren <SunLightReceiver>(); if (slrs == null) { return; } foreach (SunLightReceiver slr in slrs) { slr.Sun = t; } }
void createPlanet() { PlanetObject planetObj = Instantiate(m_planetObject); float size = UnityEngine.Random.Range(1f, 4f); float vX = UnityEngine.Random.Range(-2f, 2f); float vY = m_height; m_height += size; planetObj.transform.position = new Vector2(vX, vY); planetObj.transform.localScale *= size; planetObj.transform.SetParent(m_galaxyTransform); m_planetList.Add(planetObj); }
public void SetPlanetStatus(MsgEntryLocal me) { float[] data = me.pr; //Debug.Log("星球序号为:" + data[0] + ":" + (PlanetObject.PlanetType)(int)data[0]); //Debug.Log("切换动画开始时间为:" + data[1]); PlanetObject po = null; if (((int)data[0]) != (int)PlanetObject.PlanetType.NOTSELECTED) { //有星球被选择 po = planetMap[Enum.GetName(typeof(PlanetObject.PlanetType), (PlanetObject.PlanetType)data[0])]; } RefreshPlanetStatus(po, data[1]); }
public PlanetObject ClosestPlanet(Vector3 objectPosition) { float dist = float.MaxValue; PlanetObject closest = null; foreach (PlanetObject planet in planets) { float distTest = Vector3.Distance(planet.transform.position, objectPosition) - Vector3.Magnitude(planet.transform.localScale) * 0.5f; if (distTest < dist) { dist = distTest; closest = planet; } } return(closest); }
public void SelectOnePlanet(string name, System.Action cb = null, bool sendMsg = true, bool animating = true, float animationStartUniverseTime = -1) { if (selected) { //Debug.Log("Select Blocked!!!!!!!!!!!"); return; } if (planetMap.ContainsKey(name)) { PlanetObject sel = planetMap[name]; if (sendMsg && connectToServer) { MsgEntry me_toSend = sel.CreateMsgEntry(); SyncMsg sync = new SyncMsg(); sync.MsgEntry.Add(me_toSend); Debug.Log("Send select plaent![" + name + "]"); cm.SendMessage(sync); } } }
public void Init() { cv_selected = selectedContainer.gameObject.GetComponent <ContainerView>(); cv_originContainer = originContainer.gameObject.GetComponent <ContainerView>(); cv_selected.containerType = ContainerView.ContainerType.SelectedContainer; cv_originContainer.containerType = ContainerView.ContainerType.OriginContainer; //selectedPlanet = new PlanetObject(); selectedPlanet = planetObject_notSelected; gazeManager = MultiInputManager.Instance; if (expControl != null) { expControl.Init(); } cm = CollaborationManager.Instance; cm.AddMessageHandler(this); }
public IEnumerator PlanetTransformAnimation(PlanetObject planet, Vector3 originPos, Vector3 finalPos, float originScal, float finalScal, AnimationCurve ac, float startTime, System.Action cbFinish = null) { //Debug.Log("<<<<<<<<<<<<<<< Animation start!"); planet.animating = true; Transform transform = planet.gameObject.transform; if (ac.length <= 0) { transform.localScale = finalScal * Vector3.one; transform.localPosition = finalPos; yield break; } float processTime = ac.keys[ac.length - 1].time; while (universeView.universeTime - startTime < processTime) { if (animationInterrupt) { animationInterrupt = false; //Debug.Log("]]]]]]]]]]]] Animation stop! 1"); planet.animating = false; break; } float mix = ac.Evaluate(universeView.universeTime - startTime); transform.localPosition = originPos * (1 - mix) + finalPos * mix; transform.localScale = Vector3.one * (originScal * (1 - mix) + finalScal * mix); yield return(null); } //Debug.Log("]]]]]]]]]]]] Animation stop! 2"); planet.animating = false; if (cbFinish != null) { cbFinish(); } }
private void RefreshPlanetStatus(PlanetObject po, float startTime) { if (po == null) { selected = false; SetChildrenVisible(originContainer.gameObject, true); //SetSunLightDirection(po, fakeSun); } else { selected = true; SetChildrenVisible(originContainer.gameObject, false); SetChildrenVisible(po.gameObject, true); if (expControl != null) { expControl.DoExplosion(cv_originContainer.transform.position, currentScaleFactor); } //Debug.Log(transform.position); } foreach (PlanetObject obj in planetMap.Values) { if (obj == po) { obj.selected = true; obj.animationStartUniverseTime = startTime; } else { if (obj.selected) { obj.animationStartUniverseTime = startTime; } obj.selected = false; } } }
private bool SavePlanetItems(List <GameObject> planetItems) { var i = 0; // Save objects placed on the planet. PlanetObjectData[] objectData = new PlanetObjectData[planetItems.Count]; foreach (GameObject planetObject in planetItems) { PlanetObject tempObject = planetObject.GetComponent <PlanetObject>(); Vector3 tempPos = tempObject.transform.position; objectData[i].objectId = tempObject.scrObject.objectID; objectData[i].objectName = tempObject.scrObject.name; objectData[i].posX = tempPos.x.ToString("0.00"); objectData[i].posY = tempPos.y.ToString("0.00"); objectData[i].remainingTime = (int)tempObject.RemainingTime; planetObjects = JsonHelper.ToJsonPlanetItems(objectData, true); i++; } return(true); }
private void HandlePlanetObject(PlanetObject obj) { CheckDiscovere(obj); CheckNodeObjects(obj); }
void RemoveFromPlanetList(PlanetObject planet) { planets.Remove(planet); }
void AddToPlanetList(PlanetObject planet) { planets.Add(planet); }
void OnTriggerExit2D(Collider2D col) { m_planet = null; Debug.Log("Out"); }