//生效效果 public void cast() { // this.player.addAction (new SkillAction("C603"); Dictionary <string, object> data = this._data; if (data.ContainsKey("part")) { player.partGroup.addPart((Dictionary <string, object>)data["part"]); } if (data.ContainsKey("magic")) { MagicSkillAction action = (MagicSkillAction) new MagicSkillAction(this.player.map).init((Dictionary <string, object>)data["magic"], this.player); action.cardId = this.id; this.player.addAction(action); } }
public override void setData(Dictionary <string, object> data) { this._seekRange = (GeomBase)this._map.getNetObject((int)(data["seekRange"])); this._lifeTime = (TimeAction)this._map.getNetObject((int)(data["lifeTime"])); this._seekData = (Dictionary <string, object>)(data["seekData"]); if (data.ContainsKey("seekTarget")) { this.seekTarget = (PersonEntity)this._map.getNetObject((int)(data["seekTarget"])); } this._attackRange = (GeomBase)this._map.getNetObject((int)(data["attackRange"])); this._attackData = (Dictionary <string, object>)(data["attackData"]); if (data.ContainsKey("attackAction")) { this._attackAction = (MagicSkillAction)this._map.getNetObject((int)(data["attackAction"])); } this._fakeShape = (GeomBase)this._map.getNetObject((int)(data["fakeShape"])); this.index = (int)data["index"]; this._layer = (int)data["layer"]; this.offset = Vector2D.createVector4((Dictionary <string, object>)data["offset"]); base.setData(data); }
private void seekPlayer() { //脱离追踪范围。 if (null != this.seekTarget && (!this.seekTarget.alived || !Collision.checkCollision(this._seekRange, this.seekTarget.shape, this._map.mapData).isHit)) { this.seekTarget = null; Utils.clearObject(this._attackAction); this._attackAction = null; } //没有人的时候查询范围找敌人。 if (null == this.seekTarget) { List <PersonEntity> players = this.map.getPerson(this._seekRange, (int)this._seekData["aim"], (int)this._seekData["sort"], false); if (players.Count > 0) { this.seekTarget = players[0]; this._attackAction = new MagicSkillAction(this._map).init((Dictionary <string, object>) this._data["attack"], this) as MagicSkillAction; this._attackAction.start(); } } }