コード例 #1
0
    public void Initialize(AiData aiData, WanderData wanderData, CharacterAnimation animation, CharacterCombat combat)
    {
        this.aiData     = aiData;
        this.wanderData = wanderData;

        this.animation = animation;
        this.combat    = combat;
    }
コード例 #2
0
        //********************************************************************************************
        //Method:     private void Wander(object obj)
        //Purpose:    thread operation/ get new x,y/ get rdm color
        //            displays SizeLabel to size selected in MYSizeDialog
        //Parameters: object obj - is inital coordinates
        //                         pixels amount set by trackbar
        //*********************************************************************************************
        private void Wander(object obj)
        {
            Random rdmVel = new Random(); // create a rdm generator for velocity x,y posistions
            int    xPos;                  // hold x cordinates
            int    yPos;                  // hold y cordinates

            // if object is in struct start running program
            if (obj is WanderData)
            {
                // create struct varaible
                WanderData wan = (WanderData)obj;

                // coordinates to be passed through from starting point
                xPos = wan.x;
                yPos = wan.y;

                // get radom colors for thread
                Color pickOne = RandColor.GetColor();

                // loop thruogh as many pixels as diceid from trackbar value
                for (int x = 0; x < wan.pCount; x++)
                {
                    // draw within gdi window
                    if (xPos >= 0 && xPos <= WIDTH - 1 && yPos >= 0 && yPos <= HEIGHT - 1)
                    {
                        //send parameters through deleagete to
                        try
                        {
                            Invoke(new delColor(changePixel), xPos, yPos, pickOne);
                            Thread.Sleep(1);
                        }
                        // if obj is dispoed, error
                        catch (ObjectDisposedException error)
                        {
                            MessageBox.Show(error.Message, "ahhh", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    // if positioning outside if window
                    //keep running until its insdie of window
                    else
                    {
                        x--;
                    }
                    // get rdm locations for x and y velocitys for next loop
                    xPos += rdmVel.Next(-1, 2);
                    yPos += rdmVel.Next(-1, 2);
                }
            }
        }
コード例 #3
0
        // occurs on evey mouse click
        // draw thred based on where you clicked in gdi window
        // amount of pixels drawn baed on trackbar value
        // call wander method to to start drawing
        // set to backgground
        private void timer1_Tick(object sender, EventArgs e)
        {
            Point      click;                         // start thred on mouse click
            WanderData wanderdata = new WanderData(); // varaible for struct

            // draw thred based on where you clicked in gdi window
            if (_draw.GetLastMouseLeftClick(out click))
            {
                wanderdata.pCount    = trackBar1.Value;
                wanderdata.x         = click.X;
                wanderdata.y         = click.Y;
                _wander              = new Thread(new ParameterizedThreadStart(Wander));
                _wander.IsBackground = true;
                _wander.Start(wanderdata);
            }
        }
コード例 #4
0
    public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
    {
        while (reader.BaseStream.Position < header.DataEndPos)
        {
            var type = (SubRecordType)reader.ReadInt32();
            var size = reader.ReadInt32();

            switch (type)
            {
            case SubRecordType.Id:
                name = reader.ReadString(size);
                break;

            case SubRecordType.Model:
                model = reader.ReadString(size);
                break;

            case SubRecordType.Name:
                fullName = reader.ReadString(size);
                break;

            case SubRecordType.RaceName:
                race = Record.GetRecord <Race>(reader.ReadString(size));
                break;

            // Npc's have this even if they are part of no faction, so it needs to be checked if empty first
            case SubRecordType.Anam:
                string fac = reader.ReadString(size);
                faction = string.IsNullOrEmpty(fac) ? null : faction = Record.GetRecord <Faction>(fac);
                break;

            case SubRecordType.BodyName:
                head = BodyPartRecord.Get(reader.ReadString(size));
                break;

            case SubRecordType.CreatureName:
                classId = Record.GetRecord <ClassRecord>(reader.ReadString(size));
                break;

            case SubRecordType.KeyName:
                hair = BodyPartRecord.Get(reader.ReadString(size));
                break;

            case SubRecordType.NpcData:
                npcData = new NpcRecordData(reader, size);
                break;

            case SubRecordType.Flag:
                npcFlags = (NpcFlags)reader.ReadInt32();
                break;

            case SubRecordType.InventoryItem:
                items.Add(new InventoryItem(reader));
                break;

            case SubRecordType.NpcSpell:
                spells.Add(Record.GetRecord <SpellRecord>(reader.ReadString(size)));
                break;

            case SubRecordType.AiData:
                aiData = new AiData(reader);
                break;

            case SubRecordType.AiWanderData:
                wanderData = new WanderData(reader);
                break;

            case SubRecordType.AiTravelData:
                travelData = new TravelData(reader);
                break;

            case SubRecordType.AiFollowData:
                followData = new FollowData(reader);
                break;

            case SubRecordType.AiEscortData:
                escortData = new EscortData(reader);
                break;

            case SubRecordType.ContainerData:
                cellEscortFollow = reader.ReadString(size);
                break;

            case SubRecordType.AiActivateData:
                activateData = new ActivateData(reader);
                break;

            case SubRecordType.DoorData:
                destinationData.Add(DoorExitData.Create(reader));
                break;

            case SubRecordType.DoorName:
                destinations.Add(reader.ReadString(size));
                break;

            case SubRecordType.Scale:
                scale = reader.ReadSingle();
                break;

            case SubRecordType.Script:
                script = Script.Get(reader.ReadString(size));
                break;
            }
        }
    }
コード例 #5
0
    public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
    {
        while (reader.BaseStream.Position < header.DataEndPos)
        {
            var type = (SubRecordType)reader.ReadInt32();
            var size = reader.ReadInt32();

            switch (type)
            {
            case SubRecordType.Id:
                name = reader.ReadString(size);
                break;

            case SubRecordType.Model:
                model = reader.ReadString(size);
                break;

            case SubRecordType.Name:
                fullName = reader.ReadString(size);
                break;

            case SubRecordType.Script:
                script = Script.Get(reader.ReadString(size));
                break;

            case SubRecordType.AiData:
                aiData = new AiData(reader);
                break;

            case SubRecordType.AiActivateData:
                activateData = new ActivateData(reader);
                break;

            case SubRecordType.AiEscortData:
                escortData = new EscortData(reader);
                break;

            case SubRecordType.AiFollowData:
                followData = new FollowData(reader);
                break;

            case SubRecordType.AiTravelData:
                travelData = new TravelData(reader);
                break;

            case SubRecordType.AiWanderData:
                wanderData = new WanderData(reader);
                break;

            case SubRecordType.CreatureName:
                soundGeneratorName = reader.ReadString(size);
                break;

            case SubRecordType.InventoryItem:
                items.Add(new InventoryItem(reader));
                break;

            case SubRecordType.NpcSpell:
                spells.Add(Record.GetRecord <SpellRecord>(reader.ReadString(size)));
                break;

            case SubRecordType.Scale:
                scale = reader.ReadSingle();
                break;

            case SubRecordType.NpcData:
                data = new CreatureData(reader);
                break;

            case SubRecordType.Flag:
                flags = (CreatureFlags)reader.ReadInt32();
                break;
            }
        }

        // Use the record id for sound generation if no SoundGeneratorName is specified
        if (soundGeneratorName == null)
        {
            soundGeneratorName = name;
        }
    }