public void SendSpawn(DEntity entity) { SSpawn msg = new SSpawn(); msg.entity = entity; msg.isMine = entity.entityID == entityId; connection.Send(msg); }
public override void OnReSpawn() { SSpawn spawn = new SSpawn(); Reset(); spawn.isMine = false; spawn.entity = ToDEntity(); Broadcast(spawn); }
public override void OnReSpawn() { //m_chaseState = ChaseState.IDLE; SSpawn spawn = new SSpawn(); Reset(); spawn.isMine = false; spawn.entity = ToDEntity(); Broadcast(spawn); Console.WriteLine("{0} reset", name); }
private void Spawn(SDayInfo dayInfo) //OLD { for (int i = 0; i < spawnInfo.Length; ++i) { SSpawn spawn = spawnInfo[i]; if ((dayInfo.day & spawn.day) != 0) { foreach (SNode n in nodes) { //spawn.carSpawner.Spawn(n.node); } } } }
private void OnRecvSpawn(IChannel channel, Message message) { SSpawn msg = message as SSpawn; GameObject go = null; if (msg.entity.type == (int)EntityType.PLAYER) { go = CloneGameObject(msg.entity.name, msg.entity.entityID); } else if (networkObjects.TryGetValue(msg.entity.name, out go)) { NetworkEntity entity = go.GetComponent <NetworkEntity>(); entity.entityId = msg.entity.entityID; if (!networkEntities.ContainsKey(entity.entityId)) { networkEntities.Add(entity.entityId, entity); } } if (go == null) { return; } // Do not use transform.position.Set(x, y, z) go.transform.position = new Vector3(msg.entity.pos.x, msg.entity.pos.y, msg.entity.pos.z); go.transform.rotation = new Quaternion(msg.entity.rot.x, msg.entity.rot.y, msg.entity.rot.z, msg.entity.rot.w); if (!msg.entity.forClone) { go.SetActive(true); } if (msg.entity.type == (int)EntityType.PLAYER || msg.entity.type == (int)EntityType.SPRITE) { Damageable damageable = go.GetComponent <Damageable>(); if (damageable == null) { return; } damageable.currentHitPoints = msg.entity.currentHP; damageable.maxHitPoints = msg.entity.maxHP; if (msg.entity.type == (int)EntityType.PLAYER) { PlayerController controller = go.GetComponent <PlayerController>(); PlayerMyController mine = go.GetComponent <PlayerMyController>(); if (controller == null || mine == null) { return; } if (msg.isMine) { thisPlayer = controller; channel.SetContent(go); controller.InitMine(); HealthUI healthUI = GameObject.FindObjectOfType <HealthUI>(); healthUI.InitUI(damageable); } else { damageable.enabled = false; mine.enabled = false; } } } }