public void Initialize(AiData aiData, WanderData wanderData, CharacterAnimation animation, CharacterCombat combat) { this.aiData = aiData; this.wanderData = wanderData; this.animation = animation; this.combat = combat; }
//******************************************************************************************** //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); } } }
// 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); } }
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; } } }
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; } }