void CreateBase(string baseName) { // 그라운드 생성. GameObject basePrefab = PrefabsManager.GetInstance().dicBasePrefabs[baseName]; goBase = Instantiate(basePrefab); }
public BasicProjectile CreateProjectile(ProjectileType type, bool _isEnemy, int damage, Vector3 startPos, BaseElementObject target, GameElement bulletType) { BasicProjectile bp = PrefabsManager.SpawnProjectile(type); bp = GameObject.Instantiate(bp); if (type == ProjectileType.Fire_Hero) { bp.Init(_isEnemy, damage, startPos, target.transform.position + new Vector3(Random.Range(-0.5f, 0.5f), Random.Range(-0.5f, 0.5f), Random.Range(-0.5f, 0.5f)) , target, bulletType); bp.isChaseBullet = false; } else { if (type == ProjectileType.Water_Hero) { bp.Init(_isEnemy, damage, startPos, target.transform.position, target, bulletType); } else { bp.Init(_isEnemy, damage, startPos, target.transform.position, target, bulletType); } } projectileList.Add(bp); return(bp); }
private void Awake() { if (instance == null) { instance = FindObjectOfType <Directors>(); } else { if (instance.gameObject == null) { instance = FindObjectOfType <Directors>(); } else { Destroy(this.gameObject); return; } } DontDestroyOnLoad(this.gameObject); battleState = BattleState.Prepare; PrefabsManager.ClearPool(); PrepareManagers(); InitManagers(); }
public static GameStacksMeta Generate(PrefabsManager manager, Difficulty difficulty) { Debug.Log(string.Format("<color=green>{0}</color>", difficulty)); StackDifficulty stackDifficulty = StackDifficulty.Get(difficulty); int size = Random.Range(stackDifficulty.MinCips, stackDifficulty.MaxChips + 1); int flips = Random.Range((int)(size / 2), (int)(size * 1.5f)); GameGeneratorMeta meta = GenerateGameGeneratorMeta(size, flips, stackDifficulty.AllowCrushable, manager); GameStacksMeta pair = CreateFromGameGeneratorMeta(meta, manager); while (pair.start.Matches(pair.target)) { Debug.Log("<color=red>Need to generate another stack since the target matches the start.</color>"); meta = GenerateGameGeneratorMeta(size, flips, stackDifficulty.AllowCrushable, manager); pair = CreateFromGameGeneratorMeta(meta, manager); } int nFlipsAlternative = FlipsCalulator.CalculateMinFlips(pair.start, pair.target, 100, pair.nFlips); Debug.Log(string.Format("Calculated flips ({0}). Generator flips ({1})", nFlipsAlternative, pair.nFlips)); if (nFlipsAlternative < pair.nFlips) { pair.nFlips = nFlipsAlternative; } return(pair); }
// Use this for initialization void Start() { effectsManager = effectsManagerGO.GetComponent <EffectsManager> (); table = tableGO.GetComponent <Table> (); prefabsManager = prefabsManagerGO.GetComponent <PrefabsManager> (); Almighty.registerGameManager(this); }
void CreateMap() { GameObject newGo = new GameObject(); newGo.name = this.mapData.map_id.ToString(); // 그라운드를 만든다. GameObject groundPrefab = PrefabsManager.GetInstance().dicGroundPrefabs[mapData.groundName]; Instantiate(groundPrefab).transform.parent = newGo.transform; // 환경을 배치한다. for (int i = 0; i < mapData.listEnvirnment.Count; i++) { GameObject envirGo = PrefabsManager.GetInstance().dicEnvironmentPrefabs[mapData.listEnvirnment[i].name]; Vector3 pos = new Vector3(mapData.listEnvirnment[i].x, mapData.listEnvirnment[i].y, 0); Instantiate(envirGo, pos, Quaternion.identity).transform.parent = newGo.transform; } // 그리드를 생성한다. grid.gridWorldSize = new Vector2(mapData.grid_x, mapData.grid_y); grid.nodeRadius = mapData.node_radius; grid.CreateGrid(); }
void Start() { stateInformation = new StateInformation(); interfaceManager = InterfaceManager.GetInstance(); prefabsManager = PrefabsManager.GetInstance(); levelController = LevelController.instance; levelDataManager = LevelDataManager.GetInstance(); startupModule = (IStartupModule)StartupModule.GetInstance(); objectDeletionModule = (IObjectDeletionModule)ObjectDeletionModule.GetInstance(); objectPlacementModule = (IObjectPlacementModule)ObjectPlacementModule.GetInstance(); objectEditingModule = (IObjectEditingModule)ObjectEditingModule.GetInstance(); objectInformationModule = (IObjectInformationModule)ObjectInformationModule.GetInstance(); GameObject leftMouseButtonObject = Instantiate(mouseButtonPrefab, transform); leftMouseButton = leftMouseButtonObject.GetComponent <MouseButton>(); GameObject rightMouseButtonObject = Instantiate(mouseButtonPrefab, transform); rightMouseButton = rightMouseButtonObject.GetComponent <MouseButton>(); leftMouseButton.Setup(0, mouseButtonLeftPressedTime); rightMouseButton.Setup(1, cameraDragTime); prefabsManager.AddPrefabs(); interfaceManager.SetupUI(prefabsManager.GetPrefabTable()); InitializeLevel(initialLevelWidth, initialLevelHeight); SetupLevel(); }
private void Initialize() { effectPoolTr = new GameObject().transform; effectPoolTr.gameObject.name = "EffectPool"; effectPoolTr.parent = transform; // 프리펩 매니저에 있는 이펙트 프리펩을 가져온다. var newDicEffect = PrefabsManager.GetInstance().dicEffectPrefabs; // 프리펩들을 돌면서 인스턴스를 생성한다. foreach (KeyValuePair <string, GameObject> e in newDicEffect) { // 같은 이름의 이펙트가 없다면. if (!this.dicEffect.ContainsKey(e.Key)) { // 리스트를 생성하고. this.dicEffect.Add(e.Key, new Stack <GameObject>()); // 리스트에 풀을 생성한다. for (int i = 0; i < effectCnt; i++) { GameObject effect = GameObject.Instantiate(e.Value); effect.transform.parent = effectPoolTr; effect.SetActive(false); this.dicEffect[e.Key].Push(effect); } } } }
void Awake() { instance = this; heavyWeapon = new Weapon(30, WeaponType.heavy, heavyWeaponPrefab); regularWeapon = new Weapon(int.MaxValue, WeaponType.regular, regularWeaponPrefab, true); }
protected virtual void DeadEffect() { for (int i = 0; i < 9; i++) { Corpse corpse = PrefabsManager.SpawnCorpse(GetCorpseType()); corpse.Init(transform.position); } }
void Awake() { prefabsManager = GameObject.FindGameObjectWithTag(Tags.PREFABS_MANAGER).GetComponent <PrefabsManager>(); observable = new FCObservable(); movers = new List <Mover> (); scaler = GetComponent <Scaler> (); scaler.AddListener(this, FCEvent.END); }
void CreateGround(MapData data) { // 그라운드 생성. GameObject groundPrefab = PrefabsManager.GetInstance().dicGroundPrefabs[data.groundName]; var go = Instantiate(groundPrefab, new Vector3(0, 0, 0), Quaternion.identity); go.transform.parent = mapTr; }
public override void Show(Room room) { view = GameObject.Instantiate ( PrefabsManager.LoadPrefab(PrefabsManager.PrefabsList.DestroyEnemyAbility) ).GetComponent <DestroyEnemyView>(); view.ShowView(room.WorldPosition); }
private static int[] GenerateChipIDs(int size, PrefabsManager manager) { int[] chipIDs = new int[size]; for (int i = 0; i < size; i++) { chipIDs [i] = manager.GetRandomChipId(); } return(chipIDs); }
public override void Show(Room room) { view = GameObject.Instantiate ( PrefabsManager.LoadPrefab(PrefabsManager.PrefabsList.DefaultHeal) ).GetComponent <HealView>(); view.ShowView(healValue, room.WorldPosition); }
public static PrefabsManager GetInstance() { if (PrefabsManager.instance == null) { PrefabsManager.instance = new PrefabsManager(); } return(PrefabsManager.instance); }
public override void Show(Room room) { view = GameObject.Instantiate ( PrefabsManager.LoadPrefab(PrefabsManager.PrefabsList.DefaultArmor) ).GetComponent <ArmorView>(); view.ShowView(countArmor, room.WorldPosition); }
IEnumerator CreateEffectImpl(string name, Vector2 pos, float size, bool isReverse) { // 딕셔너리에 키가 있는지 확인한다. if (!this.dicEffect.ContainsKey(name)) { yield break; } // 입력받은 키의 밸류. // 즉 스택. Stack <GameObject> effects = this.dicEffect[name]; // 스택이 0이라면. // 새로 생성해서 넣어놔야 한다. if (effects.Count <= 0) { for (int i = 0; i < effectCnt; i++) { // 프리펩은 프리펩 매니저를 통해 가져온다. GameObject effect = GameObject.Instantiate(PrefabsManager.GetInstance().dicEffectPrefabs[name]); effect.transform.parent = effectPoolTr; effect.SetActive(false); effects.Push(effect); } } // 이펙트를 하나 꺼내고. // 설정한다. // 반환할 이펙트 GameObject newEffect = null; newEffect = effects.Pop(); float newSize = Mathf.Clamp(size * 1.3f, 0.8f, 4f); pos.y -= size; newEffect.transform.localScale = new Vector3(newSize, newSize, newSize); newEffect.transform.position = pos; if (isReverse) { var trParticle = newEffect.transform.Find("Particle System"); if (trParticle != null) { trParticle.localScale = new Vector3(-1, 1, 1); } } newEffect.SetActive(true); yield return(new WaitForSeconds(3)); newEffect.SetActive(false); effects.Push(newEffect); }
public override void Show(Room room) { view = GameObject.Instantiate ( PrefabsManager.LoadPrefab(PrefabsManager.PrefabsList.DefaultEnemy) ).GetComponent <CommonEnemyView>(); CurrentPosition = room; view.ShowView(Damage, room.WorldPosition); }
public void SpawnEnemy(GameElement type) { BaseElementObject creep = PrefabsManager.SpawnUnit(type, true); //set at random position, for now creep.transform.position = enemySpawnPos[Random.Range(0, enemySpawnPos.Count)].transform.position; creep.Init(this, true, currentSpawnLevel); objectList.Add(creep); creep.ChargeAtObject(RequestTarget(creep)); }
private void Awake() { gameState = GetComponent <GameStateManager>(); prefabs = GetComponent <PrefabsManager>(); uI = GetComponent <UIManager>(); serializationManager = SerializationManager.Instance; drawNumber = GetComponent <DrawNumberManager>(); sprites = GetComponent <SpritesManager>(); components = GetComponent <ComponentsManager>(); }
public virtual void Start() { if (prefabsManager == null) { prefabsManager = PrefabsManager.instance; } CreateTooltip(); player = PlayerManager.player.transform; }
void Start() { prefabsManager = PrefabsManager.instance; currentWeapon = prefabsManager.regularWeapon; currentHealth = maxHealth - 50; SubscribeChange(); }
private void SpriteInit() { for (int i = 0; i < panCount; i++) { this.mapPrefabName.Add(DataManager.GetInstance().dicMapData[this.userMapNum[i]].groundName); var groundPrefab = PrefabsManager.GetInstance().dicGroundPrefabs[mapPrefabName[i]]; var sprite = groundPrefab.GetComponentInChildren <SpriteRenderer>().sprite; this.mapSprite.Add(sprite); } }
public BaseProjectile CreateProjectile(ProjectileType type, bool _isEnemy, int _damage, Vector3 _startPos, BaseObject _attacker, Vector3 _endPos, BaseObject _target) { BaseProjectile projectile = PrefabsManager.SpawnProjectile(type); projectile.Init(type, _isEnemy, _damage); projectile.InitPosition(_startPos, _endPos); projectile.InitObjects(_attacker, _target); projectileList.Add(projectile); return(projectile); }
void Awake() { if (instance == null) { instance = this; } else { Destroy(this); } }
void CreateEnvironment(MapData data) { // 환경 생성. for (int i = 0; i < data.listEnvirnment.Count; i++) { GameObject envirGo = PrefabsManager.GetInstance().dicEnvironmentPrefabs[data.listEnvirnment[i].name]; Vector3 pos = new Vector3(data.listEnvirnment[i].x, data.listEnvirnment[i].y, 0); var go = Instantiate(envirGo, pos, Quaternion.identity); go.transform.parent = mapTr; } }
/* * 필요한 데이터를 로드한다. * 필요한 프리펩을 로드한다. */ private void Awake() { // 데이터 매니저를 생성해 놓는다. DataManager.GetInstance(); PrefabsManager.GetInstance(); // 사운드 로딩. if (YellowBean.SoundManager.Instance != null) { YellowBean.SoundManager.Instance.Init(); } }
/** * Generates a list of IDs guaranteeing that at least two different IDs exist as long * as the prefabs manager contains at least two different IDs */ private static int[] GenerateNonIdenticalChipIDs(int size, PrefabsManager manager) { if (manager.chipPrefabs.Length < 2) { throw new UnityException("Not enough chip prefabs to generate a non-identical stack"); } int[] chipIDs = GenerateChipIDs(size, manager); while (AllValuesAreTheSame(chipIDs)) { chipIDs [0] = manager.GetRandomChipId(); } return(chipIDs); }
public BaseObject SpawnUnit(ObjectType objectType) { if (objectList.Count >= GameConstant.enemySpawnCap) { return(null); } BaseObject creep = PrefabsManager.SpawnUnit(objectType); //set at random position, for now creep.transform.position = enemySpawnPos[Random.Range(0, enemySpawnPos.Count)].transform.position; creep.Init(this, true, currentSpawnLevel); objectList.Add(creep); creep.ChargeAtObject(RequestTarget(creep), false); creep.transform.parent = transform; return(creep); }
// Use this for initialization void Start() { effectsManager = effectsManagerGO.GetComponent<EffectsManager> (); table = tableGO.GetComponent<Table> (); prefabsManager = prefabsManagerGO.GetComponent<PrefabsManager> (); Almighty.registerGameManager (this); }