public virtual void OnSummoned(Packets.PACKET_UNIT_SUMMON_NTF pkt) { playerSide = GameManager.GetPlayerSide(pkt._playerSide); unitName = pkt._unitName; unitId = pkt._unitNum; hp = pkt._hp; //다른 편 유닛인 경우 = 위쪽에 있는 유닛인 경우 if (playerSide != GameManager.playerSide) { transform.eulerAngles = new Vector3( transform.eulerAngles.x, transform.eulerAngles.y + 180.0f, transform.eulerAngles.z); } gameObject.transform.position = new Vector3( pkt._posX * CalculateManager.toClientValue, 0.0f, pkt._posY * CalculateManager.toClientValue); //unit의 위치를 정하고나서 호출한다 if (hpBar) { hpBar.OnSummoned(hp); } ChangeState <UnitStateSummoning>(); }
public void SummonUnit(Packets.PACKET_UNIT_SUMMON_NTF pkt) { if (m_units.ContainsKey(pkt._unitNum) == true) { Debug.Log("Unit number is overlapped"); return; } var unit = m_poolManager.GetUnit(pkt._unitName); if (unit == null) { Debug.Log("PoolManager create unit failed"); return; } unit.particlePlayer = m_particleManager; unit.OnSummoned(pkt); m_units.Add(pkt._unitNum, unit); }
void Start() { var pm = gameObject.AddComponent <ParticleManager>(); GameManager.playerSide = PlayerSide.BOTTOM; sword.ManualInit(); bow.ManualInit(); nexus.ManualInit(); king.ManualInit(); goblin.ManualInit(); prince.ManualInit(); sparky.ManualInit(); var pkt = new Packets.PACKET_UNIT_SUMMON_NTF(); pkt._hp = 100; pkt._playerSide = false; pkt._unitName = "testUnit"; pkt._unitNum = 100; swordU.particlePlayer = pm; swordU.OnSummoned(pkt); bowU.particlePlayer = pm; bowU.OnSummoned(pkt); nexusU.OnSummoned(pkt); kingU.OnSummoned(pkt); goblinU.particlePlayer = pm; goblinU.OnSummoned(pkt); princeU.particlePlayer = pm; princeU.OnSummoned(pkt); sparkyU.particlePlayer = pm; sparkyU.OnSummoned(pkt); }