示例#1
0
        /// <summary>
        /// Static initializer for loading all sprites / textures.
        /// </summary>
        /// <param name="content">MonoGame ContentManager.</param>
        internal static void LoadSprites(ContentManager content)
        {
            if (Player == null)
            {
                Player = new PlayerSprites(content);
            }

            if (Floor == null)
            {
                Floor = new FloorSprites(content);
            }

            if (Wall == null)
            {
                Wall = new WallSprites(content);
            }

            if (Monster == null)
            {
                Monster = new MonsterSprites(content);
            }

            if (Fringe == null)
            {
                Fringe = new FringeSprites(content);
            }

            if (UI == null)
            {
                UI = new UISprites(content);
            }
        }
示例#2
0
    private void Start()
    {
        //Init pending actions queue for your local player
        if (isLocalPlayer)
        {
            pendingActions = new Queue <PlayerAction>();
            UpdatePredictedState();
        }
        //Init pending actions queue for server
        if (isServer)
        {
            serverPendingActions = new Queue <PlayerAction>();
        }
        playerScript         = GetComponent <PlayerScript>();
        playerSprites        = GetComponent <PlayerSprites>();
        healthBehaviorScript = GetComponent <LivingHealthBehaviour>();
        registerTile         = GetComponent <RegisterTile>();
        pushPull             = GetComponent <PushPull>();

        //Sub to matrix rotation events via the registerTile because it always has the
        //correct matrix
        if (ROTATE_AT_END)
        {
            registerTile.OnRotateEnd.AddListener(OnRotation);
        }
        else
        {
            registerTile.OnRotateStart.AddListener(OnRotation);
        }
    }
示例#3
0
 void Start()
 {
     spritesObj          = transform.Find("Sprites").gameObject;
     playerSprites       = GetComponent <PlayerSprites>();
     playerMove          = GetComponent <PlayerMove>();
     soundNetworkActions = GetComponent <SoundNetworkActions>();
     bloodSplatPrefab    = Resources.Load("BloodSplat") as GameObject;
 }
示例#4
0
 private void Start()
 {
     playerSprites = gameObject.GetComponent <PlayerSprites>();
     playerSync    = GetComponent <IPlayerSync>();
     pushPull      = GetComponent <PushPull>();
     registerTile  = GetComponent <RegisterTile>();
     pna           = gameObject.GetComponent <PlayerNetworkActions>();
 }
 private void Start()
 {
     equipment       = GetComponent <Equipment>();
     playerMove      = GetComponent <PlayerMove>();
     playerSprites   = GetComponent <PlayerSprites>();
     playerScript    = GetComponent <PlayerScript>();
     chatIcon        = GetComponentInChildren <ChatIcon>();
     objectBehaviour = GetComponent <ObjectBehaviour>();
 }
示例#6
0
    public void UpdateUI()
    {
        Stats[] s = App.Instance.playerStats.OrderByDescending(_s => _s.won).ToArray();

        for (int i = 0; i < s.Length; i++)
        {
            Stats  p = s[i];
            string c = ColorUtility.ToHtmlStringRGB(s[i].c);


            elem[i].name = "i = " + i;
            elem[i].SetActive(true);

            TextMeshProUGUI id    = elem[i].transform.Find("id").GetComponent <TextMeshProUGUI>();
            TextMeshProUGUI stats = elem[i].transform.Find("stats").GetComponent <TextMeshProUGUI>();

            PlayerSprites sprite = playerSprites[0];

            foreach (PlayerSprites item in playerSprites)
            {
                if (item.c == p.c)
                {
                    sprite = item;
                }
            }

            sprite.obj.transform.position = placements[i].position;

            id.text    = string.Format(id.text, "<color=#" + c + ">", "Player " + s[i].controllerId);
            stats.text = string.Format(stats.text, s[i].won, s[i].death, s[i].shotsFired, s[i].damageRecived, s[i].Upgrades());

            /*
             * if (App.Instance.playerStats.Count > i) //-1 because winner
             * {
             *  elem[i].SetActive(true);
             *
             *  TextMeshProUGUI id = elem[i].transform.Find("id").GetComponent<TextMeshProUGUI>();
             *  TextMeshProUGUI stats = elem[i].transform.Find("stats").GetComponent<TextMeshProUGUI>();
             *
             *
             *  id.text = string.Format(id.text, "<color=#" + c + ">", "Player " + s[i].controllerId);
             *  stats.text = string.Format(stats.text, s[i].won, s[i].death, s[i].shotsFired, s[i].damageRecived, s[i].Upgrades());
             * }
             * else
             * {
             *  elem[i].SetActive(false);
             * }
             */
        }



        /*
         * id.text = string.Format(id.text,"<color=#" + c + ">","Player " + winner.controllerId);
         * stats.text = string.Format(stats.text, winner.won, winner.death, winner.shotsFired, winner.damageRecived, winner.Upgrades());
         */
    }
