Esempio n. 1
0
File: Game.cs Progetto: roaet/LD28
 public void LoadGame()
 {
     m_cardManager = new CardManager(cardFile);
     m_mobManager = new MobManager(mobFile);
     m_characterManager = new CharacterManager(characterFile);
     Application.LoadLevel("game");
 }
Esempio n. 2
0
File: Event.cs Progetto: roaet/LD28
 public void LoadEventInfo(MobManager mobManager, Storytrack storyTrack, EventInfo info)
 {
     ClearMobs();
     m_st = storyTrack;
     m_info = info;
     foreach(string mobName in m_info.mobs) {
         MobInfo mobInfo = mobManager.GetMobByName(mobName);
         Mob mob = CreateMob(mobInfo, transform.position);
         if(mob == null) continue;
         m_mobs.Add(mob);
     }
     MoveMobsToSpawns();
 }
 public void SetMobManager(MobManager mobManager)
 {
     _mobManager = mobManager;
 }
Esempio n. 4
0
 // Use this for initialization
 void Start()
 {
     timer = atkspeed;
     aMobManager = FindObjectOfType<MobManager>();
     target = aMobManager.AllMob[0].gameObject;
 }
Esempio n. 5
0
 void Start()
 {
     mobAnimator = GetComponent <Animator>();
     rb          = this.GetComponent <Rigidbody2D>();
     targetPos   = MobManager.GetPlayerPosition();
 }
Esempio n. 6
0
File: Level.cs Progetto: roaet/LD28
    public void LoadLevel(string level)
    {
        ResetAllTheThings();
        int loadedTiles = storyTrack.LoadStoryTrackJSON(level);
        if(loadedTiles > 0) {
            storyTrack.Display();
        }
        if(m_debug) {
            m_debugCardManager = new CardManager("cards");
            m_debugMobManager = new MobManager("mobs");
            m_debugCharManager = new CharacterManager("characters");
        }

        CharacterInfo info = characterManager.GetCharacterByName("squire");
        Person p = new Person(info);
        characterManager.AddPersonToParty(p);

        playerHand.cardManager = cardManager;
        playerHand.level = this;
        m_state = TurnState.draw;
    }
Esempio n. 7
0
    // Use this for initialization
    void Start()
    {
        int index = Random.Range(0, 2);

        player = MobManager.GetPlayer(index);
    }
Esempio n. 8
0
 private void Awake()
 {
     instance = this;
 }
Esempio n. 9
0
 public int addNewMob(MobManager mob)
 {
     mobs.Add(mobs.Keys.Count, mob);
     return(mobs.Keys.Count);
 }
Esempio n. 10
0
 void Start()
 {
     timer = atkspeed;
     aMobManager = FindObjectOfType<MobManager>();
     ChooseNearestMob();
 }
Esempio n. 11
0
 private void Awake()
 {
     targetPos = MobManager.GetPlayerPosition();
 }
Esempio n. 12
0
 public static Mob FindRandomMob(this MobManager mobManager, List <Mob> exludedMobs)
 {
     return(mobManager.FindRandomMobOfType <Mob>(exludedMobs));
 }
