public void OnUnitLost (GameObject unit) { //Debug.Log ("OnFind"); if (unit.GetBehavior().playerID != behavior.state.playerID) { (behavior.motor as CharacterMotor).MoveToPoint(unit.transform.position); //Debug.DrawLine(transform.position, unit.transform.position); } }
protected override void OnTargetChanged(GameObject oldTarget, GameObject newTarget, InputSource inputSource) { base.OnTargetChanged(oldTarget, newTarget, inputSource); if (oldTarget != null) { var oldBehavior = oldTarget.GetBehavior <ButtonBehavior>(); if (oldBehavior != null) { var mwUser = oldBehavior.GetMWUnityUser(inputSource.UserGameObject); if (mwUser != null) { oldBehavior.Hover.StopAction(mwUser); } } } if (newTarget != null) { var newBehavior = newTarget.GetBehavior <ButtonBehavior>(); if (newBehavior != null) { var mwUser = newBehavior.GetMWUnityUser(inputSource.UserGameObject); if (mwUser != null) { newBehavior.Hover.StartAction(mwUser); } } } }
public void OnUnitFind (GameObject unit) { //Debug.Log ("OnFind"); if (unit.GetBehavior().playerID != behavior.state.playerID) { (behavior.motor as CharacterMotor).FollowUnit(unit); attack.SetTarget (unit); } }
public void Update(InputSource inputSource, GameObject target) { if (target == null) { return; } if (Input.GetButtonDown("Fire2")) { var grabBehavior = target.GetBehavior <TargetBehavior>(); if (grabBehavior != null) { var mwUser = grabBehavior.GetMWUnityUser(inputSource.UserGameObject); if (mwUser != null) { grabBehavior.Context.StartGrab(mwUser); grabBehavior.IsGrabbed = true; } } StartGrab(inputSource, target); GrabStateChanged?.Invoke(this, new GrabStateChangedArgs(GrabState.Released, GrabState.Grabbed, inputSource)); } else if (Input.GetButtonUp("Fire2")) { var grabBehavior = target.GetBehavior <TargetBehavior>(); if (grabBehavior != null) { var mwUser = grabBehavior.GetMWUnityUser(inputSource.UserGameObject); if (mwUser != null) { grabBehavior.Context.EndGrab(mwUser); grabBehavior.IsGrabbed = false; } } EndGrab(); GrabStateChanged?.Invoke(this, new GrabStateChangedArgs(GrabState.Grabbed, GrabState.Released, inputSource)); } if (GrabActive) { UpdatePosition(); UpdateRotation(); } }
public void OnColliderUnitEnter (GameObject unit) { UnitBehavior behavior = unit.GetBehavior (); if (behavior.buffs != null) { StunBuff heal = new StunBuff (); heal.targetUnit = unit; heal.recoveryPerSecond = -10f; behavior.buffs.Add (heal); } }
public void OnUnitNoise (GameObject unit, float f) { if (unit.GetBehavior().playerID != behavior.state.playerID) { (behavior.motor as CharacterMotor).MoveToPoint(unit.transform.position); (behavior.motor as CharacterMotor).FollowUnit(unit); attack.SetTarget (unit); //Debug.Log(Time.time); //MoveToPos (unit.transform.position); } }
public void Update(InputSource inputSource, GameObject target) { if (target == null) { return; } if (Input.GetButtonDown("Fire2")) { var grabBehavior = target.GetBehavior <TargetBehavior>(); if (grabBehavior != null) { var mwUser = grabBehavior.GetMWUnityUser(inputSource.UserGameObject); if (mwUser != null) { grabBehavior.Grab.StartAction(mwUser); grabBehavior.IsGrabbed = true; } } StartGrab(inputSource, target); } else if (Input.GetButtonUp("Fire2")) { var grabBehavior = target.GetBehavior <TargetBehavior>(); if (grabBehavior != null) { var mwUser = grabBehavior.GetMWUnityUser(inputSource.UserGameObject); if (mwUser != null) { grabBehavior.Grab.StopAction(mwUser); grabBehavior.IsGrabbed = false; } } EndGrab(); } if (GrabActive) { UpdatePosition(); UpdateRotation(); } }
public void OnUnitInSphere (GameObject unit) { UnitBehavior otherBehavior = unit.GetBehavior(); if (!otherBehavior.state.isAlive) return; if (otherBehavior.state.playerID != behavior.state.playerID) { if (!attack.HasTarget()) { //behavior.motor.FollowUnit (unit); attack.SetTarget (unit); } else { //behavior.motor.FollowUnit (attack.target); } } }
protected override void OnTargetChanged( GameObject oldTarget, Vector3 oldTargetPosition, GameObject newTarget, Vector3 newTargetPosition, TargetBehavior newBehavior, InputSource inputSource) { base.OnTargetChanged( oldTarget, oldTargetPosition, newTarget, newTargetPosition, newBehavior, inputSource); if (oldTarget != null) { var oldBehavior = oldTarget.GetBehavior <ButtonBehavior>(); if (oldBehavior != null) { var mwUser = oldBehavior.GetMWUnityUser(inputSource.UserGameObject); if (mwUser != null) { oldBehavior.Context.EndHover(mwUser, oldTargetPosition); } } } if (newTarget != null) { var newButtonBehavior = newBehavior as ButtonBehavior; if (newButtonBehavior != null) { var mwUser = newButtonBehavior.GetMWUnityUser(inputSource.UserGameObject); if (mwUser != null) { newButtonBehavior.Context.StartHover(mwUser, newTargetPosition); } } } }
public void OnUnitVisible (GameObject unit) { if (unit.GetBehavior().playerID != behavior.state.playerID) { (behavior.motor as CharacterMotor).MoveToPoint(unit.transform.position); } }