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;
    }
Beispiel #2
0
    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;
    }