Inheritance: MonoBehaviour
コード例 #1
0
	void Awake()
	{
		Instance = this;

		poolDictionary = new Dictionary<string, List<GameObject>>();
		prefabDictionary = new Dictionary<string, GameObject>();
		
		foreach(PoolableObject p in poolDefinitions)
		{
			// Don't make multiple pools for the same object
			if (poolDictionary.ContainsKey(p.obj.name))
			{
				Debug.LogWarning("Object pooler already contains a pool for this object name!");
			}
			else
			{
				// Instantiate as many objects as requested
				var list = new List<GameObject>();
				for (int i = 0; i < p.pooledAmount; ++i)
				{
					var newObj = CreatePooledObject(p.obj);
					newObj.transform.SetParent(transform);
					list.Add(newObj);
				}
				
				// Add objects to our pool dictionary for later retrieval
				poolDictionary.Add(p.obj.name, list);
				prefabDictionary.Add(p.obj.name, p.obj);
			}
		}
	}
コード例 #2
0
ファイル: ObjectPooler.cs プロジェクト: Bumblefo/Trifling
 void Awake()
 {
     //Called first even if not enabled
     //Used for making references
     //Only called once in lifetime of obj
     current = this;
 }
コード例 #3
0
 //public Animator theAnimator;
 void Start()
 {
     bulletPools = GameObject.Find ("BulletPooler").GetComponent<ObjectPooler> ();
     //theAnimator = GetComponentInChildren<Animator> ();
     if (tag != "Player")
         tankShot = GameObject.Find ("Player").GetComponent<CharacterShoot> ().tankShot;
 }
コード例 #4
0
	void Start () {
        SpriteRenderer sr = gameObject.GetComponent<SpriteRenderer>();
        transform.localScale = new Vector2(TrackManager.trackWidth / sr.sprite.bounds.size.x, GameManager.cameraDimensions.y / sr.sprite.bounds.size.y);
        trackNotePrefab.transform.localScale = new Vector2(TrackManager.trackWidth, TrackManager.trackWidth);

        trackNotesPooler = Instantiate(GameManager.ObjectPooler) as ObjectPooler;
        trackNotesPooler.initialize(trackNotePrefab, 4, true);
    }
コード例 #5
0
ファイル: AbstractBehavior.cs プロジェクト: pokeimon/E-Sheep
 protected virtual void Awake()
 {
     health = GetComponent<Health> ();
     inputState = GetComponent<InputState> ();
     body2d = GetComponent<Rigidbody2D> ();
     collisionState = GetComponent<CollisionState> ();
     objectPooler = GameObject.Find("PlayerBulletObjectPool").GetComponent<ObjectPooler> ();
 }
コード例 #6
0
    void Start () {
        noteEffectsPooler = Instantiate(GameManager.ObjectPooler) as ObjectPooler;
        noteEffectsPooler.initialize(noteEffectPrefab, 4, true);

        updateTracks();
        setHitbar();

        StartCoroutine(spawnNotes());
    }
コード例 #7
0
    // Use this for initialization
    void Start()
    {
        //coinsToDrop = FindObjectOfType<CoinPickup> ().gameObject;
        // numbOfCoins = Random.Range (2, 4);
        //dropChance = Random.Range (0, 100);
        enemyPosition = GetComponent<Transform> ();

        theCoinPooler = GameObject.Find ("CoinPooler").GetComponent<ObjectPooler> ();
    }
コード例 #8
0
ファイル: HorrorLandBoss.cs プロジェクト: pokeimon/E-Sheep
 void Awake()
 {
     Time.timeScale = 1f;
     objectPooler = GameObject.Find("HorrorBossObjectPool").GetComponent<ObjectPooler>();
     health = GetComponent<Health> ();
     body2d = GetComponent<Rigidbody2D> ();
     sword = transform.GetChild(0).gameObject;
     jumpShockWave = transform.GetChild (1).gameObject;
     punchShockWave = transform.GetChild (2).gameObject;
 }
