public void ReceivePriority(int newPrioPlayer) { int myAN = PhotonNetwork.LocalPlayer.ActorNumber; if (newPrioPlayer != myAN) { // not my prio to receive return; } if (chain.Count > 0) { IChainable mostRecent = chain.Last(); if (mostRecent.ownerAN == myAN) { // they have given back to me without doing anything ResolveChain(); } else { // they have added to the chain } } else { Debug.Log("<color=teal>received prio with nothing on chain</color>"); } }
public static T BuildChain <T>(this IEnumerable <IChainable <T> > collection) { IChainable <T> first = collection.First(); IChainable <T> link = first; foreach (var nextlink in collection.Skip(1)) { link = link.SetSuccessor(nextlink); } return((T)first); }
public void SetUp() { _mockedPointsContainer = new Mock <IConnectableObjectsContainer <SlamPoint> >(); _mockedObservationsContainer = new Mock <IConnectableObjectsContainer <SlamObservation> >(); _mockedTrackedObjectsContainer = new Mock <IContainer <SlamTrackedObject> >(); _mockedLinesContainer = new Mock <IContainer <SlamLine> >(); _mockedInfinitePlanesContainer = new Mock <IContainer <SlamInfinitePlane> >(); _retranslator = new ProtobufRetranslator { Settings = new AddressesSettingsBag { Addresses = $"{Address}:{Port}" } }; _retranslator.Start(); var logger = new TestsLogger(); var pointsMapManager = new PointsMapManager(_mockedPointsContainer.Object, null); var observationsMapManager = new ObservationsMapManager(_mockedObservationsContainer.Object, null); var trackedObjsMapManager = new TrackedObjsMapManager(_mockedTrackedObjectsContainer.Object, null); var linesMapManager = new LinesMapManager(_mockedLinesContainer.Object, null); var infinitePlanesMapManager = new InfinitePlanesMapManager(_mockedInfinitePlanesContainer.Object, null); pointsMapManager.Logger = logger; observationsMapManager.Logger = logger; trackedObjsMapManager.Logger = logger; linesMapManager.Logger = logger; infinitePlanesMapManager.Logger = logger; var servicesChain = new IChainable <MapsManagerPb.MapsManagerPbBase>[] { pointsMapManager, observationsMapManager, trackedObjsMapManager, linesMapManager, infinitePlanesMapManager }.BuildChain(); GrpcEnvironment.SetLogger(new TestsLogger()); _grpcServer = new Server { Services = { MapsManagerPb.BindService(servicesChain), }, Ports = { new ServerPort(Address, Port, ServerCredentials.Insecure), }, }; _grpcServer.Start(); }
private void OnCollisionEnter(Collision other) { IChainable _chainable = other.gameObject.GetComponent <IChainable>(); if (_chainable != null && !taked) { chainable = _chainable; taked = true; Debug.Log(chainable.transform.name + " Chained"); chainable.transform.SetParent(transform); StopCoroutine(Move()); chainable.CurrentChainableState = ChainableState.chained; translateVector = Vector3.zero; } }
public void ResetHook(List <HookableObject> newList) { if (newList.Count > 0) { if (newList[0] is IChainable) { Rigidbody2D r = rb; foreach (HookableObject so in newList) { IChainable chain = so as IChainable; chain.Chain(r); foreach (Transform t in so.transform) { if (t.tag.Equals("Hook")) { r = t.GetComponent <Rigidbody2D>(); } } } } } hookedItems = newList; }
public override void Start() { AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true); AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", true); GrpcEnvironment.SetLogger(new UnityLogger()); Converter?.SetInitTRS(Vector3.zero, Quaternion.identity); var servicesChain = new IChainable <MapsManagerPb.MapsManagerPbBase>[] { new PointsMapManager(_containerTree.Points, Converter), new ObservationsMapManager(_containerTree.Observations, Converter), new TrackedObjsMapManager(_containerTree.TrackedObjs, Converter), new LinesMapManager(_containerTree.Lines, Converter), new InfinitePlanesMapManager(_containerTree.InfinitePlanes, Converter) }.BuildChain(); _containerTree.DisplayName = $"From gRPC at port {TypedSettings.Port}"; #if UNITY_EDITOR || UNITY_STANDALONE Debug.Log($"{TypedSettings.IPAddress}:{TypedSettings.Port}"); #endif _server = new GrpcServer() { Services = { MapsManagerPb.BindService(servicesChain), SceneManagerPb.BindService(new SceneManager(_containerTree)), ImageManagerPb.BindService(new ImageManager((RawImagePresenter)_containerTree.Image)) }, Ports = { new ServerPort("0.0.0.0", TypedSettings.Port, ServerCredentials.Insecure), }, }; StartServer(); }
public Board(IChainable <Skeleton> SkeletonChain) { this.SkeletonChain = SkeletonChain; Plot(); }
public IChainable <DataParser> SetSuccessor(IChainable <DataParser> parser) { Debug.Assert(parser != this, "[DataParser.SetSuccessor] Cyclic reference!"); m_successor = parser as DataParser; return(m_successor); }
public IChainable <PackageViewUpdateCommander> SetSuccessor(IChainable <PackageViewUpdateCommander> commander) => m_commander = commander as PackageViewUpdateCommander;
public IChainable <PackagePresenter> SetSuccessor(IChainable <PackagePresenter> presenter) => m_presenter = presenter as PackagePresenter;
public IChainable <DataParser <T> > SetSuccessor(IChainable <DataParser <T> > parser) { return(Successor = parser as DataParser <T>); }
public IChainable <MapsManagerPb.MapsManagerPbBase> SetSuccessor( IChainable <MapsManagerPb.MapsManagerPbBase> link) { _link = link as MapsManagerPb.MapsManagerPbBase; return(link); }