Иконка ресурса

FREE CupboardOnMap : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using System.Collections.Generic;

namespace Oxide.Plugins
{
    // Creation date: 26-09-2020
    // Last update date: UPDATE_DATE
    [Info("Cupboard On Map", "Orange", "1.0.0")]
    [Description("https://rustworkshop.space/resources/cupboard-on-map.224/")]
    public class CupboardOnMap : RustPlugin
    {
        #region Vars

        private Dictionary<BaseEntity, VendingMachineMapMarker> markerByEntity = new Dictionary<BaseEntity, VendingMachineMapMarker>();
        private const string prefab = "assets/prefabs/deployable/vendingmachine/vending_mapmarker.prefab";

        #endregion
        
        #region Oxide Hooks

        private void Init()
        {
            Unsubscribe(nameof(OnEntitySpawned));
        }

        private void OnServerInitialized()
        {
            Subscribe(nameof(OnEntitySpawned));
            
            foreach (var entity in UnityEngine.Object.FindObjectsOfType<BuildingPrivlidge>())
            {
                OnEntitySpawned(entity);
            }
        }

        private void Unload()
        {
            foreach (var entity in markerByEntity.Values)
            {
                if (entity.IsValid() && entity.IsDestroyed == false)
                {
                    entity.Kill();
                }
            }
        } 

        private void OnEntitySpawned(BuildingPrivlidge entity)
        {
            var marker = GameManager.server.CreateEntity(prefab, entity.transform.position) as VendingMachineMapMarker;
            marker.enableSaving = false;
            var player = BasePlayer.FindByID(entity.OwnerID);
            if (player != null)
            {
                marker.markerShopName = player.Team?.teamName ?? player.displayName;
            }
            marker.SetFlag(BaseEntity.Flags.Busy, true);
            marker.Spawn();
            markerByEntity.TryAdd(entity, marker);
        }

        private void OnEntityDeath(BaseCombatEntity entity, HitInfo info)
        {
            var marker = (VendingMachineMapMarker) null;
            if (markerByEntity.TryGetValue(entity, out marker) == false)
            {
                return;
            }
            
            marker.SetFlag(BaseEntity.Flags.Busy, false);
            marker.SendNetworkUpdate();
        }

        #endregion
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху