public DuelTank(string name, string texPath, GameObjData skinData, Vector2 pos, float Azi, string tankName, float tankRaderLength, float tankMaxForwardSpd, float tankMaxBackwardSpd, float live) : base(name, new GameObjInfo("DuelTank", tankName), texPath, skinData, tankRaderLength, MathHelper.Pi * 0.15f, Color.Yellow, tankMaxForwardSpd, tankMaxBackwardSpd, MathHelper.PiOver4, MathHelper.PiOver4, MathHelper.Pi, 0.8f, pos, Azi) { this.live = live; smoke = new SmokeGenerater(0, 30, Vector2.Zero, 0.3f, 0, false, this); this.GetEyeableInfoHandler = TankSinTur.GetCommonEyeInfoFun; }
private void SceneInitial() { tank = new TankSinTur("tank", new GameObjInfo("Tank", "Player"), TankSinTur.M60TexPath, TankSinTur.M60Data, 170, MathHelper.PiOver4, Color.Yellow, 0f, 80, 60, 0.6f * MathHelper.Pi, 0.5f * MathHelper.Pi, MathHelper.Pi, 2f, new Vector2(100, 50), 0, 0); AutoShootAI autoShoot = new AutoShootAI(); autoShoot.OrderServer = tank; ManualControl manualControl = new ManualControl(); manualControl.OrderServer = tank; //tank.SetTankAI( manualControl ); tank.SetTankAI(autoShoot); tank.onShoot += new Tank.ShootEventHandler(Tank_onShoot); tank.ShellSpeed = shellSpeed; //ItemCommon item = new ItemCommon( "item", "Scorpion", Path.Combine( Directories.ContentDirectory, "GameObjs\\scorpion" ), new Vector2( 128, 128 ), 0.031f, new Vector2[] { new Vector2( 128, 128 ) }, // new Vector2( 150, 50 ), 0f, Vector2.Zero, 0 ); Ball ball = new Ball("ball", 0.031f, new Vector2(150, 50), 0, Vector2.Zero, 0); ball.OnCollided += new OnCollidedEventHandler(item_OnCollided); smoke = new SmokeGenerater(0, 50, Vector2.Zero, 0.3f, 0f, true, ball); sceneMgr.AddGroup(string.Empty, new TypeGroup <TankSinTur>("tank")); sceneMgr.AddGroup(string.Empty, new TypeGroup <Ball>("ball")); sceneMgr.AddGroup(string.Empty, new TypeGroup <SmartTank.PhiCol.Border>("border")); sceneMgr.AddGroup(string.Empty, new TypeGroup <ShellNormal>("shell")); sceneMgr.PhiGroups.Add("tank"); sceneMgr.PhiGroups.Add("ball"); sceneMgr.PhiGroups.Add("shell"); sceneMgr.ColPairGroups.Add(new SceneMgr.Pair("tank", "ball")); sceneMgr.ColPairGroups.Add(new SceneMgr.Pair("tank", "border")); sceneMgr.ColPairGroups.Add(new SceneMgr.Pair("ball", "border")); sceneMgr.ColPairGroups.Add(new SceneMgr.Pair("shell", "border")); sceneMgr.ColPairGroups.Add(new SceneMgr.Pair("shell", "ball")); sceneMgr.ShelterGroups.Add(new SceneMgr.MulPair("tank", new List <string>())); sceneMgr.VisionGroups.Add(new SceneMgr.MulPair("tank", new List <string>(new string[] { "ball" }))); sceneMgr.AddGameObj("tank", tank); sceneMgr.AddGameObj("ball", ball); sceneMgr.AddGameObj("border", new SmartTank.PhiCol.Border(mapSize)); //camera.Focus( tank ); }