コード例 #1
0
        public override async UniTask Init(CancellationToken ct)
        {
            if (AttachedObject == null)
            {
                DebugLog.ToConsole($"Error - AttachedObject is null! Type:{GetType().Name}", OWML.Common.MessageType.Error);
                return;
            }

            await UniTask.WaitUntil(() => QSBWorldSync.AllObjectsAdded, cancellationToken : ct);

            InitialParent   = AttachedObject.transform.parent;
            InitialPosition = AttachedObject.transform.localPosition;
            InitialRotation = AttachedObject.transform.localRotation;
            var initialSector = AttachedObject.GetSector();

            if (initialSector != null)
            {
                InitialSector = initialSector.GetWorldObject <QSBSector>();
            }

            if (InitialParent == null)
            {
                DebugLog.ToConsole($"Warning - InitialParent of {AttachedObject.name} is null!", OWML.Common.MessageType.Warning);
            }

            if (InitialParent?.GetComponent <OWItemSocket>() != null)
            {
                var qsbObj = InitialParent.GetComponent <OWItemSocket>().GetWorldObject <QSBItemSocket>();
                InitialSocket = qsbObj;
            }

            QSBPlayerManager.OnRemovePlayer += OnPlayerLeave;
        }
コード例 #2
0
        /// <summary>
        /// use this instead of SetReferenceTransform
        /// </summary>
        public void SetReferenceSector(QSBSector sector)
        {
            if (ReferenceSector == sector)
            {
                return;
            }

            ReferenceSector = sector;
            SetReferenceTransform(sector?.Transform);
        }
コード例 #3
0
 private WorldObjectMessage CreateMessage(uint netId, QSBSector sector) => new WorldObjectMessage
 {
     AboutId  = netId,
     ObjectId = sector.ObjectId
 };
コード例 #4
0
 private void SendSector(uint id, QSBSector sector) =>
 QSBEventManager.FireEvent(EventNames.QSBSectorChange, id, sector);
コード例 #5
0
 private void Handler(uint netId, QSBSector sector) => SendEvent(CreateMessage(netId, sector));