コード例 #9
0
    private void Start()
    {
        m_Transform = GetComponent<Transform>();
        m_ObjectPooler = GetComponent<ObjectPooler>();
        m_Particles = GetComponent<ParticleSystem>();
        m_Particles.playOnAwake = false;
        m_Particles.loop = false;

        UpdatePosition();
    }
コード例 #10
0
    public static GameObject Create(GameObject Prefab, Vector3 spawnPosition, Quaternion spawnRotation)
    {
        if(sInstance == null)
        {
            GameObject singleton = new GameObject();

            sInstance = singleton.AddComponent<ObjectPooler>();
        }

        return(sInstance.CreateFromPrefab(Prefab, spawnPosition, spawnRotation));
    }
コード例 #11
0
ファイル: ObjectPooler.cs プロジェクト: gromarion/asteroids
    void Awake()
    {
        current = this;
        pooledObjects = new List<GameObject>();

        for (int i = 0; i < pooledAmount; i++) {
            GameObject obj = (GameObject) Instantiate(pooledObject);
            obj.SetActive(false);
            pooledObjects.Add(obj);
        }
    }
コード例 #12
0
 void Start()
 {
     //just instantiate the pools
     if (ArrowPooler == null)
     {
         GameObject go = new GameObject("ArrowPooler");
         ArrowPooler = go.AddComponent<ObjectPooler>();
         ArrowPooler.PooledObject = ArrowPrefab;
         go.transform.parent = this.gameObject.transform;
         ArrowPooler.Initialize();
     }
 }
コード例 #13
0
 void Awake()
 {
     if (sInstance == null)
     {
         sInstance = this;
         m_PoolList = new List<PoolList>(10);
         m_DebugPoolArray = new PoolList[10];
         name = "ObjectPoolManager";
     }
     else
         enabled = false;
 }
コード例 #14
0
 public GameObject Get(GameObject type)
 {
     if(!dictionary.ContainsKey(type))
     {
         ObjectPooler pool = new ObjectPooler();
         pool._parent = targetParent;
         pool._prefab = type;
         pool._poolLenght = 1;
         pool.Initialize();
         dictionary.Add(type, pool);
     }
     return dictionary[type].GetObject();
 }
コード例 #15
0
ファイル: FireOnMouseClick.cs プロジェクト: Jeedan/LD33
    // Use this for initialization
    void Start()
    {
        leftShootTimer = new CooldownTimer(shootDelay);

        pool = new ObjectPooler();

        pool.InitPool("bullets", bulletPrefab, 5, true);

        pool.InitPool("bb", bulletPrefab, 5, false);

        //p2.InitPool("bb", bulletPrefab, 5, false);

        shootCooldown = shootTimer + shootDelay;
    }
コード例 #16
0
ファイル: Ability.cs プロジェクト: Jeedan/LD33
    public void SpawnEffect()
    {
        pool = ObjectPoolManager.objectPool;
        isDone = false;
        //GameObject eff = Instantiate(effectPrefab, transform.position, Quaternion.identity) as GameObject;
        GameObject eff = pool.GetPooledObj("Fireball");

        eff.transform.position = transform.position;
        eff.transform.rotation = Quaternion.identity;

        eff.SetActive(true);
        Vector3 dir = target.transform.position - transform.position;
        MoveInALine m = eff.GetComponent<MoveInALine>();
        m.direction = dir.normalized;
        m.ability = this;
    }
コード例 #17
0
    void Start () {
        ObjectPooler = objectPooler;
        SongList = songList;
        experience = 0;
        notes = 0;
        combo = 1.00f;
        notesPerTap = 1;
        experiencePerTap = 1;
        TrackManager.trackCount = 3;
        
        cameraDimensions = Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, Screen.height)) - Camera.main.ScreenToWorldPoint(Vector2.zero);
        
        trackManager = Instantiate(trackManagerPrefab, Vector2.zero, Quaternion.identity) as TrackManager;

        SongLoader.initialize();
    }
コード例 #18
0
 void Awake()
 {
     objectPooler = ObjectPooler.GetInstance();
 }
 // Use this for initialization
 void Start()
 {
     objPool = gameObjectPool.GetComponent<ObjectPooler>();
 }
