public Ship(long _uniqueId, Vector3 _position, Quaternion _rotation, Team _team) : base(_uniqueId, _position, _rotation, "Models/box") { Damage = 1.0f; // Instant destroy team = _team; int hudScale = 2; hudUnit = new HUDUnit(this, 10*hudScale,4*hudScale,1*hudScale); if (!groupsSet) { CollisionGroupPair pairEE = new CollisionGroupPair(esxolusMeshShipGroup, esxolusMeshShipGroup); CollisionRules.CollisionGroupRules.Add(pairEE, CollisionRule.NoBroadPhase); CollisionGroupPair pairHH = new CollisionGroupPair(halkMeshShipGroup, halkMeshShipGroup); CollisionRules.CollisionGroupRules.Add(pairHH, CollisionRule.NoBroadPhase); CollisionGroupPair pairEH = new CollisionGroupPair(esxolusMeshShipGroup, halkMeshShipGroup); CollisionRules.CollisionGroupRules.Add(pairEH, CollisionRule.NoBroadPhase); groupsSet = true; } }
public SpawnShipPiece(long _uniqueId, Vector3 _position, Quaternion _rotation, Team _team, Model _part, Model _destroyed, Model _collisionMesh, float _health, List<Turret> _turrets, SpawnShip _parent) : base(_uniqueId, _position, _rotation, _team) { MAX_HEALTH = _health; Health = MaxHealth; destroyedModel = _destroyed; collisionMesh = _collisionMesh; // collisionMesh = ContentLoadManager.loadModel("Models/box"); part = _part; Model = part; parent = _parent; turrets = _turrets; CollisionBase = new CollisionMesh(collisionMesh, Position, Rotation); CollisionBase.Active = true; CollisionBase.addCollisionEvent(collisionEvent); CollisionBase.Parent = this; if (team == Team.Esxolus) { ((MobileMesh)CollisionBase.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = EsxolusMeshShipGroup; } else { ((MobileMesh)CollisionBase.getPhysicsCollider()).CollisionInformation.CollisionRules.Group = HalkMeshShipGroup; } pieceRotation = Rotation; piecePosition = Position; int hudScale = 2; pieceHUDUnit = new HUDUnit(this, 10 * hudScale, 4 * hudScale, 1 * hudScale); foreach (Turret turret in turrets) { turret.Parent = this; } }