// Update is called once per frame private void OnTriggerEnter(Collider other) { Debug.Log("Trigger触发"); PlayerInputerController pc = other.GetComponent <PlayerInputerController>(); if (pc != null && pc.isActiveAndEnabled) { TeleporterDefine td = DataManager.Instance.Teleporters[this.ID]; if (td == null) { Debug.LogFormat("TeleporterObject:Character[{0}] Enter TeleporterObject[{1}],But TeleporterDefine not exixted", pc.character.nCharacterInfo.Name, this.ID); return; } Debug.LogFormat("TeleporterObject:Character[{0}] Enter TeleporterObject[{1}:{2}]", pc.character.nCharacterInfo.Name, this.ID, td.Name); if (td.LinkTo > 0) { if (DataManager.Instance.Teleporters.ContainsKey(td.ID)) { MapService.Instance.SendMapTeleport(this.ID); } else { Debug.LogFormat("Teleporter ID:{0} LinkId{1} error!", td.ID, td.LinkTo); } } } }
private void InitGameObject(Character cha, GameObject go) { EntiyController ec = go.GetComponent <EntiyController>(); if (ec != null) { ec.entity = cha; ec.isPlayer = cha.IsCurrentPlayer; ec.Ride(cha.nCharacterInfo.Ride); } PlayerInputerController pc = go.GetComponent <PlayerInputerController>(); if (pc != null) { //确定是否为当前控制角色 if (cha.IsCurrentPlayer) { User.Instance.currentCharacterObject = pc; MainPlayerCamera.Instance.player = go; pc.enabled = true; pc.isPlayer = true; pc.character = cha; pc.entiyController = ec; } else { pc.enabled = false; } } }