コード例 #20
0
    // Add prefabs of objects to be pooled
    // Add lists for each prefab to be pooled

    void Awake()
    {
        currentPooler = this;
    }
コード例 #21
0
ファイル: Monster.cs プロジェクト: Jeedan/LD33
    // Use this for initialization
    void Start()
    {
        maxHealth = health;

        canvas = GameObject.Find("Canvas");
        pool = ObjectPoolManager.objectPool; //new ObjectPooler();
        pool.InitPool("floatDmg", floattxtPrefab, 4, true);
    }
コード例 #22
0
 private void Awake()
 {
     muzzleFlash = GetComponentInChildren <ParticleReset>();
     pooler      = ObjectPooler.instance;
 }
コード例 #23
0
ファイル: ObjectSpawner.cs プロジェクト: avgupt/Interiorismo
 void Awake()
 {
     OP = ObjectPooler.SharedInstance;
 }
コード例 #24
0
ファイル: Egg.cs プロジェクト: broadfire0016/STE
    void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.name == "Ball" || other.gameObject.name == "Ball(Clone)")
        {
            gameObject.rigidbody.isKinematic = false;
            if (Application.loadedLevelName != "Level2" && Application.loadedLevelName != "Level3")
            {
                gameObject.transform.Translate(new Vector3(-1f, 0f, 0f));
            }
            else
            {
                gameObject.transform.Translate(new Vector3(0f, 0f, -1f));
            }
        }


        if (other.gameObject.name == "Floor" || other.gameObject.name == "Cart" || other.gameObject.name == "basketwall")
        {
            Destroy();

            if (gameObject.tag == "White Egg")
            {
                whitebrokenEgg      = GameObject.Find("WhiteBroken").GetComponent <ObjectPooler>();
                spawnWhiteBrokenEgg = whitebrokenEgg.GetPooledObject();
                spawnWhiteBrokenEgg.transform.position = new Vector3(BreakEgg.transform.position.x - 1, BreakEgg.transform.position.y, BreakEgg.transform.position.z);
                spawnWhiteBrokenEgg.SetActive(true);
                Invoke("RemoveWhiteEgg", 1f);
                audioplay.PlayBreakEgg();
            }
            if (gameObject.tag == "Gold Egg")
            {
                goldbrokenEgg      = GameObject.Find("GoldBroken").GetComponent <ObjectPooler>();
                spawnGoldBrokenEgg = goldbrokenEgg.GetPooledObject();
                spawnGoldBrokenEgg.transform.position = new Vector3(BreakEgg.transform.position.x - 1, BreakEgg.transform.position.y, BreakEgg.transform.position.z);
                spawnGoldBrokenEgg.SetActive(true);
                Invoke("RemoveGoldEgg", 1f);
                audioplay.PlayBreakEgg();
            }
            if (gameObject.tag == "Red Egg")
            {
                redbrokenEgg      = GameObject.Find("RedBroken").GetComponent <ObjectPooler>();
                spawnRedBrokenEgg = redbrokenEgg.GetPooledObject();
                spawnRedBrokenEgg.transform.position = new Vector3(BreakEgg.transform.position.x - 1, BreakEgg.transform.position.y, BreakEgg.transform.position.z);
                spawnRedBrokenEgg.SetActive(true);
                Invoke("RemoveRedEgg", 1f);
                audioplay.PlayBreakEgg();
            }
            if (gameObject.tag == "Blue Egg")
            {
                bluebrokenEgg      = GameObject.Find("BlueBroken").GetComponent <ObjectPooler>();
                spawnBlueBrokenEgg = bluebrokenEgg.GetPooledObject();
                spawnBlueBrokenEgg.transform.position = new Vector3(BreakEgg.transform.position.x - 1, BreakEgg.transform.position.y, BreakEgg.transform.position.z);
                spawnBlueBrokenEgg.SetActive(true);
                Invoke("RemoveBlueEgg", 1f);
                audioplay.PlayBreakEgg();
            }
            if (gameObject.tag == "Rotten Egg")
            {
                rottenbrokenEgg      = GameObject.Find("RottenBroken").GetComponent <ObjectPooler>();
                spawnRottenBrokenEgg = rottenbrokenEgg.GetPooledObject();
                spawnRottenBrokenEgg.transform.position = new Vector3(BreakEgg.transform.position.x - 1, BreakEgg.transform.position.y, BreakEgg.transform.position.z);
                spawnRottenBrokenEgg.SetActive(true);
                Invoke("RemoveRottenEgg", 1f);
                audioplay.PlayBreakEgg();
            }
        }
    }
