コード例 #1
0
        /// <summary>
        /// Receive and handle events
        /// </summary>
        public void HandleEvents(byte eventCode, object content, int senderid)
        {
            byte[] data;


            if (eventCode == CreateNetworkedBuilding.MSG)
            {
                data = (byte[])content;
                CreateNetworkedBuilding evnt = CreateNetworkedBuilding.Deserialize(data);

                if (evnt != null)
                {
                    CreateNetworkBuildingEvent(evnt);
                }
            }
            else if (eventCode == UpdateNetworkedBuilding.MSG)
            {
                data = (byte[])content;
                UpdateNetworkedBuilding evnt = UpdateNetworkedBuilding.Deserialize(data);

                if (evnt != null)
                {
                    UpdateNetworkedBuildingEvent(evnt);
                }
            }
        }
コード例 #2
0
        protected virtual void OnHealthChanged()
        {
            var evnt = new UpdateNetworkedBuilding();

            evnt.buildingUID = networkedID;
            evnt.health      = health;
            evnt.SendToServer();
        }
コード例 #3
0
        public override void DestroyBuilding(BaseBuilding _building, RaycastHit hit)
        {
            PhotonCloudBuilding building = (PhotonCloudBuilding)_building;

            if (building == null)
            {
                base.DestroyBuilding(building, hit);
                return;
            }

            var evnt = new UpdateNetworkedBuilding();

            evnt.buildingUID = building.networkedID;
            evnt.health      = 0;
            evnt.SendToServer();
        }
コード例 #4
0
        /// <summary>
        /// Update the entity
        /// </summary>
        /// <param name="data">data</param>
        public static void UpdateEntity(UpdateNetworkedBuilding data)
        {
            int id       = data.buildingUID;
            var building = GetEntity(id);

            if (building != null)
            {
                building.AssingNetworkedHealth(data.health);

                if (PhotonNetwork.isMasterClient)
                {
                    data             = new UpdateNetworkedBuilding();
                    data.buildingUID = id;
                    data.Send();
                }
            }
        }
コード例 #5
0
 /// <summary>
 /// Called when the UpdateNetworkedBuildingEvent is called
 /// </summary>
 /// <param name="evnt">the event data</param>
 public void UpdateNetworkedBuildingEvent(UpdateNetworkedBuilding evnt)
 {
     UpdateEntity(evnt);
 }