Click here to Skip to main content
15,886,110 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
AnswerRe: indesign cs6 trial - no toolbar Pin
Pete O'Hanlon17-Jan-13 0:49
mvePete O'Hanlon17-Jan-13 0:49 
QuestionHow do you design this? : with a better example Pin
Eytukan30-Dec-12 17:57
Eytukan30-Dec-12 17:57 
AnswerRe: How do you design this? : with a better example Pin
Christian Graus30-Dec-12 18:25
protectorChristian Graus30-Dec-12 18:25 
GeneralRe: How do you design this? : with a better example Pin
Eytukan30-Dec-12 18:42
Eytukan30-Dec-12 18:42 
GeneralRe: How do you design this? : with a better example Pin
Christian Graus30-Dec-12 18:46
protectorChristian Graus30-Dec-12 18:46 
AnswerRe: How do you design this? : with a better example Pin
jschell31-Dec-12 9:10
jschell31-Dec-12 9:10 
AnswerRe: How do you design this? : with a better example Pin
Eddy Vluggen31-Dec-12 17:04
professionalEddy Vluggen31-Dec-12 17:04 
AnswerRe: How do you design this? : with a better example Pin
Keld Ølykke16-Jan-13 11:23
Keld Ølykke16-Jan-13 11:23 
It seems to me that you want to:
- mount ammo into a slot/inventory
- fire a weapon that can only fire if there is the right ammo in the slot/inventory

... so what about something like this:

C#
interface IShip : IName
{
  IEnumerator<IGun> GunEnumerator
  {
    get;
  }

  IGun ActiveGun
  {
     get;
  }

  void ActivateGun(IGun gun);

  IAmmoInventory AmmoInventory
  {
    get;
  }
}

interface IGun : IName
{
  // point at something
  bool Aim(Vector3 directionLocal);
  
  // IGun knows its parent - IShip - with IAmmoInventory
  bool Fire();

}

interface IAmmoInventory
{
  IEnumerator<IAmmo> AmmoEnumerator
  {
    get;
  }

  void SelectAmmo(IAmmo ammo);

  IAmmo SelectedAmmo
  {
     get;
  }

  bool Add(IAmmo ammo);

  bool Remove(IAmmo ammo);
}

interface IAmmo : IName
{

  int Damage
  {
    get;
  }

  int Count
  {
     get;
  }
}

interface IName
{
  string Name
  {
    get;
  }
}


The Aim() part is pretty naive... but I hope you get the idea.

If IGun could be mounted on something that is not a ship, you could make interfaces like IGunOwner and IAmmoOwner that could be inherited by both IShip and IDeathStar Wink | ;)

Kind Regards,

Keld Ølykke
QuestionHow to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
ldaneil27-Dec-12 7:26
ldaneil27-Dec-12 7:26 
AnswerRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
Pete O'Hanlon27-Dec-12 7:39
mvePete O'Hanlon27-Dec-12 7:39 
GeneralRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
ldaneil27-Dec-12 7:50
ldaneil27-Dec-12 7:50 
AnswerRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
jschell27-Dec-12 9:21
jschell27-Dec-12 9:21 
GeneralRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
ldaneil28-Dec-12 8:31
ldaneil28-Dec-12 8:31 
AnswerRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
April Fans27-Dec-12 15:43
April Fans27-Dec-12 15:43 
GeneralRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
ldaneil28-Dec-12 8:36
ldaneil28-Dec-12 8:36 
GeneralRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
April Fans3-Jan-13 16:46
April Fans3-Jan-13 16:46 
AnswerRe: How to find the similarity between users in Twitter ? How to design a good and efficient idea? Pin
Marc Koutzarov29-Aug-14 23:54
professionalMarc Koutzarov29-Aug-14 23:54 
QuestionClient - Server approach Pin
bugal21-Dec-12 0:33
bugal21-Dec-12 0:33 
AnswerRe: Client - Server approach Pin
jschell22-Dec-12 14:11
jschell22-Dec-12 14:11 
QuestionHow do you design this ? Pin
Eytukan18-Dec-12 2:33
Eytukan18-Dec-12 2:33 
AnswerRe: How do you design this ? Pin
Pete O'Hanlon18-Dec-12 2:47
mvePete O'Hanlon18-Dec-12 2:47 
GeneralRe: How do you design this ? Pin
Eytukan18-Dec-12 2:54
Eytukan18-Dec-12 2:54 
GeneralRe: How do you design this ? Pin
Pete O'Hanlon18-Dec-12 3:02
mvePete O'Hanlon18-Dec-12 3:02 
GeneralRe: How do you design this ? Pin
Lampridis Vasilis30-Dec-12 0:04
Lampridis Vasilis30-Dec-12 0:04 
GeneralRe: How do you design this ? Pin
Eytukan30-Dec-12 18:00
Eytukan30-Dec-12 18:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.