// 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); }
// 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); }