|
From: Red K. <red...@pr...> - 2004-03-07 23:51:42
|
Hi Tamas, I will check the new update at home in the next days and get back to you then... See if you propose new interfaces. > I'm not entirely sure about passive ICarriable; how will the battlescape > engine decide whether a unit can fire with the (per definitionem) > ICarriable item in its hand? IMO it would be logical to have basic usage > types put into all battlescape items, so that one just overloads the > throw(...) for grenades and such, maybe using another class that will > be intantiated during mission loading? ICarriable is just a view or the object, that is called in OOP theory as View Inheritance (from Meyer)... You give different views to the different systems, the carrying system (the one that ICarriable is a member of) do not need/want to know whether the object is a gun, a granade, a corpse or whatever you may think of... For instance, Missiles are carriable stuff too, but cannot be carried by agents because of its heavy weight and size, but they could nonetheless from the Carrying system view (if not where for its properties). So there is no reason to let the carrying system to know anything about what it is being carried. ICarriable is a passive entity, because, for active behaivior you have other views to apply to the object (via inheritance) using its cooresponding interface. Hope that helps to clarify the issue. Greetings Red Knight Simplicity is the key to understanding. |
|
From: Red K. <red...@pr...> - 2004-03-08 00:03:07
|
Hi Tamas, I will check the new update at home in the next days and get back to you then... See if you propose new interfaces. > I'm not entirely sure about passive ICarriable; how will the battlescape > engine decide whether a unit can fire with the (per definitionem) > ICarriable item in its hand? IMO it would be logical to have basic usage > types put into all battlescape items, so that one just overloads the > throw(...) for grenades and such, maybe using another class that will > be intantiated during mission loading? ICarriable is just a view or the object, that is called in OOP theory as View Inheritance (from Meyer)... You give different views to the different systems, the carrying system (the one that ICarriable is a member of) do not need/want to know whether the object is a gun, a granade, a corpse or whatever you may think of... For instance, Missiles are carriable stuff too, but cannot be carried by agents because of its heavy weight and size, but they could nonetheless from the Carrying system view (if not where for its properties). So there is no reason to let the carrying system to know anything about what it is being carried. ICarriable is a passive entity, because, for active behaivior you have other views to apply to the object (via inheritance) using its cooresponding interface. Hope that helps to clarify the issue. Greetings Red Knight Simplicity is the key to understanding. |
|
From: Red K. <red...@pr...> - 2004-03-08 00:03:44
|
Hi Tamas, I will check the new update at home in the next days and get back to you then... See if you propose new interfaces. > I'm not entirely sure about passive ICarriable; how will the battlescape > engine decide whether a unit can fire with the (per definitionem) > ICarriable item in its hand? IMO it would be logical to have basic usage > types put into all battlescape items, so that one just overloads the > throw(...) for grenades and such, maybe using another class that will > be intantiated during mission loading? ICarriable is just a view or the object, that is called in OOP theory as View Inheritance (from Meyer)... You give different views to the different systems, the carrying system (the one that ICarriable is a member of) do not need/want to know whether the object is a gun, a granade, a corpse or whatever you may think of... For instance, Missiles are carriable stuff too, but cannot be carried by agents because of its heavy weight and size, but they could nonetheless from the Carrying system view (if not where for its properties). So there is no reason to let the carrying system to know anything about what it is being carried. ICarriable is a passive entity, because, for active behaivior you have other views to apply to the object (via inheritance) using its cooresponding interface. Hope that helps to clarify the issue. Greetings Red Knight Simplicity is the key to understanding. |
|
From: Mamutas P. <ma...@pr...> - 2004-03-12 02:42:25
|
If you want particular set of objects to expose common behavior, then you should create an interface with methods for that behavior and inherit all objects from it. In this case, I think good idea would be to have interface IHandHeld, which will define methods particularly for objects in the person hand. The interface would have methods like: canThrow(), canShoot(), throw(), shoot(), etc. First two methods will let caller know whether the action is available (and actually does something). Second two methods will perform the action itself, if it is applicable to the object (shoot() may not be applicable to knives, so it will have no operation implementation). Does it make sense? Regards, mamutas -----Original Message----- From: Tamas Terpai [mailto:te...@cs...] Sent: Wednesday, March 10, 2004 8:13 AM To: mamutas Subject: Re: [Xenocide-programming] datainterfaces update On Sun, 7 Mar 2004, mamutas wrote: > ICarriable just determines that item can be carried. If you want your item > be able to fire or thrown, then other appropriate interface must be > employed. > And how do I determine which classes did the item in the player's hand inherit? Try to call the appropriate function and catch the exception? I'm sorry, but it's absolutely unclear for me. --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.616 / Virus Database: 395 - Release Date: 3/8/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.616 / Virus Database: 395 - Release Date: 3/8/2004 |
|
From: Cpt. B. <cpt...@pr...> - 2004-03-12 06:18:48
|
Here's the breakdown that I'm using in config.items.xml. It's fairly comprehensive for everything that a carriable item needs to do: weapon - carriable, has actions, does damage (eg: pistol, rifle, grenade) autoshot(3-round burst) (range, accuracy, timeunits) snapshot(single round) (range, accuracy, timeunits) aimedshot(single round) (range, accuracy, timeunits) throw (single item) (damage, accuracy, timeunits) touch (hand-to-hand) (damage, accuracy, timeunits) prime (time delay) (range, timeunits) equipment - carriable, has actions (eg: mind probe, motion scanner, ammo) throw (damage, accuracy, timeunits) scan (range, accuracy, timeunits) heal (wound, range, accuracy, timeunits) psi (power, cost, range, accuracy, tiemunits) reload (ammo) (unit, damage, timeunits) -The Captain -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of Mamutas Plaukotas Sent: Thursday, March 11, 2004 6:33 PM To: xen...@li... Subject: RE: [Xenocide-programming] datainterfaces update If you want particular set of objects to expose common behavior, then you should create an interface with methods for that behavior and inherit all objects from it. In this case, I think good idea would be to have interface IHandHeld, which will define methods particularly for objects in the person hand. The interface would have methods like: canThrow(), canShoot(), throw(), shoot(), etc. First two methods will let caller know whether the action is available (and actually does something). Second two methods will perform the action itself, if it is applicable to the object (shoot() may not be applicable to knives, so it will have no operation implementation). Does it make sense? Regards, mamutas -----Original Message----- From: Tamas Terpai [mailto:te...@cs...] Sent: Wednesday, March 10, 2004 8:13 AM To: mamutas Subject: Re: [Xenocide-programming] datainterfaces update On Sun, 7 Mar 2004, mamutas wrote: > ICarriable just determines that item can be carried. If you want your item > be able to fire or thrown, then other appropriate interface must be > employed. > And how do I determine which classes did the item in the player's hand inherit? Try to call the appropriate function and catch the exception? I'm sorry, but it's absolutely unclear for me. --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.616 / Virus Database: 395 - Release Date: 3/8/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.616 / Virus Database: 395 - Release Date: 3/8/2004 ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xenocide-programming mailing list Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming |
|
From: Mamutas P. <ma...@pr...> - 2004-03-20 05:23:29
|
Well, your breakdown can be pretty much mapped one to one to the interfaces. mamutas -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of Cpt. Boxershorts Sent: Friday, March 12, 2004 12:08 AM To: xen...@li... Subject: RE: [Xenocide-programming] datainterfaces update Here's the breakdown that I'm using in config.items.xml. It's fairly comprehensive for everything that a carriable item needs to do: weapon - carriable, has actions, does damage (eg: pistol, rifle, grenade) autoshot(3-round burst) (range, accuracy, timeunits) snapshot(single round) (range, accuracy, timeunits) aimedshot(single round) (range, accuracy, timeunits) throw (single item) (damage, accuracy, timeunits) touch (hand-to-hand) (damage, accuracy, timeunits) prime (time delay) (range, timeunits) equipment - carriable, has actions (eg: mind probe, motion scanner, ammo) throw (damage, accuracy, timeunits) scan (range, accuracy, timeunits) heal (wound, range, accuracy, timeunits) psi (power, cost, range, accuracy, tiemunits) reload (ammo) (unit, damage, timeunits) -The Captain -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of Mamutas Plaukotas Sent: Thursday, March 11, 2004 6:33 PM To: xen...@li... Subject: RE: [Xenocide-programming] datainterfaces update If you want particular set of objects to expose common behavior, then you should create an interface with methods for that behavior and inherit all objects from it. In this case, I think good idea would be to have interface IHandHeld, which will define methods particularly for objects in the person hand. The interface would have methods like: canThrow(), canShoot(), throw(), shoot(), etc. First two methods will let caller know whether the action is available (and actually does something). Second two methods will perform the action itself, if it is applicable to the object (shoot() may not be applicable to knives, so it will have no operation implementation). Does it make sense? Regards, mamutas -----Original Message----- From: Tamas Terpai [mailto:te...@cs...] Sent: Wednesday, March 10, 2004 8:13 AM To: mamutas Subject: Re: [Xenocide-programming] datainterfaces update On Sun, 7 Mar 2004, mamutas wrote: > ICarriable just determines that item can be carried. If you want your item > be able to fire or thrown, then other appropriate interface must be > employed. > And how do I determine which classes did the item in the player's hand inherit? Try to call the appropriate function and catch the exception? I'm sorry, but it's absolutely unclear for me. --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.616 / Virus Database: 395 - Release Date: 3/8/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.616 / Virus Database: 395 - Release Date: 3/8/2004 ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xenocide-programming mailing list Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xenocide-programming mailing list Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.616 / Virus Database: 395 - Release Date: 3/8/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.616 / Virus Database: 395 - Release Date: 3/8/2004 |
|
From: Cpt. B. <cpt...@pr...> - 2004-03-08 00:13:42
|
I just got six copies of this message...and I get doubles of messages about 50% of the time. Anyone know what gives? -The Captain -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of Red Knight Sent: Sunday, March 07, 2004 3:43 PM To: Tamas Terpai Cc: xen...@li... Subject: Re: [Xenocide-programming] datainterfaces update Hi Tamas, I will check the new update at home in the next days and get back to you then... See if you propose new interfaces. > I'm not entirely sure about passive ICarriable; how will the battlescape > engine decide whether a unit can fire with the (per definitionem) > ICarriable item in its hand? IMO it would be logical to have basic usage > types put into all battlescape items, so that one just overloads the > throw(...) for grenades and such, maybe using another class that will > be intantiated during mission loading? ICarriable is just a view or the object, that is called in OOP theory as View Inheritance (from Meyer)... You give different views to the different systems, the carrying system (the one that ICarriable is a member of) do not need/want to know whether the object is a gun, a granade, a corpse or whatever you may think of... For instance, Missiles are carriable stuff too, but cannot be carried by agents because of its heavy weight and size, but they could nonetheless from the Carrying system view (if not where for its properties). So there is no reason to let the carrying system to know anything about what it is being carried. ICarriable is a passive entity, because, for active behaivior you have other views to apply to the object (via inheritance) using its cooresponding interface. Hope that helps to clarify the issue. Greetings Red Knight Simplicity is the key to understanding. ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Xenocide-programming mailing list Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming |
|
From: Jason J. <ja...@ki...> - 2004-03-08 05:15:53
|
I got three... maybe you're signed up twice somehow? -----Original Message----- From: "Cpt. Boxershorts" <cpt...@pr...> To: <xen...@li...> Date: Sun, 7 Mar 2004 16:05:09 -0800 Subject: [Xenocide-programming] mailing list dupes? > > I just got six copies of this message...and I get doubles of messages > about 50% of the time. Anyone know what gives? > > -The Captain > > > -----Original Message----- > From: xen...@li... > [mailto:xen...@li...] On Behalf Of > Red Knight > Sent: Sunday, March 07, 2004 3:43 PM > To: Tamas Terpai > Cc: xen...@li... > Subject: Re: [Xenocide-programming] datainterfaces update > > Hi Tamas, > > I will check the new update at home in the next days and get back to > you then... See if you propose new interfaces. > > > I'm not entirely sure about passive ICarriable; how will the > battlescape > > engine decide whether a unit can fire with the (per definitionem) > > ICarriable item in its hand? IMO it would be logical to have basic > usage > > types put into all battlescape items, so that one just overloads the > > throw(...) for grenades and such, maybe using another class that will > > be intantiated during mission loading? > > ICarriable is just a view or the object, that is called in OOP theory > as View Inheritance (from Meyer)... You give different views to the > different systems, the carrying system (the one that ICarriable is a > member of) do not need/want to know whether the object is a gun, a > granade, a corpse or whatever you may think of... For instance, > Missiles are carriable stuff too, but cannot be carried by agents > because of its heavy weight and size, but they could nonetheless from > the Carrying system view (if not where for its properties). > > So there is no reason to let the carrying system to know anything > about what it is being carried. ICarriable is a passive entity, > because, for active behaivior you have other views to apply to the > object (via inheritance) using its cooresponding interface. > > Hope that helps to clarify the issue. > > Greetings > Red Knight > > Simplicity is the key to understanding. > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Xenocide-programming mailing list > Xen...@li... > https://lists.sourceforge.net/lists/listinfo/xenocide-programming > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Xenocide-programming mailing list > Xen...@li... > https://lists.sourceforge.net/lists/listinfo/xenocide-programming |
|
From: <fl...@ma...> - 2004-03-08 01:10:03
|
Could be, but i guess it is this sucky webmail... Sorry for the dupes. Greetings Red Knight > > I just got six copies of this message...and I get doubles of messages > about 50% of the time. Anyone know what gives? > > -The Captain > > > -----Original Message----- > From: xen...@li... > [mailto:xen...@li...] On Behalf Of > Red Knight > Sent: Sunday, March 07, 2004 3:43 PM > To: Tamas Terpai > Cc: xen...@li... > Subject: Re: [Xenocide-programming] datainterfaces update > > Hi Tamas, > > I will check the new update at home in the next days and get back to > you then... See if you propose new interfaces. > >> I'm not entirely sure about passive ICarriable; how will the > battlescape >> engine decide whether a unit can fire with the (per definitionem) >> ICarriable item in its hand? IMO it would be logical to have basic > usage >> types put into all battlescape items, so that one just overloads the >> throw(...) for grenades and such, maybe using another class that will >> be intantiated during mission loading? > > ICarriable is just a view or the object, that is called in OOP theory > as View Inheritance (from Meyer)... You give different views to the > different systems, the carrying system (the one that ICarriable is a > member of) do not need/want to know whether the object is a gun, a > granade, a corpse or whatever you may think of... For instance, > Missiles are carriable stuff too, but cannot be carried by agents > because of its heavy weight and size, but they could nonetheless from > the Carrying system view (if not where for its properties). > > So there is no reason to let the carrying system to know anything > about what it is being carried. ICarriable is a passive entity, > because, for active behaivior you have other views to apply to the > object (via inheritance) using its cooresponding interface. > > Hope that helps to clarify the issue. > > Greetings > Red Knight > > Simplicity is the key to understanding. > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Xenocide-programming mailing list > Xen...@li... > https://lists.sourceforge.net/lists/listinfo/xenocide-programming > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Xenocide-programming mailing list > Xen...@li... > https://lists.sourceforge.net/lists/listinfo/xenocide-programming > |