Exemplo n.º 1
0
        private void LoadCharacterRig(string name, string[] lines)
        {
            Display = new GCharacter();
            int partnum = Int32.Parse(lines[0]);

            for (int i = 0; i < partnum; i++)
            {
                GPart  part     = new GPart();
                string partName = lines[i * 3 + 1];
                part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Character/" + name + "/" + partName + "/Front.png")));
                part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Character/" + name + "/" + partName + "/Right.png")));
                part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Character/" + name + "/" + partName + "/Back.png")));
                part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Character/" + name + "/" + partName + "/Left.png")));
                string[] rotCenterStrings = lines[i * 3 + 2].Split(" ");
                part.RotationCenter = new Vector2f(float.Parse(rotCenterStrings[0]), float.Parse(rotCenterStrings[1]));
                string[] originStrings = lines[i * 3 + 3].Split(" ");
                part.Origin = new Vector3f(float.Parse(originStrings[0]), float.Parse(originStrings[1]), float.Parse(originStrings[1]));
                Display.Parts.Add(part);
            }
            Display.State.ID      = 0;
            Display.State.facing  = 0;
            Display.State.elapsed = Time.Zero;
            int animnum = Int32.Parse(lines[partnum * 3 + 1]);

            for (int i = 0; i < animnum; i++)
            {
                Animation animation = new Animation();
                string    animName  = lines[partnum * 3 + 2 + i];
                string[]  amimLines = File.ReadAllLines("../../../Resources/Graphics/Character/" + name + "/Animations/" + animName + ".txt");
                int       sum       = 0;
                for (int j = 0; j < partnum; j++)
                {
                    AnimationPart part      = new AnimationPart();
                    int           animSteps = Int32.Parse(amimLines[sum++]);
                    for (int k = 0; k < animSteps; k++)
                    {
                        AnimationStep step     = new AnimationStep();
                        string[]      stepInfo = amimLines[sum++].Split(" ");
                        step.Duration = Time.FromSeconds(float.Parse(stepInfo[0]));
                        step.Rotation = float.Parse(stepInfo[1]);
                        part.Steps.Add(step);
                    }
                    animation.Parts.Add(part);
                }

                if (amimLines.Last() == "Y")
                {
                    animation.Repeatable = true;
                }
                else
                {
                    animation.Repeatable = false;
                }
                Display.Animations.Add(animation);
            }
        }
Exemplo n.º 2
0
    public void Init()
    {
        FocusPoint = Vector2.zero;

        setupDataStructures();
        WorldMachine.WMachine.Init();
        WorldMachine.WMachine.generator.generateScenery();

        // TESTS
        //OBJ_SmallCrate crate = new OBJ_SmallCrate ();
        //crate.setPosition (new Vector2(3, 1), new Vector2(0, 0));

        //OBJ_RockItem rock = new OBJ_RockItem ();
        //rock.setPosition (new Vector2(2, 1), new Vector2(0, 0));


        //crate.setPosition (new Vector2(24, 24));

        Vector2 position = Vector2.zero;

        position = new Vector2(400, 400);
        if (!getTileFromWorldPoint(position).isBlocked())
        {
            active_player = new OBJ_Player("Player");
            active_player.setPosition(position);
        }

        for (int i = 0; i < 8; ++i)
        {
            position = new Vector2(400 + UnityEngine.Random.Range(-400, 400), 400 + UnityEngine.Random.Range(-400, 400));
            if (!getTileFromWorldPoint(position).isBlocked())
            {
                GCharacter charac = new GCharacter();
                charac.setPosition(position);
                charac.setBehaviour(new Behaviour_PaceRandomly());
            }
        }

        for (int i = 0; i < 30; ++i)
        {
            position = new Vector2(400 + UnityEngine.Random.Range(-400, 400), 400 + UnityEngine.Random.Range(-400, 400));
            if (!getTileFromWorldPoint(position).isBlocked())
            {
                OBJ_Rabbit bunny = new OBJ_Rabbit("a bunny");
                bunny.setPosition(position);
                bunny.setBehaviour(new Behaviour_PaceRandomly());
            }
        }
        // END TESTS
    }
Exemplo n.º 3
0
 public PEnvironment(string name, Game game)
 {
     Game = game;
     try
     {
         LoadGraphics(name);
     }
     catch (FileNotFoundException fileNotFoundException)
     {
         Console.WriteLine("No graphics setup file for " + name);
         Console.WriteLine("Initializing as default texture");
         GPart defPart = new GPart();
         defPart.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/default.png")));
         GCharacter defCharacter = new GCharacter();
         defCharacter.Parts.Add(defPart);
         AnimationStep defStep = new AnimationStep();
         defStep.Duration = Time.FromSeconds(1f);
         defStep.Rotation = 0;
         AnimationPart defAnimPart = new AnimationPart();
         defAnimPart.Steps.Add(defStep);
         Animation defAnim = new Animation();
         defAnim.Parts.Add(defAnimPart);
         defCharacter.Animations.Add(defAnim);
         Display = defCharacter;
     }
     catch (DirectoryNotFoundException directoryNotFoundException)
     {
         Console.WriteLine("No graphics setup file for " + name);
         Console.WriteLine("Initializing as default texture");
         GPart defPart = new GPart();
         defPart.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/default.png")));
         GCharacter defCharacter = new GCharacter();
         defCharacter.Parts.Add(defPart);
         AnimationStep defStep = new AnimationStep();
         defStep.Duration = Time.FromSeconds(1f);
         defStep.Rotation = 0;
         AnimationPart defAnimPart = new AnimationPart();
         defAnimPart.Steps.Add(defStep);
         Animation defAnim = new Animation();
         defAnim.Parts.Add(defAnimPart);
         defCharacter.Animations.Add(defAnim);
         Display = defCharacter;
     }
 }
