void Start() { //_controller = new KeyboardCtrl(this); //_weapon = new WeaponStandard(() => { return Input.GetKeyDown(_controller.fireKey); }, shootPoint, Constants.layerPlayer, 0.35f); //_weapon = new WeaponSpread3x(() => { return Input.GetKeyDown(controller.fireKey); }, shootPoint, Constants.layerPlayer, 0.5f); //_weapon = new WeaponSemiAuto(() => { return Input.GetKey(controller.fireKey); }, shootPoint, Constants.layerPlayer, 0.25f); _weapon = new WeaponComplex(new WeaponSemiAuto(() => { return(Input.GetKey(controller.fireKey)); }, shootPoint, Constants.layerPlayer, 0.25f), new WeaponSpread3x(() => { return(Input.GetKey(controller.fireKey)); }, shootPoint, Constants.layerPlayer, 0.5f)); _checkPoint = new CheckPoint(transform.position, _weapon); _playerSubject = new PlayerSubject(); }
/// <summary> /// Sets chunks inactive if they are outside of the range. /// </summary> /// <param name="subject"></param> public override void Message(object subject) { if (subject != null) { PlayerSubject gObj = (PlayerSubject)subject; if (gObj != null) { Player player = gObj.GetComponent <Player>(); { Vector3 pPos = player.transform.position; float distanceTo = Mathf.Abs(Vector3.Distance(this.transform.position, pPos)); if (distanceTo > GameManager.Instance.WorldChunkMinViewDistance) { this.gameObject.SetActive(false); } else { this.gameObject.SetActive(true); } } } } }
public void Detach(PlayerSubject pac) { pac.Detach(this); }
public void Attach(PlayerSubject pac) { pac.Attach(this); }
public EnemyOb(PlayerSubject pac) { State = EnemyStates.Patrol; pac.Attach(this); }
public void Detach(PlayerSubject sub) { sub.Detach(this); }
public void Attach(PlayerSubject sub) { sub.Attach(this); }
public Manager(PlayerSubject sub) { this.State = ManagerState.NoState; sub.Attach(this); }