Esempio n. 13
0
        public static void UpdatePlayerPositionData(sbyte[] packetData, int length)
        {
            try
            {
                if (!Mudclient.hasWorldInfo)
                {
                    return;
                }

                MobManager.lastPlayerCount = MobManager.playerCount;
                for (int k = 0; k < MobManager.lastPlayerCount; k++)
                {
                    MobManager.lastPlayerArray[k] = MobManager.playerArray[k];
                }

                int off = 8;
                Mudclient.SectionX = DataOperations.getBits(packetData, off, 11);
                off += 11;
                Mudclient.SectionY = DataOperations.getBits(packetData, off, 13);
                off += 13;
                int sprite = DataOperations.getBits(packetData, off, 4);

                off += 4;

                // boolean sectionLoaded = loadSection(sectionX, sectionY);
                Debug.Log("Before Load");

                var sectionLoaded = Mudclient.LoadSection(Mudclient.SectionX, Mudclient.SectionY);

                Mudclient.SectionX -= Mudclient.AreaX;
                Mudclient.SectionY -= Mudclient.AreaY;

                int mapEnterX = Mudclient.SectionX * 128 + 64;
                int mapEnterY = Mudclient.SectionY * 128 + 64;



                if (sectionLoaded)
                {
                    Mudclient.TerrainUpdateNecessary = true;

                    if (MobManager.MyPlayer == null)
                    {
                        MobManager.MyPlayer = new Player();
                    }

                    MobManager.MyPlayer.CurrentSprite = sprite;
                    MobManager.MyPlayer.currentX      = mapEnterX;
                    MobManager.MyPlayer.currentY      = mapEnterY;

                    // MobManager.MyPlayer.SectionX
                }

                MobManager.playerCount = 0;


                int newPlayerCount = DataOperations.getBits(packetData, off, 16);
                // off += 8;
                off += 16;
                for (int currentNewPlayer = 0; currentNewPlayer < newPlayerCount; currentNewPlayer++)
                {
                    //Mob mob = lastPlayerArray[currentNewPlayer + 1];
                    Mob mob = MobManager.GetLastPlayer(DataOperations.getBits(packetData, off, 16));
                    off += 16;
                    int playerAtTile = DataOperations.getBits(packetData, off, 1);
                    off++;
                    if (playerAtTile != 0)
                    {
                        int waypointsLeft = DataOperations.getBits(packetData, off, 1);
                        off++;
                        if (waypointsLeft == 0)
                        {
                            int currentNextSprite = DataOperations.getBits(packetData, off, 3);
                            off += 3;
                            int currentWaypoint = mob.WaypointCurrent;
                            int newWaypointX    = mob.WaypointsX[currentWaypoint];
                            int newWaypointY    = mob.WaypointsY[currentWaypoint];
                            if (currentNextSprite == 2 || currentNextSprite == 1 || currentNextSprite == 3)
                            {
                                newWaypointX += Mudclient.gridSize;
                            }
                            if (currentNextSprite == 6 || currentNextSprite == 5 || currentNextSprite == 7)
                            {
                                newWaypointX -= Mudclient.gridSize;
                            }
                            if (currentNextSprite == 4 || currentNextSprite == 3 || currentNextSprite == 5)
                            {
                                newWaypointY += Mudclient.gridSize;
                            }
                            if (currentNextSprite == 0 || currentNextSprite == 1 || currentNextSprite == 7)
                            {
                                newWaypointY -= Mudclient.gridSize;
                            }
                            mob.NextSprite                  = currentNextSprite;
                            mob.WaypointCurrent             = currentWaypoint = (currentWaypoint + 1) % 10;
                            mob.WaypointsX[currentWaypoint] = newWaypointX;
                            mob.WaypointsY[currentWaypoint] = newWaypointY;
                        }
                        else
                        {
                            int needsNextSprite = DataOperations.getBits(packetData, off, 4);
                            off += 4;
                            if ((needsNextSprite & 0xc) == 12)
                            {
                                continue;
                            }
                            mob.NextSprite = needsNextSprite;
                        }
                    }
                    MobManager.playerArray[MobManager.playerCount++] = mob;
                }

                int mobCount = 0;
                while (off + 24 < length * 8)
                {
                    int mobIndex = DataOperations.getBits(packetData, off, 16);
                    off += 16;
                    int areaMobX = DataOperations.getBits(packetData, off, 5);
                    off += 5;
                    if (areaMobX > 15)
                    {
                        areaMobX -= 32;
                    }
                    int areaMobY = DataOperations.getBits(packetData, off, 5);
                    off += 5;
                    if (areaMobY > 15)
                    {
                        areaMobY -= 32;
                    }
                    int mobSprite = DataOperations.getBits(packetData, off, 4);
                    off += 4;
                    int addIndex = DataOperations.getBits(packetData, off, 1);
                    off++;
                    int mobX = (Mudclient.SectionX + areaMobX) * Mudclient.gridSize + 64;
                    int mobY = (Mudclient.SectionY + areaMobY) * Mudclient.gridSize + 64;
                    MobManager.CreatePlayer(mobIndex, mobX, mobY, mobSprite);
                    if (addIndex == 0)
                    {
                        MobManager.playerBufferArrayIndexes[mobCount++] = mobIndex;
                    }
                }
                if (mobCount > 0)
                {
                    Mudclient.Instance.streamClass.createPacket(74);
                    Mudclient.Instance.streamClass.addShort(mobCount);
                    for (int currentMob = 0; currentMob < mobCount; currentMob++)
                    {
                        Mob dummyMob = MobManager.playerBufferArray[MobManager.playerBufferArrayIndexes[currentMob]];
                        Mudclient.Instance.streamClass.addShort(dummyMob.ServerIndex);
                        Mudclient.Instance.streamClass.addShort(dummyMob.WornItemsID);
                    }
                    Mudclient.Instance.streamClass.formatPacket();

                    Mudclient.Instance.streamClass.createPacket(14);                     // 83
                    Mudclient.Instance.streamClass.addShort(mobCount);
                    for (int k40 = 0; k40 < mobCount; k40++)
                    {
                        Mob f5 = MobManager.playerBufferArray[MobManager.playerBufferArrayIndexes[k40]];
                        Mudclient.Instance.streamClass.addShort(f5.ServerIndex);
                        Mudclient.Instance.streamClass.addShort(f5.ServerID);
                    }

                    Mudclient.Instance.streamClass.formatPacket();
                    mobCount = 0;
                }
            }
            catch (Exception exc) { Debug.LogException(exc); }
        }
