diff options
author | milo24x7@gmail.com <milo24x7@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544> | 2013-07-07 22:08:49 +0000 |
---|---|---|
committer | milo24x7@gmail.com <milo24x7@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544> | 2013-07-07 22:08:49 +0000 |
commit | d17521c8b9085a91d08fecfd0b51bbbf7b1dccac (patch) | |
tree | 4673104b47dc68a079cac9f94deefd48dfcb66fa /Stars45/WeaponGroup.h | |
parent | 1de4b2bdbb019be6f1b7262c3eba5568d7682edd (diff) | |
download | starshatter-d17521c8b9085a91d08fecfd0b51bbbf7b1dccac.zip starshatter-d17521c8b9085a91d08fecfd0b51bbbf7b1dccac.tar.gz starshatter-d17521c8b9085a91d08fecfd0b51bbbf7b1dccac.tar.bz2 |
Updated open source license declaration and fixed some formatting issues.
Diffstat (limited to 'Stars45/WeaponGroup.h')
-rw-r--r-- | Stars45/WeaponGroup.h | 236 |
1 files changed, 130 insertions, 106 deletions
diff --git a/Stars45/WeaponGroup.h b/Stars45/WeaponGroup.h index 5c8412b..37092d1 100644 --- a/Stars45/WeaponGroup.h +++ b/Stars45/WeaponGroup.h @@ -1,106 +1,130 @@ -/* Project Starshatter 4.5
- Destroyer Studios LLC
- Copyright © 1997-2004. All Rights Reserved.
-
- SUBSYSTEM: Stars.exe
- FILE: WeaponGroup.h
- AUTHOR: John DiCamillo
-
-
- OVERVIEW
- ========
- Weapon Control Category (Group) class
-*/
-
-#ifndef WeaponGroup_h
-#define WeaponGroup_h
-
-#include "Types.h"
-#include "Weapon.h"
-#include "Text.h"
-
-// +--------------------------------------------------------------------+
-
-class WeaponGroup
-{
-public:
- static const char* TYPENAME() { return "WeaponGroup"; }
-
- WeaponGroup(const char* name);
- ~WeaponGroup();
-
- void ExecFrame(double factor);
-
- // identification:
- const char* Name() const { return name; }
- const char* Abbreviation() const { return abrv; }
- void SetName(const char* n);
- void SetAbbreviation(const char* a);
-
- bool IsPrimary() const;
- bool IsDrone() const;
- bool IsDecoy() const;
- bool IsProbe() const;
- bool IsMissile() const;
- bool IsBeam() const;
- int Value() const;
-
- // weapon list:
- void AddWeapon(Weapon* w);
- int NumWeapons() const;
- List<Weapon>& GetWeapons();
- bool Contains(const Weapon* w) const;
-
- // weapon selection:
- void SelectWeapon(int n);
- void CycleWeapon();
- Weapon* GetWeapon(int n) const;
- Weapon* GetSelected() const;
-
- // operations:
- bool GetTrigger() const { return trigger; }
- void SetTrigger(bool t=true) { trigger = t; }
- int Ammo() const { return ammo; }
- float Mass() const { return mass; }
- float Resistance() const { return resist; }
- void CheckAmmo();
-
- void SetTarget(SimObject* t, System* sub=0);
- SimObject* GetTarget() const;
- System* GetSubTarget() const;
- void DropTarget();
- void SetFiringOrders(int o);
- int GetFiringOrders() const { return orders; }
- void SetControlMode(int m);
- int GetControlMode() const { return control; }
- void SetSweep(int s);
- int GetSweep() const { return sweep; }
- int Status() const;
-
- WeaponDesign* GetDesign() const;
- bool CanTarget(DWORD tgt_class) const;
-
- void PowerOn();
- void PowerOff();
-
-protected:
- // Displayable name:
- Text name;
- Text abrv;
-
- List<Weapon> weapons;
-
- int selected;
- bool trigger;
- int ammo;
-
- int orders;
- int control;
- int sweep;
-
- float mass;
- float resist;
-};
-
-#endif WeaponGroup_h
-
+/* Starshatter OpenSource Distribution + Copyright (c) 1997-2004, Destroyer Studios LLC. + All Rights Reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name "Destroyer Studios" nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + SUBSYSTEM: Stars.exe + FILE: WeaponGroup.h + AUTHOR: John DiCamillo + + + OVERVIEW + ======== + Weapon Control Category (Group) class +*/ + +#ifndef WeaponGroup_h +#define WeaponGroup_h + +#include "Types.h" +#include "Weapon.h" +#include "Text.h" + +// +--------------------------------------------------------------------+ + +class WeaponGroup +{ +public: + static const char* TYPENAME() { return "WeaponGroup"; } + + WeaponGroup(const char* name); + ~WeaponGroup(); + + void ExecFrame(double factor); + + // identification: + const char* Name() const { return name; } + const char* Abbreviation() const { return abrv; } + void SetName(const char* n); + void SetAbbreviation(const char* a); + + bool IsPrimary() const; + bool IsDrone() const; + bool IsDecoy() const; + bool IsProbe() const; + bool IsMissile() const; + bool IsBeam() const; + int Value() const; + + // weapon list: + void AddWeapon(Weapon* w); + int NumWeapons() const; + List<Weapon>& GetWeapons(); + bool Contains(const Weapon* w) const; + + // weapon selection: + void SelectWeapon(int n); + void CycleWeapon(); + Weapon* GetWeapon(int n) const; + Weapon* GetSelected() const; + + // operations: + bool GetTrigger() const { return trigger; } + void SetTrigger(bool t=true) { trigger = t; } + int Ammo() const { return ammo; } + float Mass() const { return mass; } + float Resistance() const { return resist; } + void CheckAmmo(); + + void SetTarget(SimObject* t, System* sub=0); + SimObject* GetTarget() const; + System* GetSubTarget() const; + void DropTarget(); + void SetFiringOrders(int o); + int GetFiringOrders() const { return orders; } + void SetControlMode(int m); + int GetControlMode() const { return control; } + void SetSweep(int s); + int GetSweep() const { return sweep; } + int Status() const; + + WeaponDesign* GetDesign() const; + bool CanTarget(DWORD tgt_class) const; + + void PowerOn(); + void PowerOff(); + +protected: + // Displayable name: + Text name; + Text abrv; + + List<Weapon> weapons; + + int selected; + bool trigger; + int ammo; + + int orders; + int control; + int sweep; + + float mass; + float resist; +}; + +#endif WeaponGroup_h + |