반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리눅스
- 안드로이드 Application Lifecycle
- 소캣(Socket)
- tcp
- 기업의 행포
- 나지보
- game
- 아이폰
- 컬렉션 프레임
- 변경된 정보
- 집 정리
- 어플
- unity
- 벨팡
- 아이패드
- php 홈디렉토리 변경방법
- 게임
- End of Darkness
- Collection Framework
- tcp네트워크
- 히오스
- 명령어
- 안드로이드
- 에셋
- TCP 네트워크 방식의 연결
- 비행기 모드
- 자바
- 나지보 특성
- 스랄 특성
- 포트(Port)
Archives
- Today
- Total
Do Something IT
[Unity] ObjectPool 본문
반응형
·미리보기 | 소스복사·
- using System.Collections;
- using System.Collections.Generic;
- /*
- * Usage
- *
- * CGameObjectPool<GameObject> monster_pool;
- * ...
- *
- * // Create monsters.
- * this.monster_pool = new CGameObjectPool<GameObject>(5, () =>
- {
- GameObject obj = new GameObject("monster");
- return obj;
- });
- ...
- // Get from pool
- GameObject obj = this.monster_pool.pop();
- ...
- // Return to pool
- this.monster_pool.push(obj);
- * */
- public class CGameObjectPool<T> where T : class
- {
- // Instance count to create.
- short count;
- public delegate T Func();
- Func create_fn;
- // Instances.
- Stack<T> objects;
- // Construct
- public CGameObjectPool(short count, Func fn)
- {
- this.count = count;
- this.create_fn = fn;
- this.objects = new Stack<T>(this.count);
- allocate();
- }
- void allocate()
- {
- for (int i=0; i<this.count; ++i)
- {
- this.objects.Push(this.create_fn());
- }
- }
- public T pop()
- {
- if (this.objects.Count <= 0)
- {
- allocate();
- }
- return this.objects.Pop();
- }
- public void push(T obj)
- {
- this.objects.Push(obj);
- }
- }
반응형
'Unity3D' 카테고리의 다른 글
Simple Observer Pattern (0) | 2015.05.11 |
---|---|
포물선정보 (0) | 2015.04.28 |
[Unity]범위내 적에게 데미지 주기 (0) | 2015.04.13 |
레퍼런스 함수에 LayerMask 할당하기 (0) | 2015.04.13 |
[Unity Ngui] Ngui 텍스쳐 마스킹 하기~ (0) | 2015.03.25 |
Comments