Esempio n. 14
0
        public static void UpdateNpcPositionData(sbyte[] data, int length)
        {
            try
            {
                MobManager.lastNpcCount = MobManager.npcCount;
                MobManager.npcCount     = 0;

                for (int lastNpcIndex = 0; lastNpcIndex < MobManager.lastNpcCount; lastNpcIndex++)
                {
                    MobManager.lastNpcArray[lastNpcIndex] = MobManager.npcArray[lastNpcIndex];
                }

                //	MobManager.LastNpcList = MobManager.NpcList.ToList(); // .ToList() to force it to make it into a copy

                //	MobManager.NpcList.Clear();


                int newNpcOffset = 8;
                int newNpcCount  = DataOperations.getBits(data, newNpcOffset, 16);

                newNpcOffset += 16;

                for (int newNpcIndex = 0; newNpcIndex < newNpcCount; newNpcIndex++)
                {
                    int serverIndex = DataOperations.getBits(data, newNpcOffset, 16);
                    Mob newNPC      = MobManager.GetLastNpc(serverIndex);
                    newNpcOffset += 16;
                    int npcNeedsUpdate = DataOperations.getBits(data, newNpcOffset, 1);
                    newNpcOffset++;
                    if (npcNeedsUpdate != 0)
                    {
                        int i32 = DataOperations.getBits(data, newNpcOffset, 1);
                        newNpcOffset++;
                        if (i32 == 0)
                        {
                            int nextSprite = DataOperations.getBits(data, newNpcOffset, 3);
                            newNpcOffset += 3;
                            int waypointCurrent = newNPC.WaypointCurrent;
                            int waypointX       = newNPC.WaypointsX[waypointCurrent];
                            int waypointY       = newNPC.WaypointsY[waypointCurrent];
                            if (nextSprite == 2 || nextSprite == 1 || nextSprite == 3)
                            {
                                waypointX += 128;
                            }
                            if (nextSprite == 6 || nextSprite == 5 || nextSprite == 7)
                            {
                                waypointX -= 128;
                            }
                            if (nextSprite == 4 || nextSprite == 3 || nextSprite == 5)
                            {
                                waypointY += 128;
                            }
                            if (nextSprite == 0 || nextSprite == 1 || nextSprite == 7)
                            {
                                waypointY -= 128;
                            }
                            newNPC.NextSprite                  = nextSprite;
                            newNPC.WaypointCurrent             = waypointCurrent = (waypointCurrent + 1) % 10;
                            newNPC.WaypointsX[waypointCurrent] = waypointX;
                            newNPC.WaypointsY[waypointCurrent] = waypointY;
                        }
                        else
                        {
                            int nextSpriteOffset = DataOperations.getBits(data, newNpcOffset, 4);
                            newNpcOffset += 4;
                            if ((nextSpriteOffset & 0xc) == 12)
                            {
                                continue;
                            }
                            newNPC.NextSprite = nextSpriteOffset;
                        }
                    }

                    MobManager.npcArray[MobManager.npcCount++] = newNPC;
                    //Mudclient.npcCount++;
                }



                while (newNpcOffset + 34 < length * 8)
                {
                    int serverIndex = DataOperations.getBits(data, newNpcOffset, 16);
                    newNpcOffset += 16;
                    int offsetX = DataOperations.getBits(data, newNpcOffset, 5);
                    newNpcOffset += 5;
                    if (offsetX > 15)
                    {
                        offsetX -= 32;
                    }
                    int offsetY = DataOperations.getBits(data, newNpcOffset, 5);
                    newNpcOffset += 5;
                    if (offsetY > 15)
                    {
                        offsetY -= 32;
                    }
                    int nextSprite = DataOperations.getBits(data, newNpcOffset, 4);
                    newNpcOffset += 4;
                    int x    = (Mudclient.SectionX + offsetX) * 128 + 64;
                    int y    = (Mudclient.SectionY + offsetY) * 128 + 64;
                    int type = DataOperations.getBits(data, newNpcOffset, 10);
                    newNpcOffset += 10;

                    if (type >= Data.npcCount)
                    {
                        type = 24;
                    }

                    MobManager.CreateNPC(serverIndex, x, y, nextSprite, type);

                    /* addNPC(serverIndex, x, y, nextSprite, type); */
                }
            }
            catch { }
        }
