Exemple #1
0
    // Use this for initialization
    void Start()
    {
        Dog   dog       = (MicrogameController.instance.getTraits() as KagCutTraits).dog;
        Color hairColor = dog.color;

        furballs = new GameObject[furballCount];
        // Set the sprites
        //AudioClip music = soundTracks[randChar];

        //character.GetComponent<SpriteRenderer>().sprite = charSprite;

        GameObject furball   = Instantiate(furballPrefab);
        GameObject spriteObj = furball.transform.Find("Sprite").gameObject;
        GameObject furExplo  = furball.transform.Find("FurExplosion").gameObject;

        spriteObj.GetComponent <SpriteRenderer>().color = hairColor;

        ParticleSystem.MainModule     partMod   = furball.GetComponent <ParticleSystem>().main;
        ParticleSystem.MinMaxGradient partColor = new ParticleSystem.MinMaxGradient(hairColor);
        partMod.startColor = partColor;
        partMod            = furExplo.GetComponent <ParticleSystem>().main;
        partMod.startColor = partColor;


        bool flipHairAngle = MathHelper.randomBool();

        for (int i = 0; i < furballCount; i++)
        {
            //angle = angles[i];
            var angle = MathHelper.randomRangeFromVector(flipHairAngle ? furAngleRange : furAngleRangeRight) * Mathf.Deg2Rad;
            flipHairAngle = !flipHairAngle;
            float      x      = razor.transform.position.x + furDistance * Mathf.Cos(angle);
            float      y      = razor.transform.position.y + furDistance * Mathf.Sin(angle);
            GameObject newFur = Instantiate(furball, new Vector3(x, y, 0), Quaternion.identity);
            newFur.transform.position += Vector3.forward * (float)i * .01f;
            FurBallController s = newFur.GetComponent <FurBallController>();
            s.speed         = furspeed;
            s.particleRate  = particleRate;
            s.shouldExplode = shouldExplode;
            newFur.GetComponent <Animator>().SetFloat("offset", Random.Range(0f, 1f));
            furballs[i] = newFur;
        }
        furball.SetActive(false);
    }
Exemple #2
0
    // Use this for initialization
    void Start()
    {
        furballs = new GameObject[furballCount];
        // Set the sprites
        int             randChar   = Random.Range(0, characterSprites.Length);
        Sprite          charSprite = characterSprites[randChar];
        Sprite          furSprite  = furballSprites[randChar];
        KagCutCharacter character  = Instantiate(characterPrefab);

        character.GetComponent <SpriteRenderer>().sprite = charSprite;
        GameObject furball   = character.transform.Find("FurBall").gameObject;
        GameObject spriteObj = furball.transform.Find("Sprite").gameObject;

        spriteObj.GetComponent <SpriteRenderer>().sprite = furSprite;

        float angle = 0.4f;

        float[] angles = new float[furballCount];
        for (int i = 0; i < furballCount; i++)
        {
            angle     = Random.Range(angle - 0.5f, angle - Mathf.PI / furballCount - 0.2f);
            angles[i] = angle;
        }
        float center_shift = angles[0] + angles[furballCount - 1] + Mathf.PI;

        for (int i = 0; i < furballCount; i++)
        {
            angles[i] -= center_shift;
        }

        for (int i = 0; i < furballCount; i++)
        {
            angle = angles[i];
            float             x      = razor.transform.position.x + furDistance * Mathf.Cos(angle);
            float             y      = razor.transform.position.y + furDistance * Mathf.Sin(angle);
            GameObject        newFur = Instantiate(furball, new Vector3(x, y, 0), Quaternion.identity);
            FurBallController s      = newFur.GetComponent <FurBallController>();
            s.speed = furspeed;
            newFur.GetComponent <Animator>().SetFloat("offset", Random.Range(0f, 1f));
            furballs[i] = newFur;
        }
        furball.SetActive(false);
    }