Exemple #1
0
        public void SendSpawn(DEntity entity)
        {
            SSpawn msg = new SSpawn();

            msg.entity = entity;
            msg.isMine = entity.entityID == entityId;
            connection.Send(msg);
        }
Exemple #2
0
        public override void OnReSpawn()
        {
            SSpawn spawn = new SSpawn();

            Reset();
            spawn.isMine = false;
            spawn.entity = ToDEntity();
            Broadcast(spawn);
        }
Exemple #3
0
        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);
                    }
                }
            }
        }
Exemple #5
0
        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;
                    }
                }
            }
        }