private void Init(Sfs2X.Entities.User user_, GameObject go_, int modelIdx_, PlayerType pType_, string parseId_, string displayName_, int teamID_) { user = user_; gameObject = go_; playerType = pType_; ModelIdx = modelIdx_; ParseId = (parseId_ == null) ? "" : parseId_; DisplayName = (displayName_ == null) ? "" : displayName_; TeamID = teamID_; InPrivateVolume = null; if (IsStealth) { ApplyAvatarOptions(GetAvatarOptionStr()); Visible = false; } if (CameraMoveManager.Enabled) { SetNameBillboardCam(CameraMoveManager.Inst.Cam); } sitController = new SitController(this); // Check hardware info for changes. if (IsLocal) { string oldHardwareInfo = CommunicationManager.CurrentUserProfile.GetLocalHardwareInfo(); CommunicationManager.CurrentUserProfile.UpdateLocalHardwareInfo(); // If user's hardware has changed, send the new info to Parse. if (oldHardwareInfo != CommunicationManager.CurrentUserProfile.GetLocalHardwareInfo()) { CommunicationManager.CurrentUserProfile.UpdateParseHardwareInfo(); } } }
public bool MoveTo(GameObject gameObject) { //List<GameObject> canMoves = getCanMove(); //如果可以行走 //if (canMoves.Contains(gameObject)) { //Debug.Log(gameObject.transform.position.y); Vector3 v3 = this.gameObject.transform.position; v3.x = gameObject.transform.position.x; v3.z = gameObject.transform.position.z; this.gameObject.transform.position = v3; SitController sit = gameObject.GetComponent <SitController>(); sit.chessPieceObj = this.gameObject; string name = gameObject.name; chessPiece.x = Convert.ToInt16(name.Substring(0, 1)); chessPiece.z = Convert.ToInt16(name.Substring(1, 1)); sitController.chessPieceObj = null; sitController = sit; return(true); // } // return false; }
public virtual void Start() { //获取到自己的坐标位置 int x = chessPiece.x; int z = chessPiece.z; //Debug.LogFormat("初始化象棋,name={0},x={1},z={2}", this.gameObject.name, x, z); string name = x + "" + z; //根据座位获取到自己的位置 GameObject go = GameObject.Find(name); transform.position = go.transform.position; //Debug.Log(name + "," + go.name); sitController = go.GetComponent <SitController>(); sitController.chessPieceObj = this.gameObject; foreach (Transform tf in GetComponentsInChildren <Transform>()) { if (tf.name.Equals("sprite")) { sprite = tf; break; } } skillCanvasController = GameObject.Find("skillCanvas").GetComponent <SkillCanvasController>(); //System.Random r = new System.Random(); frameNum = x + z; //Debug.Log("shui ji shu:" +frameNum); }
protected override void Update() { ChairProperties component = SceneRefs.ActionSequencer.GetTrigger(GetTarget()).GetComponent <ChairProperties>(); if (component != null) { LocomotionHelper.SetCurrentController <SitController>(GetTarget()); LocomotionController currentController = LocomotionHelper.GetCurrentController(GetTarget()); if (currentController is SitController) { SitController sitController = (SitController)currentController; sitController.SetChair(component); } } Completed(); }
public override List <GameObject> GetCanMove() { List <GameObject> result = new List <GameObject>(); int x = chessPiece.x; int z = chessPiece.z; if (chessPiece.teamId == TeamID.HONG && z != 0) { //红兵向前行 result.Add(GameObject.Find("" + x + (z - 1))); } else if (chessPiece.teamId == TeamID.HEI && z != 9) //黑兵 { result.Add(GameObject.Find("" + x + (z + 1))); } if (IsCross()) { //如果不在最右侧 if (x != 8) { //红兵向右行 result.Add(GameObject.Find("" + (x + 1) + z)); } //如果不在最左边 if (x != 0) { result.Add(GameObject.Find("" + (x - 1) + z)); } } //剔除掉己方已经占领的棋子 result = result.FindAll(obj => { SitController sit = obj.GetComponent <SitController>(); if (sit.chessPieceObj != null) { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId == chessPiece.teamId) { return(false); } } return(true); }); return(result); }
public override List <GameObject> GetCanMove() { List <GameObject> result = new List <GameObject>(); int x = chessPiece.x; int z = chessPiece.z; if (x == 4) { result.Add(GameObject.Find("" + (x + 1) + (z + 1))); result.Add(GameObject.Find("" + (x + 1) + (z - 1))); result.Add(GameObject.Find("" + (x - 1) + (z - 1))); result.Add(GameObject.Find("" + (x - 1) + (z + 1))); } else { if (chessPiece.teamId == TeamID.HEI) { result.Add(GameObject.Find("41")); } else { result.Add(GameObject.Find("48")); } } //剔除掉己方已经占领的棋子 result = result.FindAll(obj => { SitController sit = obj.GetComponent <SitController>(); if (sit.chessPieceObj != null) { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId == chessPiece.teamId) { return(false); } } return(true); }); return(result); }
public override List <GameObject> GetCanMove() { List <GameObject> result = new List <GameObject>(); int x = chessPiece.x; int z = chessPiece.z; if (x == 3 || x == 4) { result.Add(GameObject.Find("" + (x + 1) + z)); } if (x == 5 || x == 4) { result.Add(GameObject.Find("" + (x - 1) + z)); } if (z == 0 || z == 7 || z == 1 || z == 8) { result.Add(GameObject.Find("" + x + (z + 1))); } if (z == 2 || z == 9 || z == 1 || z == 8) { result.Add(GameObject.Find("" + x + (z - 1))); } //剔除掉己方已经占领的棋子 result = result.FindAll(obj => { SitController sit = obj.GetComponent <SitController>(); if (sit.chessPieceObj != null) { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId == chessPiece.teamId) { return(false); } } return(true); }); return(result); }
private void onViewReady(AvatarBaseAsync view) { if (locomotionData == null) { return; } LocomotionTracker component = GetComponent <LocomotionTracker>(); switch (locomotionData.LocoState) { case LocomotionState.Slide: if (component.IsCurrentControllerOfType <SlideController>()) { GetComponent <Animator>().SetBool(AnimationHashes.Params.Slide, value: true); GetComponent <Animator>().Play(AnimationHashes.States.Slide.Enter, 0); } else { component.SetCurrentController <SlideController>(); } break; case LocomotionState.Sitting: { if (!component.IsCurrentControllerOfType <SitController>()) { component.SetCurrentController <SitController>(); } SitController sitController = component.GetCurrentController() as SitController; if (sitController != null) { sitController.RemoteSit(null); } break; } } }
public override List <GameObject> GetCanMove() { List <GameObject> result = new List <GameObject>(); int x = chessPiece.x; int z = chessPiece.z; if (z != 5) { result.Add(GameObject.Find("" + (x + 2) + (z - 2))); result.Add(GameObject.Find("" + (x - 2) + (z - 2))); } if (z != 4) { result.Add(GameObject.Find("" + (x + 2) + (z + 2))); result.Add(GameObject.Find("" + (x - 2) + (z + 2))); } //剔除掉己方已经占领的棋子 result = result.FindAll(obj => { if (obj == null) { return(false); } SitController sit = obj.GetComponent <SitController>(); if (sit.chessPieceObj != null) { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId == chessPiece.teamId) { return(false); } } return(true); }); return(result); }
public void ReceiveChessMove(RespMoveChess respMoveChess) { long roleUid = respMoveChess.roleUid; MoveChess moveChess = respMoveChess.moveChess; string toSitName = moveChess.toPoint.x + "" + moveChess.toPoint.z; GameObject toSit = GameObject.Find(toSitName); string fromSitName = moveChess.fromPoint.x + "" + moveChess.fromPoint.z; Debug.LogFormat("收到服务器移动信息,from={0},to={1}", fromSitName, toSitName); GameObject fromSit = GameObject.Find(fromSitName); SitController sitController = fromSit.GetComponent <SitController>(); GameObject pickObject = sitController.chessPieceObj; ChessPieceController pickCpc = pickObject.GetComponent <ChessPieceController>(); SitController sitc = toSit.GetComponent <SitController>(); if (sitc.chessPieceObj != null) { //把该位置原来的棋子注销 Destroy(sitc.chessPieceObj); } pickCpc.MoveTo(toSit); sitc.chessPieceObj = pickCpc.gameObject; ClearState(); }
// Update is called once per frame void Update() { OnReceive(); if (goInfo == null) { return; } if (goInfo.currentTeamId != selfTeamId) { return; } if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //camare2D.ScreenPointToRay (Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { GameObject tmp = hit.collider.gameObject; //判断选中的位置 if ("Sit".Equals(tmp.tag)) { Debug.Log("选中位置,sit=" + tmp.name); SitController sitController = tmp.GetComponent <SitController>(); //选中了一个空座位 if (pickCpc == null || sitController.chessPieceObj != null) { return; } else { if (sitController.chessPieceObj == null) //选中的位置没有棋子 { if (sits.Contains(tmp)) //如果该位置可以走 { MoveTo(tmp); } } } } else if ("ChessPiece".Equals(tmp.tag)) { Debug.Log("选中棋子,name=" + tmp.name); ChessPieceController cpc = tmp.GetComponent <ChessPieceController>(); if (pickCpc == null) { if (cpc.chessPiece.teamId == (TeamID)goInfo.currentTeamId) { Pick(cpc); } } else { if (cpc == pickCpc) { ClearState(); } else if (cpc.chessPiece.teamId == pickCpc.chessPiece.teamId) { ClearState(); Pick(cpc); } else { GameObject sitobj = cpc.sitController.gameObject; if (sits.Contains(sitobj)) { MoveTo(sitobj); } } } } } } }
public override List <GameObject> GetCanMove() { List <GameObject> result = new List <GameObject>(); int x = chessPiece.x; int z = chessPiece.z; // 向前走 if (z <= 7) { GameObject sitObject = GameObject.Find("" + x + (z + 1)); SitController sitController = sitObject.GetComponent <SitController>(); //查看是否有阻挡 if (sitController.chessPieceObj == null) { sitObject = GameObject.Find("" + (x + 1) + (z + 2)); if (sitObject != null) { result.Add(sitObject); } sitObject = GameObject.Find("" + (x - 1) + (z + 2)); if (sitObject != null) { result.Add(sitObject); } } } //向后走 if (z >= 2) { GameObject sitObject = GameObject.Find("" + x + (z - 1)); SitController sitController = sitObject.GetComponent <SitController>(); //查看是否有阻挡 if (sitController.chessPieceObj == null) { sitObject = GameObject.Find("" + (x + 1) + (z - 2)); if (sitObject != null) { result.Add(sitObject); } sitObject = GameObject.Find("" + (x - 1) + (z - 2)); if (sitObject != null) { result.Add(sitObject); } } } //向左走 if (x >= 2) { GameObject sitObject = GameObject.Find("" + (x - 1) + z); SitController sitController = sitObject.GetComponent <SitController>(); //查看是否有阻挡 if (sitController.chessPieceObj == null) { sitObject = GameObject.Find("" + (x - 2) + (z - 1)); if (sitObject != null) { result.Add(sitObject); } sitObject = GameObject.Find("" + (x - 2) + (z + 1)); if (sitObject != null) { result.Add(sitObject); } } } //向右走 if (x <= 6) { GameObject sitObject = GameObject.Find("" + (x + 1) + z); SitController sitController = sitObject.GetComponent <SitController>(); //查看是否有阻挡 if (sitController.chessPieceObj == null) { sitObject = GameObject.Find("" + (x + 2) + (z - 1)); if (sitObject != null) { result.Add(sitObject); } sitObject = GameObject.Find("" + (x + 2) + (z + 1)); if (sitObject != null) { result.Add(sitObject); } } } //剔除掉己方已经占领的棋子 result = result.FindAll(obj => { if (obj == null) { return(false); } SitController sit = obj.GetComponent <SitController>(); if (sit.chessPieceObj != null) { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId == chessPiece.teamId) { return(false); } } return(true); }); return(result); }
public override List <GameObject> GetCanMove() { List <GameObject> result = new List <GameObject>(); int x = chessPiece.x; int z = chessPiece.z; //向右寻找 for (int p = x + 1; p <= 8; p++) { GameObject sitObject = GameObject.Find("" + p + z); SitController sit = sitObject.GetComponent <SitController>(); if (sit.chessPieceObj == null) { result.Add(sitObject); } else { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId != chessPiece.teamId) { result.Add(sitObject); } break; } } //向左寻找 for (int p = x - 1; p >= 0; p--) { GameObject sitObject = GameObject.Find("" + p + z); SitController sit = sitObject.GetComponent <SitController>(); if (sit.chessPieceObj == null) { result.Add(sitObject); } else { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId != chessPiece.teamId) { result.Add(sitObject); } break; } } //向上寻找 for (int p = z - 1; p >= 0; p--) { GameObject sitObject = GameObject.Find("" + x + p); SitController sit = sitObject.GetComponent <SitController>(); if (sit.chessPieceObj == null) { result.Add(sitObject); } else { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId != chessPiece.teamId) { result.Add(sitObject); } break; } } //向下寻找 for (int p = z + 1; p <= 9; p++) { GameObject sitObject = GameObject.Find("" + x + p); SitController sit = sitObject.GetComponent <SitController>(); if (sit.chessPieceObj == null) { result.Add(sitObject); } else { ChessPieceController chessPieceController = sit.chessPieceObj.GetComponent <ChessPieceController>(); if (chessPieceController.chessPiece.teamId != chessPiece.teamId) { result.Add(sitObject); } break; } } return(result); }