public void InitSelf(ObjectType _objType, int _objID) { isInDestory = false; objUid = new ObjectUid(_objType, _objID); basePosition = ToolGameVector.ChangeGameVectorConToGameVector2(baseCenter); baseRadius = ToolMethod.Config2Logic(baseRadiusCon); InitData(); }
//点攻击 public bool AttackObstacle(ObjectUid _attacker, GameVector2 _attackPoint, int _attackRadius, int _attackNum) { bool isAttack = false; foreach (var item in dic_obstacles.Values) { if (item.isBroken || !item.objShape.IsInBaseCircleDistance(_attackPoint, _attackRadius)) { continue; } if (item.objShape.IsCollisionCircle(_attackPoint, _attackRadius)) { if (item.BeAttackBroken(_attackNum)) { //击碎 list_brokenObs.Add(item); isAttack = true; } } } return(isAttack); }