123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- import { LevelManager } from "./LevelManager";
- import { AssetManager } from "../Resources/AssetManager";
- import { MateManager } from "./MateManager";
- import { MateMove } from "../Game/MateMove";
- import { AccountManager } from "../NetWork/AccountManager";
- import { DispatcherManager, StageState } from "../GameUtils/EventManager";
- export class PlayerManager{
- private static ins:PlayerManager;
- constructor(){
- PlayerManager.ins = this;
- }
- public static get Instance():PlayerManager{
- if(PlayerManager.ins == null){
- return new PlayerManager();
- }
- return PlayerManager.ins;
- }
- // public PlayerNode:Laya.Sprite3D;
- public player:Laya.Sprite3D;
- //是否能移动
- public canmove:boolean = false;
- private Direction:number;
- Init(){
- this.Direction = AccountManager.Instance.curplayerData.LevelDirection;
- let playerpref = AssetManager.Instance.Character.get(1) as Laya.Sprite3D;
- this.player = Laya.Sprite3D.instantiate(playerpref);
- LevelManager.Instance.spritepool.addChild(this.player);
- this.player.transform.position = AssetManager.Instance.playerpos.transform.position.clone();
- this.player.transform.rotation = AssetManager.Instance.playerpos.transform.rotation.clone();
- this.trun = true;
- DispatcherManager.StageOn(StageState.ShowGuide1,this,this.Guide1);
- DispatcherManager.StageOn(StageState.ShowGuide2,this,this.Guide2);
- }
- RefreshPro():number{
- let startpoint = AssetManager.Instance.playerpos.transform.position.clone();
- let Z = startpoint.z;
- let finishpoint = AssetManager.Instance.finishpoint.z;
- let distance = finishpoint - Z;
- let pro = this.player.transform.position.z/distance;
- return pro;
- }
- EnablePlayer(){
- let _move = this.player.addComponent(MateMove) as MateMove;
- _move.Tag_Head = true;
- this.ListenOn();
- }
- ListenOn(){
- Laya.stage.on(Laya.Event.MOUSE_DOWN,this,this.OnMouseDown);
- }
- ListenOff(){
- Laya.stage.off(Laya.Event.MOUSE_DOWN,this,this.OnMouseDown);
- }
- DisablePlayer(){
- let _move = this.player.getComponent(MateMove) as MateMove;
- if(_move){
- _move.destroy();
- }
- }
- Guide1(){
- this.ListenOff();
- let _matemove = this.player.getComponent(MateMove) as MateMove;
- if(_matemove){
- _matemove.Pause();
- }
- }
- Guide2(){
- let _matemove = this.player.getComponent(MateMove) as MateMove;
- if(_matemove){
- _matemove.Pause();
- }
- this.guide2stop = true;
- }
- Resume(){
- let _matemove = this.player.getComponent(MateMove) as MateMove;
- if(_matemove){
- _matemove.Resume();
- }
- }
- guide2stop = false;
- trun = true;
- // first = true;
- OnMouseDown(){
- if(this.Direction == 1){
- if(this.trun){
- this.player.transform.rotationEuler = new Laya.Vector3(0,-90,0);
- this.trun = !this.trun;
- }
- else{
- this.player.transform.rotationEuler = new Laya.Vector3(0,0,0);
- this.trun = !this.trun;
- }
- }
- else if(this.Direction == 2){
- if(this.trun){
- this.player.transform.rotationEuler = new Laya.Vector3(0,90,0);
- this.trun = !this.trun;
- }
- else{
- this.player.transform.rotationEuler = new Laya.Vector3(0,0,0);
- this.trun = !this.trun;
- }
- }
- if(this.guide2stop){
- this.guide2stop = false;
- this.Resume();
- DispatcherManager.StageTrigger(StageState.HideGuide2);
- }
- }
- }
|