示例#7
0
 void Start()
 {
     equipment           = GetComponent <Equipment.Equipment>();
     playerMove          = GetComponent <PlayerMove>();
     playerSprites       = GetComponent <PlayerSprites>();
     playerScript        = GetComponent <PlayerScript>();
     soundNetworkActions = GetComponent <SoundNetworkActions>();
     chatIcon            = GetComponentInChildren <ChatIcon>();
 }
示例#8
0
        void Start()
        {
            //for changing direction on click
            playerSprites = gameObject.GetComponent <PlayerSprites>();
            playerMove    = GetComponent <PlayerMove>();

            //Do not include the Default layer! Assign your object to one of the layers below:
            layerMask = LayerMask.GetMask("Furniture", "Walls", "Windows", "Machines",
                                          "Players", "Items", "Door Open", "Door Closed", "WallMounts", "HiddenWalls");
        }
示例#9
0
 void Start()
 {
     equipment           = GetComponent <Equipment.Equipment>();
     playerMove          = GetComponent <PlayerMove>();
     playerSprites       = GetComponent <PlayerSprites>();
     playerScript        = GetComponent <PlayerScript>();
     soundNetworkActions = GetComponent <SoundNetworkActions>();
     chatIcon            = GetComponentInChildren <ChatIcon>();
     CmdSyncRoundTime(GameManager.Instance.GetRoundTime);
 }
    public Aspects.Secondary?GetAspectForPotionSlot(PotionSlot slot)
    {
        BodyPart[] parts = slot.ToBodyParts();
        if (parts.Length == 0)
        {
            return(null);
        }

        Transform partTransform = bodyPartToTransform(parts[0]);

        return(PlayerSprites.instance().getAspect(parts[0], partTransform.GetComponent <SpriteRenderer>().sprite));
    }
示例#11
0
        } = true;                                                       //Only used on the server

        public override void Awake()
        {
            base.Awake();
            playerNetworkActions = GetComponent <PlayerNetworkActions>();
            playerMove           = GetComponent <PlayerMove>();
            playerSprites        = GetComponent <PlayerSprites>();
            registerPlayer       = GetComponent <RegisterPlayer>();
            dynamicItemStorage   = GetComponent <DynamicItemStorage>();
            equipment            = GetComponent <Equipment>();
            OnConsciousStateChangeServer.AddListener(OnPlayerConsciousStateChangeServer);
            registerPlayer.AddStatus(this);
        }
示例#12
0
    private void Start()
    {
        //for changing direction on click
        playerSprites   = gameObject.GetComponent <PlayerSprites>();
        playerMove      = GetComponent <PlayerMove>();
        objectBehaviour = GetComponent <ObjectBehaviour>();

        lightingSystem = Camera.main.GetComponent <LightingSystem>();

        //Do not include the Default layer! Assign your object to one of the layers below:
        layerMask = LayerMask.GetMask("Furniture", "Walls", "Windows", "Machines", "Players", "Items", "Door Open", "Door Closed", "WallMounts",
                                      "HiddenWalls", "Objects", "Matrix");
    }
示例#13
0
        public static void LoadContent(ContentManager Content)
        {
            startScreen.LoadContent(Content);
            PlayerSprites.LoadContent(Content);
            GoalSprites.LoadContent(Content);
            cursorHandler.LoadContent(Content);
            PlatformSprites.LoadContent(Content);
            helpScreen.LoadContent(Content);
            ArrowSprites.LoadContent(Content);

            effect = Content.Load <SoundEffect>(@"Achive");
            fail   = Content.Load <SoundEffect>(@"Fail");
            song   = Content.Load <Song>(@"LuckyRubberDucky");
        }
