void Start()
 {
     Instance = this;
     InitToggleMethod();
     ToggleAuthoritySet();
     SceneEvents.FullViewStateChange += OnFullViewChange;
 }
Ejemplo n.º 2
0
    public void PersonEnter()
    {
        DevSubsystemManage fpsManager = DevSubsystemManage.Instance;

        if (fpsManager.IsFPSInBuilding())
        {
            RoamManage.Instance.EntranceIndoor(true);
        }
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 修改设备信息
    /// </summary>
    private void ModifyDevInfo()
    {
        DevSubsystemManage manager = DevSubsystemManage.Instance;

        if (manager && manager.DevEditorToggle.isOn)
        {
            ClearSelection();
            DeviceEditUIManager.Instacne.Show(this);
        }
    }
 void OnTriggerExit(Collider other)
 {
     if (other.transform.GetComponent <CharacterController>() != null && other.gameObject.layer != LayerMask.NameToLayer("Person"))
     {
         IsFPSEnter = false;
         DevSubsystemManage fpsManager = DevSubsystemManage.Instance;
         if (fpsManager)
         {
             fpsManager.SetTriggerBuilding(this, false);
         }
         RoamManage.Instance.EntranceIndoor(false);
         //ShowBuildingDev(false);
         if (fpsManager && !fpsManager.IsFPSInBuilding())
         {
             RoamManage.Instance.SetLight(false);                                              //人不在建筑中,才关闭灯光
         }
     }
 }
 void OnTriggerEnter(Collider other)
 {
     //定位人员的Layer是Person,漫游人员没有设置是Default
     if (other.transform.GetComponent <CharacterController>() != null && other.gameObject.layer != LayerMask.NameToLayer("Person"))
     {
         if (BuildingTopColliderManage.IsInBuildingRoof)
         {
             return;                                            //处于楼顶,不算楼内
         }
         DevSubsystemManage fpsManager = DevSubsystemManage.Instance;
         if (fpsManager)
         {
             fpsManager.SetTriggerBuilding(this, true);
         }
         RoamManage.Instance.EntranceIndoor(true);
         ShowBuildingDev(true);
         IsFPSEnter = true;
     }
 }
Ejemplo n.º 6
0
    private void SetBuildingState(GameObject person, bool isEnter)
    {
        Debug.Log("DoorAccessItem.SetBuildingState isEnter:" + isEnter);
        if (doorBuilding == null)
        {
            doorBuilding = transform.GetComponentInParent <BuildingController>();
        }
        DevSubsystemManage manager = DevSubsystemManage.Instance;

        if (doorBuilding == null || manager == null)
        {
            return;
        }
        if (isEnter)//进入门的范围
        {
            BuildingBox box = doorBuilding.GetComponent <BuildingBox>();
            if (box != null)
            {
                box.LoadBuilding(dep =>
                {
                    LoadBuildingDev(doorBuilding);
                });
            }
            else
            {
                LoadBuildingDev(doorBuilding);
            }
        }
        else//离开门的范围
        {
            var isExist = manager.IsBuildingExist(doorBuilding);
            if (!isExist)
            {
                DevSubsystemManage.Instance.SetTriggerBuilding(doorBuilding, false);
                //doorBuilding.ShowBuildingDev(false);
                RoamManage.Instance.SetLight(false);
            }
        }
    }