Files
firestorm/Gameleap/code/mw4/Code/MW4/Team.hpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

129 lines
2.8 KiB
C++

#pragma once
#include "MW4.hpp"
#include "Vehicle.hpp"
namespace MechWarrior4
{
//##########################################################################
//########################### Team ################################
//##########################################################################
typedef Vehicle__ClassData Team__ClassData;
typedef Vehicle__Message Team__Message;
typedef Vehicle__CreateMessage Team__CreateMessage;
typedef Vehicle__GameModel Team__GameModel;
typedef Vehicle__ExecutionStateEngine Team__ExecutionStateEngine;
class Team : public Vehicle
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Inheritance support
//
public:
typedef Team__ClassData ClassData;
typedef Team__GameModel GameModel;
typedef Team__Message Message;
typedef Team__ExecutionStateEngine ExecutionStateEngine;
typedef Team__CreateMessage CreateMessage;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Static Methods
//
public:
static void InitializeClass();
static void TerminateClass();
typedef Vehicle BaseClass;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Run-time Construction and Destruction Support
//
public:
static Team* Make(CreateMessage *message,ReplicatorID *base_id);
protected:
Team(ClassData *class_data,CreateMessage *message,ReplicatorID *base_id,ElementRenderer::Element *element);
~Team();
void Reuse(const CreateMessage *message,ReplicatorID *base_id);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Shared Data support
//
public:
static ClassData *DefaultData;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Simulation Support
//
protected:
void TurnOn(void);
public:
int GetTableArray()
{Check_Object(this); return NameTable::TeamArray;}
int m_teamAlignment;
char m_teamPrefix;
ObjectID m_MostRecentTeamNav;
void SetTeamAlignment(int alignment)
{
m_teamAlignment = alignment;
}
int GetTeamAlignment()
{
return m_teamAlignment;
}
void SetTeamPrefix(char prefix)
{
m_teamPrefix = prefix;
}
char GetTeamPrefix()
{
return m_teamPrefix;
}
ChainOf<Vehicle*>
membersOfTeam;
void AddMemberToTeam(Vehicle *member)
{
membersOfTeam.Add(member);
}
void RemoveMemberFromTeam(Vehicle* member)
{
membersOfTeam.Remove(member);
}
bool IsEmpty()
{
return (membersOfTeam.IsEmpty());
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Test Support
//
public:
void TestInstance() const;
};
}