示例#14
0
        public void SetHealthMaster(LivingHealthMasterBase livingHealth)
        {
            HealthMaster = livingHealth;
            if (livingHealth)
            {
                playerSprites = livingHealth.GetComponent <PlayerSprites>();
            }

            if (BodySpriteSet == false)
            {
                //If gendered part then set the sprite limb data to it
                if (isDimorphic)
                {
                    LimbSpriteData             = new ListSpriteDataSOWithOrder();
                    LimbSpriteData.SpriteOrder = BodyTypesSprites.SpriteOrder;
                    LimbSpriteData.Sprites     = BodyTypesSprites.BodyTypes[(int)HealthMaster.BodyType].Sprites;
                }
                else
                {
                    LimbSpriteData             = new ListSpriteDataSOWithOrder();
                    LimbSpriteData.SpriteOrder = BodyTypesSprites.SpriteOrder;
                    if (BodyTypesSprites.BodyTypes.Count > 0)
                    {
                        LimbSpriteData.Sprites = BodyTypesSprites.BodyTypes[(int)BodyType.NonBinary].Sprites;
                    }
                }

                BodySpriteSet = true;
            }


            UpdateIcons();
            SetUpSystemsThis();

            var dynamicItemStorage = HealthMaster.GetComponent <DynamicItemStorage>();

            if (dynamicItemStorage != null)
            {
                var bodyPartUISlots = GetComponent <BodyPartUISlots>();
                if (bodyPartUISlots != null)
                {
                    dynamicItemStorage.Add(bodyPartUISlots);
                }
            }


            //TODO Make this generic \/ for mobs
            OrganStorage.SetRegisterPlayer(HealthMaster?.GetComponent <RegisterPlayer>());
        }
    public void ChangeSprites(PlayerSprites spriteSheet)
    {
        var subSprites = Resources.LoadAll <Sprite>("Sprites/Animations/" + spriteSheet.ToString());

        foreach (var renderer in GetComponentsInChildren <SpriteRenderer>())
        {
            string spriteName = renderer.sprite.name;
            var    newSprite  = Array.Find(subSprites, item => item.name == spriteName);

            if (newSprite)
            {
                renderer.sprite = newSprite;
            }
        }
    }
示例#16
0
 private void RemoveSprites(PlayerSprites sprites, LivingHealthMasterBase livingHealth)
 {
     for (var i = RelatedPresentSprites.Count - 1; i >= 0; i--)
     {
         var bodyPartSprite = RelatedPresentSprites[i];
         if (IsSurface)
         {
             sprites.SurfaceSprite.Remove(bodyPartSprite);
         }
         RelatedPresentSprites.Remove(bodyPartSprite);
         sprites.Addedbodypart.Remove(bodyPartSprite);
         Destroy(bodyPartSprite.gameObject);
     }
     livingHealth.InternalNetIDs.Remove(intName);
 }
示例#17
0
        } = true;                                                       //Only used on the server

        public override void EnsureInit()
        {
            if (init)
            {
                return;
            }
            init = true;
            base.EnsureInit();
            playerNetworkActions = GetComponent <PlayerNetworkActions>();
            playerMove           = GetComponent <PlayerMove>();
            playerSprites        = GetComponent <PlayerSprites>();
            registerPlayer       = GetComponent <RegisterPlayer>();
            itemStorage          = GetComponent <ItemStorage>();
            equipment            = GetComponent <Equipment>();
            playerScript         = GetComponent <PlayerScript>();
            OnConsciousStateChangeServer.AddListener(OnPlayerConsciousStateChangeServer);
            registerPlayer.AddStatus(this);
        }
