Example #1
0
        //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);
            //}
        }
Example #2
0
        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);
        }