• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

333 Neutral

About marvel_magnum

  • Rank
  1. Unity Reflection problem in C#

    This is how I did it in the end. Comments and suggestions are welcome as usual. :)   [source] _operationMap = new Dictionary<Type, Delegate.dlgOperation>(); _operationMap.Add(typeof(float), OperationFloat); ...   // Snippet from method where effects are getting applied.... ... foreach (Unit unit in targetUnits) {     object op1 = unit.GetType().GetProperty(modifier.effect.baseStat).GetGetMethod().Invoke(unit, null);     object op2 = modifier.effect.value;       PropertyInfo result = unit.GetType().GetProperty(modifier.effect.resultStat);     object retValue = _operationMap[op1.GetType()](op1, op2, modifier.effect.operation);     result.SetValue(unit, retValue, null); } ...   // One of the handler functions private object OperationFloat(object op1, object op2, BuffsDatabase.Operation operation) {    float o1 = (float)op1;     float o2 = float.Parse(op2 as String);    float result = 0f;      switch (operation)    {         case BuffsDatabase.Operation.ASSIGN: result = o2; break;         case BuffsDatabase.Operation.ADD: result = o1 + o2; break;         case BuffsDatabase.Operation.MULTIPLY: result = o1 * o2; break;         default: DebugUtils.Error("ERROR: Invalid Operation encountered in OperationFloat()!"); break;     }       return result as object; } [/source]     Thing works like a charm now.. Thanks for all your help guys. Love ya! 
  2. Unity Reflection problem in C#

      I cannot because I would not know the actual type of the stat that has been read in.           This should work for me. I have int, float and 3 types of enums among all my stats so it should be manageable.   Even Jeff's suggestion should work for me.          I need to get down to the board and find out which one seems better. Will post solution soon. Thanks a lot guys. 
  3. I am writing a small game in Unity3D. There are special effects for the units in the game which take effect and are customizable.    I have written a custom script so that the effects can be created on the fly through a data fly.  Eg. The below script creates a buffID "Naptha" which give all archers in the player's army a fire arrow; fire damage is 15% of the base attack value.   [source] #buff Naptha {          mod(SELF,[ARCHER],SpecialType = FIRE)          mod(SELF,[ARCHER],SpecialDamage = AttackDamage * 0.15) } #end [/source]     A parser parses the file into recognizable tokens.  All the stuff in CAPS are enum types. and SpecialDamage, AttackDamage are float properties of the Unit Class among others. Now the idea is to collect the values from the specified properties using reflection, calculate them and then feed back the result.    Now I can extract the value of a property like so -- [source]object value1 = testUnit.GetType().GetProperty("AttackDamage").GetGetMethod().Invoke(testUnit, null);[/source]   I can even get the type of the property like so -- [source]Type baseStatType = testUnit.GetType().GetProperty("AttackDamage").PropertyType[/source]   Here come my problem. I cannot perform calculations with object types and I am not able to cast it to a type first as even the type is determined through reflection. How to proceed with this ?   Basically I want something like this to work ---   [source] Type baseStatType = testUnit.GetType().GetProperty("AttackDamage").PropertyType object value2 = testUnit.GetType().GetProperty("AttackDamage").GetGetMethod().Invoke(testUnit, null) baseStatType value1 = (baseStatType) value2 * (baseStatType) param;   PropertyInfo result = testUnit.GetType().GetProperty("SpecialDamage"); result.SetValue(testUnit, value1, null); [/source] The other way I can think of (but dont want to do) is a dirty switch case based on the propertyname.
  4. Awesome. I'm all ears.. errm. eyes. :)
  5. Like Snake movement

    There are much better ways to do it. When you got your way working, think about how you can possible make it better. All the best.
  6. Like Snake movement

    When you start moving in a direction, you got to set the flags of all other directions to false. if(key=='a') { movingleft=true; movingright = false; movingup = ... ... } Also there needs to be an else if in the last if blocks. if(movingleft==true) { camerax-=0.001; glutPostRedisplay(); } else if (movingright==true) { ... } else if ..... { ... }
  7. Should I go with XNA or UDK for an Indie action game

    UDK is a huge and heavy game tool and its editor is packed with features. Not so ideal for a laptop processor/graphics or its smaller screen size. Unless you move around a lot, getting a desktop would definitely be the way to go.
  8. Best 3d modelling software for beginners?

    [quote name='6677' timestamp='1340660955' post='4952803'] For my planned XNA game I'm gonna use my sketchup .x exporter but I don't know if .x works in unity. [/quote] Unity imports .fbx and .collada formats only. Out of them, the .fbx is the preferred import format. Here is a list of all 3D applications which can generate content compatible with Unity3D - [url="http://unity3d.com/unity/editor/importing"]http://unity3d.com/u...ditor/importing[/url] Hope this helps.
  9. Unreal Engine 3: Code

    UnrealScript is meant for use with unreal engine only and is a highly abstracted scripting language that allows you to focus on writing gameplay without dealing with advanced programming concepts. Performance wise, its much slower than C++, as it uses a middle-ware interpreter to execute. However, for "almost" all gameplay programming needs in UDK, it should suffice. Infact, even Epic suggests to code gameplay with UnrealScript and not C++, unless you are working on really performance driven engine code. Hope this helps.
  10. isometric

    First, they are hand-drawn on by artists on paper with reference from other art from the game to reflect the same style, perspective, etc. Then, they are modelled and textured in Maya. Finally, it comes back as a rendered image and the final touches are applied to it in Photoshop. So yes, [quote name='JTippetts' timestamp='1339334816' post='4947911'] Any 3D modeller + 2D paint app combo will do. Basic stuff. [/quote] that's as correct as you can get.
  11. [quote name='glhf' timestamp='1339274712' post='4947743'] I can't wait until people start respecting REAL game designers instead of calling the programmer with an idea in his head the designer. [/quote] This is totally uncalled for. What Legendre said, is not entirely untrue and very much reflects REAL life situations in REAL game studios and I know what I am talking about. As for you glhf, how many games have you designed previously for REAL? Not much, I'm guessing from the topic of your first post. The topic has become something that is very unlike gamedev.net. I think its time someone closed off this topic!
  12. Senior Project - XNA

    There are some good books for C# with XNA. I would personally recommend the Packt one ([url="http://www.packtpub.com/xna-4-0-game-development-by-example-beginners-guide/book"]http://www.packtpub.com/xna-4-0-game-development-by-example-beginners-guide/book[/url]) but there are other great ones as well. If you absolutely [b]MUST [/b]start making a game right [b]NOW [/b]with C#, then try using Unity3D. Its forums have lot of examples on the scripting required. Good luck!
  13. Need C++ Roguelike Tutorial

    [quote name='Josh Petrie' timestamp='1339085268' post='4947077'] There's [url="http://roguebasin.roguelikedevelopment.org/index.php/Main_Page"]RogueBasin[/url], which evolved from [url="http://www.roguelikedevelopment.org/"]Dungeondweller[/url] (which I mention for posterity only, as most of its information is likely extremely outmoded these days). You may also want to check out [url="http://journal.stuffwithstuff.com/2010/06/11/amaranth-an-open-source-roguelike-in-c/"]Amaranth[/url]. [/quote] Man, I did not even know one!!
  • Advertisement