コード例 #25
0
 private void Start()
 {
     pooler = ObjectPooler.instance;
     Invoke("DestroyProjectile", lifeTime);
 }
コード例 #26
0
 private void Awake()
 {
     instance = this;
 }
コード例 #27
0
 private void Start()
 {
     objectPooler = ObjectPooler.instance;
 }
コード例 #28
0
        public override GameObject SpawnProjectile(Vector3 spawnPosition, int projectileIndex, int totalProjectiles,
                                                   bool triggerObjectActivation = true)
        {
            /// we get the next object in the pool and make sure it's not null
            GameObject nextGameObject = ObjectPooler.GetPooledGameObject();

            // mandatory checks
            if (nextGameObject == null)
            {
                return(null);
            }
            if (nextGameObject.GetComponent <MMPoolableObject>() == null)
            {
                throw new Exception(gameObject.name + " is trying to spawn objects that don't have a PoolableObject component.");
            }
            // we position the object
            nextGameObject.transform.position = spawnPosition;
            // we set its direction

            Projectile projectile = nextGameObject.GetComponent <Projectile>();

            if (projectile != null)
            {
                projectile.SetDamage((int)(DamageCaused * _damageMultiplier));
                projectile.SetWeapon(this);
                if (Owner != null)
                {
                    projectile.SetOwner(Owner.gameObject);
                }
            }
            // we activate the object
            nextGameObject.gameObject.SetActive(true);


            if (projectile != null)
            {
                if (RandomSpread)
                {
                    _randomSpreadDirection.x = UnityEngine.Random.Range(-Spread.x, Spread.x);
                    _randomSpreadDirection.y = UnityEngine.Random.Range(-Spread.y, Spread.y);
                    _randomSpreadDirection.z = UnityEngine.Random.Range(-Spread.z, Spread.z);
                }
                else
                {
                    if (totalProjectiles > 1)
                    {
                        _randomSpreadDirection.x = MMMaths.Remap(projectileIndex, 0, totalProjectiles - 1, -Spread.x, Spread.x);
                        _randomSpreadDirection.y = MMMaths.Remap(projectileIndex, 0, totalProjectiles - 1, -Spread.y, Spread.y);
                        _randomSpreadDirection.z = MMMaths.Remap(projectileIndex, 0, totalProjectiles - 1, -Spread.z, Spread.z);
                    }
                    else
                    {
                        _randomSpreadDirection = Vector3.zero;
                    }
                }

                Quaternion spread = Quaternion.Euler(_randomSpreadDirection);
                projectile.SetDirection(spread * transform.right * (Flipped ? -1 : 1), transform.rotation, Owner.IsFacingRight);
                if (RotateWeaponOnSpread)
                {
                    this.transform.rotation = this.transform.rotation * spread;
                }
            }

            if (triggerObjectActivation)
            {
                if (nextGameObject.GetComponent <MMPoolableObject>() != null)
                {
                    nextGameObject.GetComponent <MMPoolableObject>().TriggerOnSpawnComplete();
                }
            }

            return(nextGameObject);
        }
コード例 #29
0
 void Start()
 {
     pooler = ObjectPooler.instance;
 }
コード例 #30
0
 void Start()
 {
     objPooler = gameObject.GetComponent <ObjectPooler>();
 }
コード例 #31
0
 private void Start()
 {
     objectPooler       = ObjectPooler.Instance;
     destroyTimeCounter = destroyTime;
     destroyTrigger     = GameObject.Find("Object Destroyer").transform;
 }
