IEnumerator invertActions(spacecraft sc) { sc_player = sc; yield return(new WaitUntil(() => !sc.camera.transform.GetChild(0).GetComponent <colorInverter>().inverting)); yield return(new WaitForSeconds(1f)); sc.camera.transform.GetChild(0).GetComponent <SpriteRenderer>().enabled = false; //if (canvas != null) //canvas.GetComponent<UIManager>().menuButtonInvert(); UIManager.instance.menuButtonInvert(); for (int i = 0; i < transform.parent.childCount; i++) { GameObject ob = transform.parent.GetChild(i).gameObject; if (ob != gameObject && ob.tag != "Player" && ob.tag != "end" && ob.tag != "MainCamera" && ob.tag != "background") { Debug.Log(ob.tag); ob.SetActive(false); } } yield return(new WaitForSeconds(0.1f)); AudioManager.instance.PlayMusic("bgm2"); sc.camera.transform.GetChild(0).GetComponent <SpriteRenderer>().enabled = true; move = true; yield return(new WaitForSeconds(3f)); whirlpoolTitle.GetComponent <TitleScript>().showTitle(); //StartCoroutine(moveCamera()); inverted = true; }
public override void catchedAction(spacecraft sc) { //enegy sc.energy += dustAmount; //Debug.Log("absorbing"); //dust absorbed ParticlesAbsorb pA; if (!startedAbsorb && (pA = playerObj.GetComponent <ParticlesAbsorb>()) != null && (tag == "dustPlanet")) { StartCoroutine(pA.absorbParticles(transform.GetChild(0).GetComponent <ParticleSystem>())); transform.GetChild(transform.childCount - 1).SetSiblingIndex(0); startedAbsorb = true; } // change if (sc.energy > 100f) { sc.energy = 100f; } dustAmount = 0; playerObj.transform.GetChild(0).GetChild(0).GetComponent <TrailRenderer>().time = sc.energy / 100f; return; }
// Use this for initialization void Start() { if (instance == null) { instance = this; } playerModel = new PlayerModel(); if (!PlayerPrefs.HasKey("isPointer")) { showArrow = true; } else { showArrow = (PlayerPrefs.GetInt("isPointer") == 1); } if (SceneManager.GetActiveScene().name == "start page" || SceneManager.GetActiveScene().name == "pre_tutorial") { startPage = true; } //showArrow = ((int)GameStates.instance.getData("isPointer", typeof(int)) < 1); InitPlayer(false);//Init player with reinit parameter being false }
// Use this for initialization void Start() { origTrans = transform.parent; origPos = transform.position; origScale = transform.localScale; //Debug.Log("SC player:" + transform.parent.parent.parent.gameObject.GetComponent<BadgeManager>().sc_player); player_sc = transform.parent.parent.parent.gameObject.GetComponent <BadgeManager>().sc_player; }
public override void catchedAction(spacecraft sc) { absorbing = true; playerRotationSpeed = sc.rotating_speed; if (rotatingSpeed != 0) { sc.rotating_speed = rotatingSpeed; } }
public override void catchedAction(spacecraft sc) { showLevel = showLevels(); StartCoroutine(showLevel); title.SetActive(false); landed = true; planetName.gameObject.SetActive(true); return; }
void checkCatcing() { Vector2 position = new Vector2(transform.position.x, transform.position.y); Collider2D[] hitColliders = Physics2D.OverlapCircleAll(position, catching_radius); int i = 0; while (i < hitColliders.Length) { GameObject ob = hitColliders[i].gameObject; //player catched if (ob != gameObject && ob.tag == "spacecraft") { //Debug.Log("!!!!" + //""); spacecraft sc = ob.transform.GetChild(0).GetComponent <spacecraft>(); if (sc.rotating_planet == null || sc.rotating_planet != gameObject) { sc.rotating_planet = gameObject; sc.rotation_center = transform.position; sc.rotate_on = true; sc.moving = false; sc.movingStart = false; if (dustLand != null && normalLand != null) { if (dustAmount > 0) { dustLand.Play(); } else { normalLand.Play(); } } } sc.enegy += dustAmount; if (sc.enegy > 100) { sc.enegy = 100; } dustAmount = 0; ob.transform.GetChild(0).GetChild(0).GetComponent <TrailRenderer>().time = sc.enegy / 100f; } ++i; } }
// Use this for initialization void Start() { player_sc = player.transform.GetChild(0).GetComponent <spacecraft>(); //Debug.Log(player_sc); saveName = "tu" + (tutorialNum + 1).ToString(); checkedMark = GameStates.instance.GetTutorialData(saveName); Debug.Log("Checkmark: " + checkedMark); inst = new Dictionary <string, hint>(); if (textfield == null) { textfield = GameObject.FindGameObjectWithTag("tutorialText").GetComponent <Text>(); } textfield.text = ""; switch (tutorialNum) { case 0: //Start page //printList(); part_1 = new Part_1(player_sc, firstPlanet, secondPlanet, textfield, this); if (checkedMark < 1) { playerIntro.GetComponent <Text>().text = "This is You :)"; StartCoroutine(waitToShowStuff(playerIntro, 1f)); } break; case 1: //Tutorial level 1 //Debug.Log(dist_ratio); break; case 2: inst["energy"] = new hint("You lose energy during interstellar travels.", false, 100, 200); inst["dust"] = new hint("The dust charges your energy.", false, 0, -200); break; case 3: inst["obstacle"] = new hint("Avoid these squared rocks!", false, -220, 200); break; } }
public Part_1(spacecraft player_sc, GameObject firstPlanet, GameObject secondPlanet,Text textfield, MonoBehaviour monoBehaviour) { this.player_sc = player_sc; this.firstPlanet = firstPlanet; this.secondPlanet = secondPlanet; this.textfield = textfield; this.monoBehaviour = monoBehaviour; Dictionary<string, hint> instr = new Dictionary<string, hint>(); instr["release"] = new hint("Relase to launch yourself!"); instr["hold"] = new hint("First, hold the screen."); instr["compliment"] = new hint("Good job!", false, 200, 200); instr["goal_1"] = new hint("Get here!", false, 200, 200); instr["goal_2"] = new hint("Now get here!", false, 350, 300); instr["congrat"] = new hint("Well done, let's get into the game!", false, 0, 200); this.inst = instr; }
public virtual void checkCatching() { //Debug.Log("Catched step 1" + name); //Keep scanning around itself to find if player is around Vector2 position = new Vector2(transform.position.x, transform.position.y); Collider2D[] hitColliders = Physics2D.OverlapCircleAll(position, catchRadius); int i = 0; while (i < hitColliders.Length) { GameObject ob = hitColliders[i].gameObject; //player catched if (ob != gameObject && ob.tag == "Player")//&& Mathf.Abs(Vector3.Distance(transform.position,ob.transform.position) - catchRadius) < 0.1f) { playerObj = ob; spacecraft sc = ob.transform.GetChild(0).GetComponent <spacecraft>(); //Conditions of automatic switch of planets: the current rotatingPlanet is not null and not equal to the attracting planet if (!sc.launched) { if (sc.rotatingPlanet != gameObject)//When it is switching to a new planet automatically, the responding time(checkInterval) show be longer so that it will not switch back { //Debug.Log("Slow response"); transferCenter(ob, sc, slowRespTime); } } else { if (sc.preRotatingPlanet != gameObject) { //Conditions of manual switch of planets: the current rotatingPlanet null or it is not equal to the attracting planet //Debug.Log("Quick response"); //When it is switching to a new planet manually, the responding time should be 0(player can shoot right after it lands) transferCenter(ob, sc); } } } ++i; } }
public override void catchedAction(spacecraft sc) { base.catchedAction(sc); if (awardAvailable) { //Debug.Log("Award"); StartCoroutine(award.GetComponent <GainedAnimation>().moveStart(sc.transform.parent.transform, 1)); awardAvailable = false; sc.wonAward = tag; if (text != null) { if (text.GetComponent <Text>() != null) { text.GetComponent <Text>().text = ""; } } if (intro != null) { intro.gameObject.SetActive(false); } } if (SceneManager.GetActiveScene().buildIndex == 18) { if (!sc.camera.transform.GetChild(0).GetComponent <colorInverter>().invertingBack&& !inverted) { if (frame != null) { frame.color = Color.black; } if (good != null) { good.color = Color.black; } } } }
public override void catchedAction(spacecraft sc) { base.catchedAction(sc); if (!playerReached && SceneManager.GetActiveScene().name == "2-start") { playerReached = true; //Debug.Log("Player reached"); sc.spawnPoint = transform.position - new Vector3(5, 1, 0); sc.playerModel.init(); sc.energy = 100f; GameStates.instance.saveData(Constants.whirpoolStatus, 1); if ((int)GameStates.instance.getUnlockedLevels() < 11) { GameStates.instance.SaveLevel(curID: 11); GameStates.instance.saveData(Constants.curLevelKey, "11"); SocialSystem.instance.setAchievement(Achievements.unlock_whirlpool); sc.transform.parent.GetComponent <Collision>().saveUserData(11); } } if (!invBack && !inverted) { sc.camera.transform.GetChild(0).GetComponent <colorInverter>().inverting = true; StartCoroutine(invertActions(sc)); } else { if (!inverted) { sc.camera.transform.GetChild(0).GetComponent <colorInverter>().invertingBack = true; UIManager.instance.menuButtonInvert(); if (badge != null) { badge.GetComponent <GoldenPlanet>().inverted = true; } inverted = true; } } }
// Use this for initialization void Start() { playerTrailRenderer = transform.GetChild(0).GetChild(0).GetComponent <TrailRenderer>(); sc = transform.GetChild(0).GetComponent <spacecraft>(); }
public override void catchedAction(spacecraft sc) { origTime = thePlayerOnPlanet.transform.GetChild(0).GetChild(0).GetComponent <TrailRenderer>().time; return; }
void checkCatching() { //Keep scanning around itself to find if player is around Vector2 position = new Vector2(transform.position.x, transform.position.y); Collider2D[] hitColliders = Physics2D.OverlapCircleAll(position, catchRadius); int i = 0; //if player leaves the planet, delete the reference if (thePlayerOnPlanet != null) { if (thePlayerOnPlanet.transform.GetChild(0).GetComponent <spacecraft>().launched == true) { thePlayerOnPlanet = null; } } while (i < hitColliders.Length) { GameObject ob = hitColliders[i].gameObject; //player catched if (ob != gameObject && ob.tag == "Player") { spacecraft sc = ob.transform.GetChild(0).GetComponent <spacecraft>(); //check if spacecraft is not orbiting the same planet after launch if (sc.preRotatingPlanet == null || sc.preRotatingPlanet != gameObject) { //store player reference thePlayerOnPlanet = ob; if (sc.energy < Constants.deathHealthVal) { return; } //rotate sc.rotatingPlanet = gameObject; sc.rotation_center = transform.position; sc.rotate_on = true; sc.launched = false; sc.movingStart = false; Vector2 v1 = new Vector2(transform.position.x - sc.transform.position.x, transform.position.y - sc.transform.position.y); //v1.Normalize(); Vector2 v2 = sc.transform.parent.GetComponent <Rigidbody2D>().velocity; //v2.Normalize(); float angle = Vector2.SignedAngle(v1, v2); if (angle < 0f && angle < 90f) { sc.rotating_dir = -1; //counterclockwise rotation } else { sc.rotating_dir = 1; //clockwise rotation } if (canPlaySound) { if (SceneManager.GetActiveScene().buildIndex != 0) { AudioManager.instance.PlaySFX("Harp Land_" + AudioManager.landingSfxID.ToString()); AudioManager.landingSfxID++; if (AudioManager.landingSfxID > 4) { AudioManager.landingSfxID = 1; } } canPlaySound = false; } } } ++i; } }
private void transferCenter(GameObject ob, spacecraft sc, float checkInterval = 0) { Vector2 v1 = new Vector2(transform.position.x - sc.transform.position.x, transform.position.y - sc.transform.position.y); Vector2 v2 = sc.transform.parent.GetComponent <Rigidbody2D>().velocity; float angle = Vector2.SignedAngle(v1, v2); //check if spacecraft is not orbiting the same planet after launch //Debug.Log(sc.rotatingPlanet + ", " + (Time.time - sc.checkRotatingTime)); if (Time.time - sc.checkRotatingTime > checkInterval) ////&& angle <= 90f && angle >= -90f )//&& { if (!sc.dead) { PlanetBlink(); } //position fix ob.transform.position = (ob.transform.position - transform.position).normalized * catchRadius + transform.position; thePlayerOnPlanet = ob; //Debug.Log(thePlayerOnPlanet); if (sc.energy < Constants.deathHealthVal) { return; } //rotate //player did not launch if (!sc.launched) { sc.checkRotatingTime = Time.time; sc.preRotatingPlanet = sc.rotatingPlanet; if (sc.rotatingPlanet != null) { sc.rotatingPlanet.GetComponent <Planet>().playerLeave(); } sc.rotatingPlanet = null; } sc.rotatingPlanet = gameObject; sc.rotation_center = transform.position; sc.rotate_on = true; sc.launched = false; sc.movingStart = false; sc.checkRotatingTime = Time.time; if (angle < 0f && angle < 90f) { sc.rotating_dir = -1; //counterclockwise rotation } else { sc.rotating_dir = 1; //clockwise rotation } //Debug.Log("Switched"); sc.landOn(); //landing sound if (canPlaySound) { playLandingSound(); canPlaySound = false; } if (transform.Find("secret") != null) { BadgeManager.instance.showHiddenPlanet(transform.Find("secret").tag); } catchedAction(sc); } }
public virtual void catchedAction(spacecraft sc) { }
public override void catchedAction(spacecraft sc) { return; }