private void TeleportVisitor(IVisitor visitor, IEntrance next)
 {
     if (visitor != null)
     {
         visitor.Teleport(next.GetEntrancePosition());
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 接触注册
 /// </summary>
 /// <param name="iEntrance">入口对象</param>
 public void Unregistor(IEntrance iEntrance)
 {
     if (iEntranceList.Contains(iEntrance))
     {
         iEntranceList.Remove(iEntrance);
         iEntrance.OnDestroy();
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 注册
 /// </summary>
 /// <param name="iEntrance">入口对象</param>
 public void Registor(IEntrance iEntrance)
 {
     if (!iEntranceList.Contains(iEntrance))
     {
         iEntranceList.Add(iEntrance);
         iEntrance.Start();
     }
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
    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);
        }
    }
Esempio n. 6
0
    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;
                }
            }
        }