コード例 #32
0
 void Awake()
 {
     opInstance = this;
 }
コード例 #33
0
    public override IEnumerator StartSpell()
    {
        const int   NUM_IN_RING         = 14;
        const int   NUM_RINGS           = 4;
        const float BULLET_ACCELERATION = 0.8f;

        while (true)
        {
            ShootSFX();

            for (int i = 0; i < 6; i++)
            {
                float rot = (i % 2 == 0) ? 0 : 11.25f;
                StartCoroutine(CircleBullet("ButterflyPink", 14, 22 - i, rotation: rot));
            }

            yield return(new WaitForSeconds(0.5f));

            // "Stop" time
            Time.timeScale = FROZEN_TIME_SCALE;

            List <GameObject> bulletsTime = new List <GameObject>();
            float             lastRot     = 0f;

            for (int i = 0; i < NUM_RINGS; i++)
            {
                ShootSFX();

                GameObject ring = new GameObject("KuaniRing");
                ring.transform.position = StageController.Player.transform.position;


                foreach (Vector2 pos in Bomb.GetShapePoints(NUM_IN_RING, i * 1.3f + 6.5f, StageController.Player.transform.position.x, StageController.Player.transform.position.y))
                {
                    GameObject bullet = ObjectPooler.Spawn("KunaiPink", pos, Quaternion.identity);

                    Vector3 dir   = StageController.Player.transform.position - bullet.transform.position;
                    float   angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - 90;

                    Destroy(bullet.GetComponent <SimpleMovement>());
                    bullet.GetComponent <Rigidbody2D>().velocity = Vector2.zero;
                    bullet.transform.Rotate(0, 0, angle);
                    bullet.transform.SetParent(ring.transform);
                    bulletsTime.Add(bullet);
                }

                float r = 360 * 2f / NUM_IN_RING / NUM_IN_RING;
                ring.transform.Rotate(0, 0, lastRot + r);
                lastRot += r;

                yield return(new WaitForSeconds(0.15f * FROZEN_TIME_SCALE));
            }

            Time.timeScale = 1;

            yield return(new WaitForSeconds(0.2f));

            foreach (GameObject b in bulletsTime)
            {
                if (b.GetComponent <SimpleMovement>() != null)
                {
                    b.GetComponent <SimpleMovement>().UpdateAcceleration(b.transform.up.x * BULLET_ACCELERATION, b.transform.up.y * BULLET_ACCELERATION);
                }
                else
                {
                    b.AddComponent <SimpleMovement>().UpdateAcceleration(b.transform.up.x * BULLET_ACCELERATION, b.transform.up.y * BULLET_ACCELERATION);
                }
            }

            switch (Random.Range(0, 4))
            {
            case 0:
                User.GoToWaypoint(StageController.Stage.Waypoints.TOP_LEFT);
                break;

            case 1:
                User.GoToWaypoint(StageController.Stage.Waypoints.TOP_RIGHT);
                break;

            case 2:
                User.GoToWaypoint(StageController.Stage.Waypoints.TOP_CENTER);
                break;
            }

            yield return(new WaitForSeconds(3.0f));
        }
    }
コード例 #34
0
 private void Awake()
 {
     _current = this;
 }
コード例 #35
0
ファイル: AudioManager.cs プロジェクト: Broghain/GTO7
    // Use this for initialization
    void Start()
    {
        effectsSoundPool = GetComponent<ObjectPooler>();

        soundVolume = PlayerPrefs.GetFloat("SoundVolume", 0.5f);
        musicVolume = PlayerPrefs.GetFloat("MusicVolume", 0.5f);
        musicSource.volume = musicVolume;
    }
コード例 #36
0
ファイル: WaveSpawner.cs プロジェクト: rakibj/Saving-Neo
 void Start()
 {
     waveCountDown = firstWaveWaitTime;
     objectpooler  = ObjectPooler.instance;
 }
コード例 #37
0
ファイル: ObjectPooler.cs プロジェクト: Alevsa/Starscape
 void Awake()
 {
     Current = this;
 }
