private void TeleportVisitor(IVisitor visitor, IEntrance next) { if (visitor != null) { visitor.Teleport(next.GetEntrancePosition()); } }
/// <summary> /// 接触注册 /// </summary> /// <param name="iEntrance">入口对象</param> public void Unregistor(IEntrance iEntrance) { if (iEntranceList.Contains(iEntrance)) { iEntranceList.Remove(iEntrance); iEntrance.OnDestroy(); } }
/// <summary> /// 注册 /// </summary> /// <param name="iEntrance">入口对象</param> public void Registor(IEntrance iEntrance) { if (!iEntranceList.Contains(iEntrance)) { iEntranceList.Add(iEntrance); iEntrance.Start(); } }
public void MakeEntrance(Assembly main) { Type type = main.GetType("XMainClient.XGameEntrance"); MethodInfo method = type.GetMethod("Fire"); method.Invoke(null, null); this._entrance = XSingleton <XInterfaceMgr> .singleton.GetInterface <IEntrance>(0u); }
public void LogoutCallBack(string msg) { IEntrance @interface = XSingleton <XInterfaceMgr> .singleton.GetInterface <IEntrance>(0u); if (@interface == null) { XSingleton <XDebug> .singleton.AddLog("LogoutCallBack is invoked at wrong time", null, null, null, null, null, XDebugColor.XDebug_None); } else { @interface.AuthorizationSignOut(msg); } }
public void LoginCallBack(string token) { IEntrance @interface = XSingleton <XInterfaceMgr> .singleton.GetInterface <IEntrance>(0u); if (@interface == null) { XSingleton <XDebug> .singleton.AddLog("LoginCallBack is invoked at wrong time, token: ", token, null, null, null, null, XDebugColor.XDebug_None); } else { @interface.Authorization(token); } }
public void ChangeRoom(Collider2D collider, Transform transform) { foreach (string tag in allowed) { if (collider.tag.Equals(tag)) { RaycastHit2D hit = Physics2D.Raycast(transform.position, direction, 2); IEntrance next = hit.collider.GetComponent <IEntrance>(); IVisitor visitor = collider.GetComponent <IVisitor>(); if (hit.collider != null && next != null) { TeleportVisitor(visitor, next); Vector3 position = next.GetRoomPosition(); position.z = -10; Camera.main.transform.DOMove(position, .5f); } break; } } }