public bool SpawnIdContain(SpawnID spawnid) { if (spawnid == null) { Debug.Log(spawnid); return(false); } return(m_object_list.ContainsKey(spawnid.identification)); }
public void RecoverySpawn(SpawnID spawnid) { if (!SpawnIdContain(spawnid)) { Debug.LogWarning("Not RegisterSpawn GameObject"); return; } int index = m_object_list[spawnid.identification].Count; spawnid.gameObject.transform.position = new Vector3(index, 0f, 0f); m_object_list[spawnid.identification].Enqueue(spawnid.gameObject); if (spawnid.gameObject.activeInHierarchy) { spawnid.transform.SetParent(m_object_grounp[spawnid.identification].transform); } }
/// <summary> /// 注册生产对象 /// </summary> /// <param name="obj"></param> public void RegisterSpawn(SpawnID spawnid) { spawnid.identification = spawnid.GetHashCode(); if (!m_object_list.ContainsKey(spawnid.identification)) { Queue <GameObject> spawn_queue = new Queue <GameObject>(); m_object_list.Add(spawnid.identification, spawn_queue); } if (!m_object_grounp.ContainsKey(spawnid.identification)) { GameObject go = new GameObject(spawnid.identification.ToString()); go.transform.SetParent(transform); go.transform.localPosition = Vector3.down * m_object_grounp.Count; m_object_grounp.Add(spawnid.identification, go); } if (!m_ISpawnID_list.ContainsKey(spawnid.identification)) { m_ISpawnID_list.Add(spawnid.identification, spawnid.Type); } }
public override void gameObjectSetActiveOn() { base.gameObjectSetActiveOn(); int iRand = Random.Range(0, 4); SpriteRenderer _spriteRenderer = null; if (anim as CSpriteAnimation != null) { _spriteRenderer = (anim as CSpriteAnimation).getSpriteRenderer; _spriteRenderer.sprite = _iceSprite[iRand] ?? null; } _fspeed = Random.Range(_fMinspeed, _fMaxspeed); if (transform.position.x <= getTarget().gameObject.transform.position.x) { byDirNum = 0; } else if (transform.position.x >= getTarget().gameObject.transform.position.x) { byDirNum = 1; } switch (byDirNum) { case 0: eSpawnID = SpawnID.Left; break; case 1: eSpawnID = SpawnID.Right; break; } }
/// <summary> /// 返回产生的游戏对象(活动状态False) /// </summary> /// <param name="obj"></param> /// <returns></returns> public GameObject OnSpawn(SpawnID spawnid) { if (!m_object_list.ContainsKey(spawnid.identification)) { Debug.LogWarning("Not RegisterSpawn GameObject"); return(null); } int index = m_object_list[spawnid.identification].Count; GameObject newobj; if (index > 0) { newobj = m_object_list[spawnid.identification].Dequeue(); } else { newobj = Instantiate(spawnid.gameObject); newobj.GetComponent <SpawnID>().identification = spawnid.identification; } newobj.SetActive(false); return(newobj); }
public T GetType <T>(SpawnID spawnid) { var final = m_ISpawnID_list[spawnid.identification]; return((T)final); }
public void WaitRecovery(SpawnID spawnid) { spawnid.transform.SetParent(wait_recovery.transform); }
public int SpawnListCount(SpawnID spawnid) { return(m_object_list[spawnid.identification].Count); }