コード例 #38
0
ファイル: Swarmspawner.cs プロジェクト: Broghain/GTO7
 public void SetPool(ObjectPooler pool)
 {
     objectPool = pool;
 }
コード例 #39
0
ファイル: WeaponController.cs プロジェクト: Broghain/GTO7
    // Use this for initialization
    void Start()
    {
        projectileTimer = projectileInterval;

        objectPooler = GetComponent<ObjectPooler>();
    }
コード例 #40
0
 void Awake()
 {
     Instance = this;
     BulletList = new List<GameObject>();
     PopulateLists();
 }
コード例 #41
0
 private void Awake()
 {
     fish         = GetComponent <Fish>();
     dropGold     = GetComponent <DropGold>();
     objectPooler = ObjectPooler.Instance;
 }
コード例 #42
0
    /// <summary>
    /// Initializes fish list and spawn volumes
    /// </summary>
    void Start()
    {
        fishes = new List<GameObject>();
        player = GameObject.Find("Player").transform;
        pool = ObjectPooler.current;
        numberOfTypes = pool.PooledObjectCount;
        colliderCount = colliders.Length;
        disabled = new bool[colliderCount];
        initialized = new bool[colliderCount];
        maxDistanceSquared = maxDistance * maxDistance;
        Reset();

        #if UNITY_EDITOR
            this.ValidateInputs();
        #endif
    }
コード例 #43
0
 void Start()
 {
     objectPooler      = ObjectPooler.Instance;
     rb.freezeRotation = true;
 }
コード例 #44
0
 private void Start()
 {
     objPooler = ObjectPooler.Instance;
     camMove   = CameraMovement.Instance;
 }
コード例 #45
0
    public override IEnumerator StartSpell()
    {
        while (User.IsMoving())
        {
            yield return(new WaitForSeconds(0.0001f));
        }

        StageController.AudioManager.PlaySFX(Alert, 0.9f);

        const int      MAX_LVL         = 5;
        const float    BORDER_SPEED    = 20;
        List <Vector2> bulletLocations = new List <Vector2>();

        for (int level = 0; level < MAX_LVL; level++)
        {
            for (int x = -14; x <= 14; x++)
            {
                for (int y = -3; y <= 23; y++)
                {
                    if ((x % 2 == 0 && y % 2 == 0) || (Mathf.Abs(x % 2) == 1 && Mathf.Abs(y % 2) == 1))
                    {
                        continue;
                    }

                    bulletLocations.Add(new Vector2(x, y));
                }
            }

            int c = 0;

            StageController.AudioManager.PlaySFX(BigShot, 0.6f);
            StageController.AudioManager.PlaySFX(BigShotEcho, 0.6f);

            foreach (Vector2 pos in bulletLocations)
            {
                if (Random.Range(0, 9) < 5)
                {
                    if (c++ % 35 == 0)
                    {
                        ShootSFX();
                    }
                    StartCoroutine(WarnSpawn(pos, level));
                    yield return(new WaitForSeconds(0.0005f));
                }
            }

            bulletLocations.Clear();

            while (bulletSpawns > 0)
            {
                yield return(new WaitForSeconds(0.0001f));
            }

            for (int i = 0; i < 20; i++)
            {
                if (i % 2 == 0)
                {
                    ShootSFX();
                }

                GameObject bullet  = ObjectPooler.Spawn("BubbleGreen", new Vector3(-13.5f, -1.5f, 0), Quaternion.identity);
                GameObject bullet2 = ObjectPooler.Spawn("BubbleGreen", new Vector3(-13.5f, -1.5f, 0), Quaternion.identity);
                GameObject bullet3 = ObjectPooler.Spawn("BubbleGreen", new Vector3(12.5f, 21.5f, 0), Quaternion.identity);
                GameObject bullet4 = ObjectPooler.Spawn("BubbleGreen", new Vector3(12.5f, 21.5f, 0), Quaternion.identity);

                bullet.transform.localScale  = new Vector3(3.5f, 3.5f, 1);
                bullet2.transform.localScale = new Vector3(3.5f, 3.5f, 1);
                bullet3.transform.localScale = new Vector3(3.5f, 3.5f, 1);
                bullet4.transform.localScale = new Vector3(3.5f, 3.5f, 1);

                bullet.GetComponent <Rigidbody2D>().velocity  = new Vector2(0, BORDER_SPEED);
                bullet2.GetComponent <Rigidbody2D>().velocity = new Vector2(BORDER_SPEED, 0);
                bullet3.GetComponent <Rigidbody2D>().velocity = new Vector2(0, -BORDER_SPEED);
                bullet4.GetComponent <Rigidbody2D>().velocity = new Vector2(-BORDER_SPEED, 0);

                bullet.GetComponent <Rigidbody2D>().angularVelocity  = Random.Range(90.0f, 110.0f);
                bullet2.GetComponent <Rigidbody2D>().angularVelocity = Random.Range(90.0f, 110.0f);
                bullet3.GetComponent <Rigidbody2D>().angularVelocity = Random.Range(90.0f, 110.0f);
                bullet4.GetComponent <Rigidbody2D>().angularVelocity = Random.Range(90.0f, 110.0f);

                yield return(new WaitForSeconds(0.05f));
            }

            yield return(new WaitForSeconds(1.0f));

            StageController.AudioManager.PlaySFX(Boon, 0.6f);

            foreach (GameObject bullet in Bullets)
            {
                Vector2        dir = (StageController.Player.transform.position - bullet.transform.position).normalized * 1;
                SimpleMovement sm  = bullet.GetComponent <SimpleMovement>();

                sm.UpdateAcceleration(dir.x, dir.y);
            }

            yield return(new WaitForSeconds(10.0f - level));
        }
    }