示例#18
0
        private void RemoveSprites(PlayerSprites sprites, LivingHealthMasterBase livingHealth)
        {
            for (var i = RelatedPresentSprites.Count - 1; i >= 0; i--)
            {
                var bodyPartSprite = RelatedPresentSprites[i];
                if (IsSurface || BodyPartItemInheritsSkinColor)
                {
                    sprites.SurfaceSprite.Remove(bodyPartSprite);
                }

                RelatedPresentSprites.Remove(bodyPartSprite);
                sprites.Addedbodypart.Remove(bodyPartSprite);
                SpriteHandlerManager.UnRegisterHandler(sprites.GetComponent <NetworkIdentity>(),
                                                       bodyPartSprite.baseSpriteHandler);
                Destroy(bodyPartSprite.gameObject);
            }

            livingHealth.InternalNetIDs.Remove(intName);
        }
示例#19
0
    public override void Init()
    {
        base.Init();

        controller = GetComponent <Controller2D>();
        controller.Init(horizontalRayCount, verticalRayCount, collisionMask);

        playerSprites = GetComponent <PlayerSprites>();
        playerSprites.Init(sprites, weaponSprite);

        playerAnimation = GetComponent <PlayerAnimation>();
        playerAnimation.Init();

        playerWeapon = GetComponent <PlayerWeapon>();
        playerWeapon.Init(weaponSprite, startingWeaponId, damageLayer, GameObject.FindWithTag(ammoTag).GetComponent <AmmoUI>());

        healthUI = GameObject.FindWithTag(heartTag).GetComponent <HealthUI>();
        healthUI.Init(healthSettings.maxHealth);
    }
示例#20
0
        public static void LoadContent(ContentManager Content)
        {
            startScreen.LoadContent(Content);
            PlayerSprites.LoadContent(Content);
            LeafSprites.LoadContent(Content);
            BranchSprites.LoadContent(Content);
            BugSprites.LoadContent(Content);
            TreeSprites.LoadContent(Content);
            //GoalSprites.LoadContent(Content);
            cursorHandler.LoadContent(Content);
            font = Content.Load <SpriteFont>(@"Score");
            //PlatformSprites.LoadContent(Content);
            //helpScreen.LoadContent(Content);
            //ArrowSprites.LoadContent(Content);

            //effect = Content.Load<SoundEffect>(@"Achive");
            //fail = Content.Load<SoundEffect>(@"Fail");
            //song = Content.Load<Song>(@"LuckyRubberDucky");
        }
示例#21
0
 private void Start()
 {
     //Init pending actions queue for your local player
     if (isLocalPlayer)
     {
         pendingActions = new Queue <PlayerAction>();
         UpdatePredictedState();
     }
     //Init pending actions queue for server
     if (isServer)
     {
         serverPendingActions = new Queue <PlayerAction>();
     }
     playerScript         = GetComponent <PlayerScript>();
     playerSprites        = GetComponent <PlayerSprites>();
     healthBehaviorScript = GetComponent <HealthBehaviour>();
     registerTile         = GetComponent <RegisterTile>();
     pushPull             = GetComponent <PushPull>();
 }
示例#22
0
 void Start()
 {
     //for changing direction on click
     playerSprites = gameObject.GetComponent <PlayerSprites>();
     playerMove    = GetComponent <PlayerMove>();
 }
示例#23
0
 public void OnSpawnServer(SpawnInfo info)
 {
     healthMaster  = GetComponentInParent <LivingHealthMasterBase>();
     PlayerSprites = GetComponentInParent <PlayerSprites>();
 }
    public void setBodyPart(BodyPart part, Aspects.Secondary type)
    {
        Transform partTransform = bodyPartToTransform(part);

        partTransform.GetComponent <SpriteRenderer>().sprite = PlayerSprites.instance().getSprite(type, part);
    }
示例#25
0
 private void Awake()
 {
     _renderer        = GetComponent <SpriteRenderer>();
     _sprites         = GameData.i.Skins.CurrentSkin().PlayerSprites;
     _renderer.sprite = _sprites.WalkSide[0];
 }
示例#26
0
 public void SetupSprites(PlayerSprites sprites)
 {
     m_Body.sprite     = sprites.Body;
     m_FrontLeg.sprite = sprites.FrontLeg;
     m_BackLeg.sprite  = sprites.BackLeg;
 }
