public void sendInitialise(GameObject parent) { m_parentStar = parent; float dist = Random.value * (REV_MAX_DIST - REV_MIN_DIST) + REV_MIN_DIST; float angle = Random.value * 360.0f; transform.position = m_parentStar.transform.position + dist * new Vector3(0, 0, 1); transform.RotateAround(m_parentStar.transform.position, Vector3.up, angle); m_revSpeed = Random.value * (REV_MAX_SPEED - REV_MIN_SPEED) + REV_MIN_SPEED; m_type = (STUFF_TYPE)Random.Range(0, 2.99999f); switch(m_type) { case STUFF_TYPE.WHITE: renderer.material.color = Color.white; break; case STUFF_TYPE.BLUE: renderer.material.color = new Color(0.3f, 0.3f, 1.0f, 1.0f); break; case STUFF_TYPE.RED: renderer.material.color = new Color(1.0f, 0.3f, 0.3f, 1.0f); break; default: m_type = STUFF_TYPE.WHITE; renderer.material.color = Color.white; break; } return; }
public void sendEatedStarStuff(STUFF_TYPE type) { // we are eating ++m_numEatedStarStuff; switch(type) { case STUFF_TYPE.WHITE: ++m_numEatedWhiteStuff; break; case STUFF_TYPE.BLUE: ++m_numEatedBlueStuff; break; case STUFF_TYPE.RED: ++m_numEatedRedStuff; break; } /* iTween.ShakeScale(gameObject, iTween.Hash("amount", new Vector3(1.5f, 1.5f, 1.5f), "time", 1.5f, "looptype", iTween.LoopType.none, "easetype", iTween.EaseType.easeInOutElastic));*/ if(STATE_CHILD == m_currentState && 2 <= m_numEatedStarStuff) { // grow into an adult ++m_currentState; m_midwife.SendMessage("sendGrowToAdult"); Color clr = new Color(1.0f - red * ADULT_COLOUR_MULT, 1.0f - green * ADULT_COLOUR_MULT, 1.0f - blue * ADULT_COLOUR_MULT, 1.0f); iTween.ColorTo(gameObject, iTween.Hash("color", clr, "time", 1.0f)); //renderer.material.color = clr; } else if(STATE_ADULT == m_currentState && 4 <= m_numEatedStarStuff) { // grow into a PreNova ++m_currentState; m_midwife.SendMessage("sendGrowToNova"); iTween.ShakeRotation(gameObject, iTween.Hash("amount", 5.0f * Vector3.one, "looptype", iTween.LoopType.loop)); iTween.ShakePosition(gameObject, iTween.Hash("amount", 0.125f * Vector3.one, "looptype", iTween.LoopType.loop)); } else if(STATE_PRE_NOVA == m_currentState && 5 <= m_numEatedStarStuff) { // SUUUUPPPEERRRR NOOOVAAAAAAA ++m_currentState; iTween.Stop(gameObject, "ShakePosition"); iTween.Stop(gameObject, "ShakeRotation"); transform.position = m_vBasePosition; transform.rotation = Quaternion.identity; m_bSpawnNovaParticles = true; m_bGoneSupernova = true; } return; }