コード例 #46
0
 // Start is called before the first frame update
 #region Unity Callbacks
 void Start()
 {
     objectPooler = ObjectPooler.SharedInstance;
     poIndex      = objectPooler.AddObject(hitFX, 1, true);
     audioSource  = GetComponent <AudioSource>();
 }
コード例 #47
0
 void Awake()
 {
     instance = this;
 }
コード例 #48
0
    // Start is called before the first frame update
    void Start()
    {
        startY           = YLocation(PlayerInformation.selectLevel);
        noteObjectPooler = gameObject.GetComponent <ObjectPooler>(); // 초기화

        // 텍스트에서 비트정보를 읽는다
        TextAsset    textAsset = Resources.Load <TextAsset>("Beats/" + PlayerInformation.selectedMusic);
        StreamReader reader;

        // textAsset을 얻지 못하면 사용자가 추가하거나 다운 받은것이므로 내부폴더에서 가져온다.
        if (textAsset == null)
        {
            Debug.Log("textAsset is Null");
            string txtFilePath = Application.persistentDataPath + Path.DirectorySeparatorChar + "beats" + Path.DirectorySeparatorChar + PlayerInformation.selectedMusic + ".txt";
            reader = new StreamReader(txtFilePath);
        }
        else
        {
            // StringReader reader = new StringReader(textAsset.text);
            // Resources에 있는 txt파일을 streamReader로 읽기 위해서는 MemoryStream을 이용한다.
            MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(textAsset.text));
            reader = new StreamReader(ms);
        }

        // 첫번째 적힌 곡 이름을 읽는다
        musicTitle = reader.ReadLine();
        Debug.Log(musicTitle);
        // 두번째 아티스트를 읽는다
        musicArtist = reader.ReadLine();
        Debug.Log(musicArtist);
        // 세번째 줄에 적힌 비트 정보를 읽는다
        string beatInformation = reader.ReadLine();

        bpm        = Convert.ToInt32(beatInformation.Split(' ')[0]);
        divider    = Convert.ToInt32(beatInformation.Split(' ')[1]);
        startPoint = (float)Convert.ToDouble(beatInformation.Split(' ')[2]);

        // 1초마다 떨어지는 비트 개수
        // 만약 txt 파일의 divider 값이 크면 1초에 생성되는 노트수가
        // 적어진다.
        beatCount = (float)bpm / divider;
        // 비트가 떨어지는 간격을 계산한다.(노트사이의 간격 시간임)
        beatInterval = 1 / beatCount;
        // 각 비트들이 떨어지는 위치 및 시간정보(4번째 줄부터)
        string line;

        //while ((line = reader.ReadLine()) != null)
        //{
        //    // 노트를 생성
        //    // 먼저 떨어지는 노트의 인덱스를 구하고
        //    // 언제 떨어지는 구해서 매개변수로 전달
        //    Note note = new Note(
        //        Convert.ToInt32(line.Split(' ')[0]) + 1,
        //        Convert.ToInt32(line.Split(' ')[1])
        //    );
        //    notes.Add(note);
        //}

        while ((line = reader.ReadLine()) != null)
        {
            // 노트를 생성
            // 먼저 떨어지는 노트의 인덱스를 구하고
            // 언제 떨어지는 구해서 매개변수로 전달
            Note2 note = new Note2(
                Convert.ToInt32(line.Split(' ')[0]) + 1,
                Convert.ToSingle(line.Split(' ')[1])
                );
            notes2.Add(note);
        }

        // 모든 노트를 정해진 시간에 출발하도록
        // 코루틴으로
        //for (int i = 0; i <notes.Count; i++)
        //{
        //    StartCoroutine(AwaitMakeNote(notes[i]));
        //}

        // 모든 노트를 정해진 시간에 출발하도록
        // 코루틴으로
        //for (int i = 0; i < notes2.Count; i++)
        //{
        //    StartCoroutine(AwaitMakeNote(notes[i]));
        //}

        StartCoroutine(StartMakeNote(notes2));

        // 마지막 노트를 기준으로 게임 종료 함수를 부른다.
        StartCoroutine(AwaitGameResult2(notes2[notes2.Count - 1].order));
    }
