Ejemplo n.º 1
0
 public void AddUnit(BattleUnit Unit)
 {
     Status.Add(Unit.GetStatus());
     Units.Add(Unit);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 被别人击中
 /// </summary>
 /// <param name="Unit"></param>
 public override void OnHitByAnother(BattleUnit Unit)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 被其他物体撞到
 /// </summary>
 /// <param name="Unit"></param>
 public abstract void OnHitByAnother(BattleUnit Unit);
Ejemplo n.º 4
0
 /// <summary>
 /// 检测是否碰撞
 /// </summary>
 /// <param name="UnitA"></param>
 /// <param name="UnitB"></param>
 /// <returns></returns>
 public static bool IsCollision(BattleUnit UnitA,BattleUnit UnitB)
 {
     if (Math.Abs(UnitA.X - UnitB.X) < (UnitA.Width + UnitB.Width) / 2
       && Math.Abs(UnitA.Y - UnitB.Y) < (UnitA.Height + UnitB.Height) / 2)
         return true;
     else
         return false;
 }
Ejemplo n.º 5
0
        /// <summary>
        /// 向战场添加一个物件
        /// </summary>
        /// <param name="Unit">物件</param>
        private void AddUnit(BattleUnit Unit)
        {
            BU_Robot bot = Unit as BU_Robot;
            if (bot != null)
                _robs.Add(Unit.UnitID, bot);

            _units.Add(Unit.UnitID, bot);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 清除一个物件
        /// </summary>
        /// <param name="Unit"></param>
        private void RemoveUnit(BattleUnit Unit)
        {
            if (_robs.ContainsKey(Unit.UnitID))
                _robs.Remove(Unit.UnitID);

            if (_units.ContainsKey(Unit.UnitID))
                _units.Remove(Unit.UnitID);
        }