Esempio n. 15
0
 void Start()
 {
     timer       = atkspeed;
     aMobManager = FindObjectOfType <MobManager>();
     ChooseNearestMob();
 }
Esempio n. 16
0
    private void createSkill(string pathToEffect, Vector3 spawnPositionOffset, GameObject target, Vector3 rotationInEuler, string type, int range, Vector3 spawnPosition, MobManager m)
    {
        SkillCastInfo skillInfo = new SkillCastInfo();

        skillInfo.pathToEffect    = pathToEffect;
        skillInfo.offset          = spawnPositionOffset;
        skillInfo.targetPosition  = new Vector3(spawnPosition.x + spawnPositionOffset.x, spawnPosition.y + spawnPositionOffset.y, spawnPosition.z + spawnPositionOffset.z);      //new Vector3(target.transform.position.x + spawnPositionOffset.x, target.transform.position.y + spawnPositionOffset.y, target.transform.position.z + spawnPositionOffset.z);
        skillInfo.rotationInEuler = rotationInEuler;
        skillInfo.netId           = this.GetComponent <NetworkIdentity>().netId;
        skillInfo.skillType       = type;
        skillInfo.range           = range;
        GameObject o = spawnSkillEffect(skillInfo);

        o.transform.localScale = new Vector3(target.transform.lossyScale.x * 4, target.transform.lossyScale.y * 4, target.transform.lossyScale.z * 4);
        StartCoroutine(updateSkillPosition(target, o, spawnPositionOffset));
        if (target != null)
        {
            skillInfo.enemyNetId = target.GetComponent <NetworkIdentity>().netId;
            o.GetComponent <SkillCastManager>().targetEntity = m;
            m.targeted = true;
        }
        con.Send(PacketTypes.CREATE_SKILL, skillInfo);
    }