コード例 #49
0
ファイル: shootWithinRange.cs プロジェクト: pokeimon/E-Sheep
 void Awake()
 {
     player = FindObjectOfType<PlayerManager> ();
     shotCounter = waitBTWShoot;
     objectPooler = GameObject.Find("SkeletonBoneObjectPool").GetComponent<ObjectPooler>();
 }
コード例 #50
0
 private void Awake()
 {
     // Setting the singleton instance to the ObjectPooler.
     Instance = this;
 }
コード例 #51
0
 void Awake()
 {
     instance = this;
 }
コード例 #52
0
 // Start is called before the first frame update
 void Start()
 {
     objectPooler = ObjectPooler.Instance;
     StartCoroutine(spawnRoutine());
 }
コード例 #53
0
    //public Animator theAnimator;
    void Start()
    {
        bulletPools = GameObject.Find ("MissilePooler").GetComponent<ObjectPooler> ();

        //theAnimator = GetComponentInChildren<Animator> ();
    }
コード例 #54
0
 // Start is called before the first frame update
 void Start()
 {
     noteObjectPooler = gameObject.GetComponent <ObjectPooler>(); // 초기화
     // Debug.Log(noteObjectPooler);
     // 노트 생성
 }
コード例 #55
0
 private void Awake()
 {
     SharedInstance = this;
 }
コード例 #56
0
 // Use this for initialization
 void Start()
 {
     playerStats  = GetComponent <PlayerStats>();
     objectPooler = ObjectPooler.Instance;
 }
コード例 #57
0
 void Start()
 {
     DrillUPG = GetComponent<DrillUpgrades>();
     bulletPools = GameObject.Find (poolName).GetComponent<ObjectPooler> ();
 }
コード例 #58
0
 void Start()
 {
     elapsedTime  = 0;
     objectPooler = ObjectPooler.Instance;
 }
コード例 #59
0
ファイル: ObjectPooler.cs プロジェクト: kimyousee/Rhythm
 void Awake()
 {
     current = this;
 }
コード例 #60
0
 private void Start()
 {
     objectPooler = ObjectPooler.Instance;
     duplicate    = rnd;
 }