//public Emitter emitter; public ComEntity(TwitchUserComEntityData twitchUserComEntityData) : base(twitchUserComEntityData.ComEntityName, twitchUserComEntityData.ComEmoteHead, twitchUserComEntityData.ComEmoteHeadIsAvatar, twitchUserComEntityData.TwitchDisplayName, String.IsNullOrWhiteSpace(twitchUserComEntityData.TwitchUserColor) ? Color.White : new Color(int.Parse(twitchUserComEntityData.TwitchUserColor, System.Globalization.NumberStyles.HexNumber)) ) { this.CenterOrigin(); TwitchUserComEntityData = twitchUserComEntityData; X = twitchUserComEntityData.ComEntityPosition.X; Y = twitchUserComEntityData.ComEntityPosition.Y; AddComponent(coHostCommands); AddResponse(Attack.AttackeMessage.AttackCommand, DoReceiveAttack); //try //{ // emitter = new Emitter(Library.GetTexture("twitch//" + twitchUserComEntityData.ComEmoteHead)); //} //catch //{ //} //if (emitter != null) //{ // emitter.Relative = false; // var myType = emitter.Define("trail"); // myType.Alpha.From = .3f; // myType.Alpha.To = 0; // //myType.Scale.From = 1; // //myType.Scale.To = 0; // myType.Lifetime.Duration = 0.5f; // myType.Motion.Angle = 0; // myType.Motion.AngleVariance.Add = 360; // myType.Motion.Distance = 30; // myType.Motion.DistanceVariance.Add = 4; // AddComponent(emitter); //} }
public void DoJoinGame(object[] args) { string userName = (string)args[0]; string displayName = (string)args[1]; string emoteName = (string)args[2]; bool isAvatar = (bool)args[3]; string userColor = (string)args[4]; //string pathName = "./" + Utility.SAVE_DIR + "/" + Utility.TWITCH_SAVE_DIR + "/" + userName + JsonLoader.RESOURCE_EXT; TwitchUserComEntityData userData; int dX; int dY; do { dX = FP.Random.Int(0, FP.Width); dY = FP.Random.Int(0, FP.Height); } while (FP.World.CollidePoint("ClickMap", dX, dY) != null); //if (!File.Exists(pathName)) //{ //JsonWriter.Save(userData, pathName, false); //new ComEntity() //} //else //{ // userData = JsonLoader.Load<TwitchUserComEntityData>(pathName, false); // userData.ComEmoteHead = emoteName; // userData.ComEntityPosition = new Point(dX, dY); //} ComEntity newPlayer; if (!Utility.SessionPlayers.ContainsKey(userName)) { userData = new TwitchUserComEntityData { TwitchUserName = userName, TwitchDisplayName = displayName, TwitchUserColor = string.IsNullOrWhiteSpace(userColor) ? String.Format("{0:X6}", FP.Random.Int(16777216)) : userColor, ComEmoteHead = emoteName, ComEmoteHeadIsAvatar = isAvatar, ComEntityName = ChooseBody(), ComEntityPosition = new Point(dX, dY), CommandQueue = new Queue <ComEntityCommand>() }; newPlayer = new ComEntity(userData); Utility.SessionPlayers.Add(userName, newPlayer); } else { newPlayer = Utility.SessionPlayers[userName]; newPlayer.ChangeHead(emoteName, isAvatar); newPlayer.TwitchUserComEntityData.ComEntityPosition = new Point(dX, dY); newPlayer.X = dX; newPlayer.Y = dY; } Utility.GamePlayers.Add(userName, newPlayer); Add(newPlayer); BroadcastMessage(WorldMessages.UpdateLeaderBoard); }