Ignore:
Timestamp:
2013-07-24 15:02:03 (7 years ago)
Author:
dezhidki
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2013/30/DenisZ/CastleMaster/CastleMaster/CastleMaster/Units/Mobs/Mob.cs

    r4616 r4635  
    1111using CastleMaster.Graphics; 
    1212using CastleMaster.Entities; 
     13using System.Collections; 
    1314 
    1415namespace CastleMaster.Units.Mobs 
    1516{ 
    16     public class Mob : Unit 
     17    public abstract class Mob : Unit 
    1718    { 
    18         private Order currentOrder; 
     19        protected Order currentOrder; 
    1920        private float dir = 0.0F; 
    20         private AStar pathFinder; 
     21        protected AStar pathFinder; 
    2122        protected int dirID; 
    2223        protected AnimationHelper walkingAnimation; 
     
    3637            pushResistance = 0.0F; 
    3738        } 
     39 
     40        public Level Level { get { return level; } } 
    3841 
    3942        protected float Direction { get { return dir; } } 
     
    6568                MoveTo(dir, pushPower); 
    6669                isPushed = false; 
     70            } 
     71        } 
     72 
     73        public void OnGroupOrder(List<Mob> mobs, float x, float z) 
     74        { 
     75            foreach (var mobGroup in mobs.GroupBy(m => m.TypeID)) 
     76            { 
     77                List<Mob> ms = mobGroup.ToList(); 
     78                ms[0].OnSameTypeGroupOrder(ms, x, z); 
     79            } 
     80        } 
     81 
     82        protected virtual void OnSameTypeGroupOrder(List<Mob> mobs, float x, float z) 
     83        { 
     84            OnFunctionClick(x, z, false); 
     85            foreach (Mob m in mobs) 
     86            { 
     87                if (m == this) continue; 
     88                m.OnFunctionClick(x, z, true); 
     89                m.pathFinder = pathFinder; 
    6790            } 
    6891        } 
     
    156179            return (int)(Math.Floor(dir * 8 / MathHelper.TwoPi + 0.5F)) & 7; 
    157180        } 
     181 
     182        public abstract int TypeID { get; } 
    158183    } 
    159184} 
Note: See TracChangeset for help on using the changeset viewer.