Exemplo n.º 4
0
        public void LoadDefault()
        {
            GPart defPart = new GPart();

            defPart.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/default.png")));
            GCharacter defCharacter = new GCharacter();

            defCharacter.Parts.Add(defPart);
            AnimationStep defStep = new AnimationStep();

            defStep.Duration = Time.FromSeconds(1f);
            defStep.Rotation = 0;
            AnimationPart defAnimPart = new AnimationPart();

            defAnimPart.Steps.Add(defStep);
            Animation defAnim = new Animation();

            defAnim.Parts.Add(defAnimPart);
            defCharacter.Animations.Add(defAnim);
            Display = defCharacter;
        }
Exemplo n.º 5
0
    public string getDefaultResourceIdentifier(CharBodyPart slot, GCharacter character)
    {
        switch (slot)
        {
        case CharBodyPart.Arms:
            return("MaleArms1");

            break;

        case CharBodyPart.Head:
            return("MaleHead1");

            break;

        case CharBodyPart.Hair:
            return("MaleHairBrown1");

            break;

        case CharBodyPart.Torso:
            return("MaleTorso1");

            break;

        case CharBodyPart.Legs:
            return("MaleLegs1");

            break;

        case CharBodyPart.Feet:
            return("MaleFeet1");

            break;
        }
        return("invalid");
    }
Exemplo n.º 6
0
 public void LoadGraphics(string name)
 {
     try
     {
         GPart part = new GPart();
         part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Environment/" + name + "/" +
                                                     name + ".png")));
         GCharacter character = new GCharacter();
         character.Parts.Add(part);
         AnimationStep step = new AnimationStep();
         step.Duration = Time.FromSeconds(1f);
         step.Rotation = 0;
         AnimationPart animPart = new AnimationPart();
         animPart.Steps.Add(step);
         Animation anim = new Animation();
         anim.Parts.Add(animPart);
         character.Animations.Add(anim);
         Display = character;
     }
     catch (LoadingFailedException e)
     {
         Console.WriteLine("No graphics file for " + name);
     }
 }
Exemplo n.º 7
0
        private void LoadProjectile(string name)
        {
            GPart part = new GPart();

            part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Environment/" + name + "/" + "Front.png")));
            part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Environment/" + name + "/" + "Right.png")));
            part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Environment/" + name + "/" + "Back.png")));
            part.BaseTexture.Add(new Sprite(new Texture("../../../Resources/Graphics/Environment/" + name + "/" + "Left.png")));
            GCharacter character = new GCharacter();

            character.Parts.Add(part);
            AnimationStep step = new AnimationStep();

            step.Duration = Time.FromSeconds(1f);
            step.Rotation = 0;
            AnimationPart animPart = new AnimationPart();

            animPart.Steps.Add(step);
            Animation anim = new Animation();

            anim.Parts.Add(animPart);
            character.Animations.Add(anim);
            Display = character;
        }
Exemplo n.º 8
0
 public string getDefaultResourceIdentifier(CharBodyPart slot, GCharacter character)
 {
     switch(slot) {
     case CharBodyPart.Arms:
         return "MaleArms1";
         break;
     case CharBodyPart.Head:
         return "MaleHead1";
         break;
     case CharBodyPart.Hair:
         return "MaleHairBrown1";
         break;
     case CharBodyPart.Torso:
         return "MaleTorso1";
         break;
     case CharBodyPart.Legs:
         return "MaleLegs1";
         break;
     case CharBodyPart.Feet:
         return "MaleFeet1";
         break;
     }
     return "invalid";
 }
Exemplo n.º 9
0
    public void Init()
    {
        FocusPoint = Vector2.zero;

        setupDataStructures ();
        WorldMachine.WMachine.Init ();
        WorldMachine.WMachine.generator.generateScenery ();

        // TESTS
        //OBJ_SmallCrate crate = new OBJ_SmallCrate ();
        //crate.setPosition (new Vector2(3, 1), new Vector2(0, 0));

        //OBJ_RockItem rock = new OBJ_RockItem ();
        //rock.setPosition (new Vector2(2, 1), new Vector2(0, 0));

        //crate.setPosition (new Vector2(24, 24));

        Vector2 position = Vector2.zero;

        position = new Vector2 (400, 400);
        if(!getTileFromWorldPoint(position).isBlocked()) {
            active_player = new OBJ_Player ("Player");
            active_player.setPosition (position);
        }

        for (int i = 0; i < 8; ++i) {
            position = new Vector2(400+UnityEngine.Random.Range(-400, 400), 400+UnityEngine.Random.Range(-400, 400));
                if(!getTileFromWorldPoint(position).isBlocked()) {
                GCharacter charac = new GCharacter ();
                charac.setPosition (position);
                charac.setBehaviour (new Behaviour_PaceRandomly());
            }
        }

        for (int i = 0; i < 30; ++i) {
            position = new Vector2(400+UnityEngine.Random.Range(-400, 400), 400+UnityEngine.Random.Range(-400, 400));
            if(!getTileFromWorldPoint(position).isBlocked()) {
                OBJ_Rabbit bunny = new OBJ_Rabbit ("a bunny");
                bunny.setPosition (position);
                bunny.setBehaviour (new Behaviour_PaceRandomly());
            }
        }
        // END TESTS
    }