示例#27
0
 private void Awake()
 {
     playerSprites = GetComponent <PlayerSprites>();
     //initially we are upright and don't rotate with the matrix
     rotateWithMatrix = false;
 }
示例#28
0
    public void showPotionsTab()
    {
        foreach (Transform child in gameObject.transform)
        {
            Destroy(child.gameObject);
        }

        foreach (CreatedPotion potion in Potions.instance().getLoggedPotions())
        {
            GameObject potionDisplay;
            MultiSet <Aspects.Secondary> secondaries = potion.getPotion().getSecondaries();
            if (secondaries.Count == 0)
            {
                // Potion has no secondaries
                potionDisplay = Instantiate(lineItemPrefab);
            }
            else
            {
                // Potion has secondaries
                potionDisplay = Instantiate(lineItemWithSecondariesPrefab);

                int i = 0;
                foreach (Aspects.Secondary aspect in secondaries)
                {
                    GameObject icon = potionDisplay.transform.Find("Potion Details/Aspect Icons Secondary/Aspect " + (i + 1)).gameObject;
                    icon.GetComponent <Image>().sprite = Aspects.instance().getNormalSprite(aspect);
                    i++;
                }

                while (i < 3)
                {
                    GameObject icon = potionDisplay.transform.Find("Potion Details/Aspect Icons Secondary/Aspect " + (i + 1)).gameObject;
                    Destroy(icon);
                    i++;
                }
            }

            potionDisplay.transform.SetParent(transform);

            List <IngredientType> ingredients = potion.getIngredients();
            for (int i = 0; i < 3; i++)
            {
                potionDisplay.transform.Find("Ingredient Image " + (i + 1)).gameObject.GetComponent <Image>().sprite = IngredientRenderer.instance().getSprite(ingredients[i]);
            }

            Image bodyPartImage1 = potionDisplay.transform.Find("Potion Details/Potion Image").gameObject.GetComponent <Image>();
            Image bodyPartImage2 = potionDisplay.transform.Find("Potion Details/Potion Image 2").gameObject.GetComponent <Image>();

            bodyPartImage1.sprite = dudPotionSprite;
            bodyPartImage2.gameObject.SetActive(false);

            BodyPart[] parts = potion.getPotion().getAffectedBodyParts();

            if (parts.Length > 0)
            {
                Sprite sprite = PlayerSprites.instance().getSprite(potion.getPotion().getType(), parts[0]);

                // Special cases for wings and tail
                if (sprite == null && parts[0] == BodyPart.WINGS)
                {
                    sprite = noWingsSprite;
                }
                else if (sprite == null && parts[0] == BodyPart.TAIL)
                {
                    sprite = noTailSprite;
                }
                else
                {
                    bodyPartImage1.gameObject.SetActive(sprite != null);
                }

                bodyPartImage1.sprite = sprite;
            }
            if (parts.Length > 1)
            {
                bodyPartImage2.sprite = PlayerSprites.instance().getSprite(potion.getPotion().getType(), parts[1]);
                bodyPartImage2.gameObject.SetActive(bodyPartImage2.sprite != null);
            }

            int j = 1;
            foreach (Aspects.Primary primary in potion.getPotion().getPrimaries())
            {
                potionDisplay.transform.Find("Potion Details/Aspect Icons/Aspect " + j).gameObject.GetComponent <Image>().sprite = Aspects.instance().getNormalSprite(primary);
                j++;
            }

            CreatedPotion potion2 = potion;
            potionDisplay.transform.Find("Remove Button").GetComponent <Button>().onClick.AddListener(() => {
                Potions.instance().removeLoggedPotion(potion2);
                showPotionsTab();
            });
        }
    }
示例#29
0
 public void InitialSetup(PlayerSprites sprites)
 {
     m_Graphics.SetupSprites(sprites);
 }
示例#30
0
 public Player(string nameInput, PlayerSprites spriteChoice)
 {
     name = nameInput;
     rect = new Rectangle(50, 0, 32, 32);
     choice = spriteChoice;
 }
示例#31
0
 void Start()
 {
     playerSprites = PlayerManager.control.playerScript.playerSprites;
     image         = GetComponent <Image>();
     image.enabled = false;
 }