public override void Draw(BillBoard component)
        {
            var device = GraphicDeviceFactory.Device;

            device.SetVertexBuffer(0, _vb, 0);
            device.RasterizerStack.Push(_rastState);

            _map.Color = component.Color;

            Bind(component);

            device.PS.SetResource(0, component.Texture);

            _map.World         = component.GetBillboardMatrix(Engine.Scene.ActiveCamera, Current.Node.GlobalPosition, Current.Node.LocalScale);
            _map.WorldViewProj = _map.World * Engine.Scene.ActiveCamera.ViewProj;
            _map.ViewProj      = Engine.Scene.ActiveCamera.ViewProj;

            device.PrimitiveTopology = IAPrimitive.TriangleStrip;
            var effect = Effect;

            foreach (var pass in effect.Passes())
            {
                effect.Apply(pass);
                device.Draw(0, 2);
            }
            effect.EndPasses();

            device.RasterizerStack.Pop();

            UnBind(component);
        }
Exemple #2
0
    public static SelectedTargetTips CreateInstance()
    {
        //暂时只能创建一个
        if (m_SingleInstance != null)
        {
            return(m_SingleInstance);
        }

        SelectedTargetTips TempInstance = null;

        if (!m_TipsTexture)
        {
            m_TipsTexture = Resources.Load(m_TexturePatch) as Texture;
        }

        if (!m_TipsTexture)
        {
            return(TempInstance);
        }

        if (null == m_TipsMaterial)
        {
            m_TipsMaterial = new Material(Shader.Find("Effect/BillBorad"));
            m_TipsMaterial.SetTexture("_MainTex", m_TipsTexture);
        }

        BillBoard temp = BillBoard.CreateBillBorad(32, 64, m_TipsMaterial);

        TempInstance = temp.gameObject.AddComponent <SelectedTargetTips>();
        UnityEngine.Object.DontDestroyOnLoad(TempInstance);
        temp.gameObject.hideFlags = HideFlags.HideAndDontSave;
        m_SingleInstance          = TempInstance;
        return(TempInstance);
    }
Exemple #3
0
    // Use this for initialization
    void OnValidate()
    {
        if (SpriteBoard == null)
        {
            return;
        }

        // Get the scene's directional light
        mainLight = GameObject.FindGameObjectWithTag("MainLight");

        // Get billboard properties
        BillBoard bb = SpriteBoard.GetComponent <BillBoard>();

        // Use billboard properties for shadow
        if (!bb.Flip)
        {
            targetPos = transform.position + mainLight.transform.rotation * Vector3.back;
        }
        else
        {
            targetPos = transform.position + mainLight.transform.rotation * Vector3.forward;
        }

        // Ignore camera Y position to stay upright
        if (bb.LockY)
        {
            targetPos.y = transform.position.y;
        }

        transform.LookAt(targetPos);            // Inefficient, slowdowns with massive billboards
        if (bb.Rotate90)
        {
            transform.Rotate(Vector3.left, 90F);
        }
    }
Exemple #4
0
        public void OnMsg(EMsg msg, params object[] args)
        {
            switch (msg)
            {
            case EMsg.View_Prefab_Build:
                BiologyViewRoot viewRoot = (BiologyViewRoot)args[1];
                m_Barrel    = viewRoot.barrelController;
                m_BillBoard = viewRoot.billBoard;

                if (m_Target != null)
                {
                    m_Barrel.AimTarget = m_Target;
                }

                break;

            case EMsg.View_Model_Destroy:
                if (m_TowerEffect != null && m_TowerEffect.Count > 0)
                {
                    for (int i = 0; i < m_TowerEffect.Count; i++)
                    {
                        m_TowerEffect[i].Destroy();
                    }
                }
                break;

            default:
                break;
            }
        }
Exemple #5
0
        /// <summary>
        ///     &    LoadContent will be called once per game and is the place to load
        ///     all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            skyBox = new SkyBox(Content, Content.Load <TextureCube>(@"clouds"), GraphicsDevice);
            Components.ForEach(x => x.LoadContent(Content, GraphicsDevice));

            menuManager.LoadContent(Content, GraphicsDevice);

            scoreFont = Content.Load <SpriteFont>(@"Instruction");

            trail = new ParticleSystem(GraphicsDevice, Content.Load <Effect>("ParticleEffect"),
                                       Content.Load <Texture2D>("particle"), 100000, new Vector2(100, 100), 1f, new Vector3(rand.Next(100, 300), rand.Next(100, 300), rand.Next(100, 300)), 3f);

            bBase = new BillBoard(GraphicsDevice, Content.Load <Effect>(@"BillboardEffect"), Content.Load <Texture2D>(@"playerText"), new Vector2(1000, 1000), vectorArray);

            Models.Add(new CustomModel(
                           Content.Load <Model>(@"PlayArea"),
                           new Vector3(0, 0, 0),
                           new Vector3(0, -4000, -12000),
                           new Vector3(10000f),
                           GraphicsDevice
                           ));
            // Initilizes the Free cames
            cam = new FreeCamera(
                position:
                new Vector3(0, 0, 0),
                yaw: MathHelper.ToRadians(0),
                pitch: MathHelper.ToRadians(-15f),
                graphicsDevice: GraphicsDevice);
        }
Exemple #6
0
 void Start()
 {
     TargetFrame.OnSelectedTarget    += OnSelectedTarget;
     TargetFrame.OnDisSelectedTarget += OnDisSelectedTarget;
     m_BillBoard = GetComponent <BillBoard>();
     transform.gameObject.SetActive(false);
 }
        public void Decorate(GameObject go, Asset asset, AssetBundle assetBundle)
        {
            BillBoard deco = go.GetComponent <BillBoard>() ?? go.AddComponent <BillBoard>();

            deco.buildOnLayerMask        = 4096;
            deco.buildOnGrid             = asset.BuildOnGrid;
            deco.heightChangeDelta       = asset.HeightDelta;
            deco.defaultGridSubdivision  = asset.GridSubdivision;
            deco.defaultSnapToGridCenter = asset.SnapCenter;
            if (string.IsNullOrEmpty(asset.SubCategory))
            {
                deco.categoryTag = asset.Category;
            }
            else
            {
                deco.categoryTag = asset.Category + "/" + asset.SubCategory;
            }

            deco.canSeeThrough = asset.SeeThrough;
            deco.canBlockRain  = asset.BlocksRain;
            if (asset.IsResizable)
            {
                CustomSize customSize = go.AddComponent <CustomSize>();
                customSize.minSize = asset.MinSize;
                customSize.maxSize = asset.MaxSize;
            }
        }
Exemple #8
0
 public NodeViewState(bool isLoading, BillBoard billBoard, ConcurrentDictionary <string, GetSyncStateAPIResult> NodeStatus, string ipdb)
 {
     IsLoading  = isLoading;
     bb         = billBoard;
     nodeStatus = NodeStatus;
     ipDbFn     = ipdb;
 }
Exemple #9
0
    public void Init(bool isMyCharacter, int idx)
    {
        m_isMyCharacter = isMyCharacter;

        m_Model = transform.Find("people_face_01").gameObject;
        m_Model.transform.localPosition = Vector3.zero;
        m_Model.transform.localRotation = Quaternion.identity;

        m_Animator         = GetComponentInChildren <Animator>();
        m_Animator.enabled = false;

        m_animatorController = m_Animator.runtimeAnimatorController;

        m_CostumeComponent = Common.GetOrAddComponent <CostumeComponent>(gameObject);
        m_CostumeComponent.Init();

        m_StackComponent = Common.GetOrAddComponent <StackComponent>(gameObject);
        m_StackComponent.Init(this);

        m_FSMCompnent = Common.GetOrAddComponent <FSMComponent>(gameObject);
        m_FSMCompnent.Init(this);

        m_InputComponent = Common.GetOrAddComponent <InputComponent>(gameObject);
        m_InputComponent.Init(this);

        OnVictory = m_StackComponent.OnVictory;

        if (m_BillBoard == null)
        {
            m_BillBoard = gameObject.GetComponentInChildren <BillBoard>();
        }

        m_BillBoard.gameObject.SetActive(true);
        if (m_isMyCharacter)
        {
            m_MyPlayerColor = Color.green;

            if (PlayerPrefs.HasKey("myName"))
            {
                NickName = PlayerPrefs.GetString("myName");
            }
            else
            {
                NickName = "Runner";
            }

            m_BillBoard.InitProfileSprite(null);
        }
        else
        {
            m_MyPlayerColor = color[idx];


            m_BillBoard.SetName(Common.strName[Random.Range(0, Common.strName.Length)]);
            m_BillBoard.InitProfileSprite(Common.regionName[Random.Range(0, Common.regionName.Length)]);
        }

        m_BillBoard.SetColor(m_MyPlayerColor);
    }
Exemple #10
0
 public override void Clear()
 {
     base.Clear();
     if (m_BillBorad)
     {
         m_BillBorad.Clear();
         m_BillBorad = null;
     }
 }
Exemple #11
0
    static void OnLoadHeadInfo(GameObject resObj, object parent, object fun)
    {
        if (null != resObj)
        {
            if (null != GameManager.gameManager.ActiveScene.NameBoardRoot)
            {
                resObj.transform.parent = GameManager.gameManager.ActiveScene.NameBoardRoot.transform;
            }

            resObj.transform.localPosition = Vector3.zero;
            resObj.transform.localRotation = Quaternion.LookRotation(Vector3.forward);
            BillBoard billboard = resObj.GetComponent <BillBoard>();
            if (null == billboard)
            {
                billboard = resObj.AddComponent <BillBoard>();
                if (null != billboard)
                {
                    billboard.BindObj = parent as GameObject;
                }
            }
            else
            {
                billboard.BindObj = parent as GameObject;
                billboard.enabled = true;
            }

            //由于会复用,所以需要重新设置名字版的高度修正
            if (null != billboard && null != billboard.BindObj)
            {
                Obj_OtherPlayer objOtherPlayer = billboard.BindObj.GetComponent <Obj_OtherPlayer>();
                if (null != objOtherPlayer)
                {
                    billboard.fDeltaHeight = objOtherPlayer.DeltaHeight + objOtherPlayer.GetMountNameBoardHeight();
                }
                else
                {
                    Obj_Character objCharacter = billboard.BindObj.GetComponent <Obj_Character>();
                    if (null != objCharacter)
                    {
                        billboard.fDeltaHeight = objCharacter.DeltaHeight;
                    }
                }
            }

            LoadHeadInfoDelegate delFun = fun as LoadHeadInfoDelegate;
            if (null != delFun)
            {
                delFun(resObj);
            }
        }
        else
        {
            LogModule.ErrorLog("load headinfo fail");
        }
    }
Exemple #12
0
        private string GetBalance(BillBoard bb, string accountId)
        {
            if (bb.PrimaryAuthorizers.Take(3).Contains(accountId))
            {
                return("seed");
            }

            var balance = bb.AllNodes[accountId].Balance;

            return($"{balance} Lyra");
        }
Exemple #13
0
    /// <summary>
    /// 创建一个公告板
    /// </summary>
    /// <param name="pixelWidth">像素宽</param>
    /// <param name="pixelHeight">像素高</param>
    /// <param name="mat">材质(包含纹理),同种类型的BillBoard(如血条),尽量使用同一个材质</param>
    /// <param name="BillBoardName">名字</param>
    /// <returns></returns>
    public static BillBoard CreateBillBorad(int pixelWidth, int pixelHeight, Material mat, string BillBoardName = "billBoard")
    {
        GameObject go = new GameObject();

        go.name = BillBoardName;
        BillBoard bb = go.AddComponent <BillBoard>();

        bb.BuildBillBoard(pixelWidth, pixelHeight, mat);

        return(bb);
    }
Exemple #14
0
 protected override void SyncToDb(BillBoard item)
 {
     if (!dao.Exists(
         string.Format("select top 1 1 from {0} where Category = @Category and CompanyName=@CompanyName and CalDate = @CalDate and ZZID = @ZZID", tableName),
                     new { item.Category, item.RowNum, item.CompanyName, item.CalDate, item.ZZID })) {
         dao.Insert(tableName, item);
     }
     else {
         dao.Update(tableName, item, "Category", "CompanyName", "CalDate","ZZID");
     }
 }
Exemple #15
0
    void init()
    {
        m_MissionBoadTime = 0;
        this.gameObject.GetComponent <UISprite>().spriteName = "";

        m_curBillBoard = this.gameObject.transform.parent.gameObject.GetComponent <BillBoard>();
        if (m_curBillBoard && m_curBillBoard.BindObj != null)
        {
            m_MissionNpc = m_curBillBoard.BindObj.GetComponent <Obj_NPC>();
        }
    }
 public override void onCreate(EntityInfo data)
 {
     base.onCreate(data);
     //创建姓名版 血条等..
     BillBoard = this.CacheObj.AddComponent <DynamicBillBoard>();
     BillBoard.onCreate(this.info);
     //创建技能管理器
     MySkill = new SkillWidget(this, this.Skills);
     //partWidget
     this.partWidget = EntityPartMgr.create <EntityPartWidget>(this);
     //
 }
        private async Task GenerateMoviesForBillBoard(BillBoard billboard, IEnumerable <GenreDTO> genresDB, IEnumerable <Core.Domain.Genre> genresForBigRooms, IEnumerable <Core.Domain.Genre> genresForSmallRooms)
        {
            var taskList = new List <Task <List <string> > >();

            taskList.Add(GenerateMovies(billboard.NumberOfMoviesForBigRooms, genresDB, genresForBigRooms, RoomSize.Big));
            taskList.Add(GenerateMovies(billboard.NumberOfMoviesForSmallRooms, genresDB, genresForSmallRooms, RoomSize.Small));

            var resultMovies = await Task.WhenAll(taskList.ToList()).ConfigureAwait(false);

            billboard.MoviesForBigRooms   = resultMovies[0];
            billboard.MoviesForSmallRooms = resultMovies[1];
        }
    void OnValidate()
    {
        Vector3   targetPos;
        BillBoard bb = GetComponent <BillBoard>();

        mainLight = GameObject.FindGameObjectWithTag("MainLight");

        if (transform.parent.FindChild("shadowboard") == null)
        {
            shadowBoard = new GameObject("shadowboard");
            shadowBoard.transform.position = this.transform.position;
            shadowBoard.transform.rotation = this.transform.rotation;
            shadowBoard.transform.parent   = this.transform.parent;
            shadowBoard.isStatic           = true;
            shadowBoard.AddComponent <MeshRenderer>();
            shadowBoard.AddComponent <MeshFilter>();
        }
        else
        {
            shadowBoard = transform.parent.FindChild("shadowboard").gameObject;
        }

        shadowBoard.GetComponent <MeshFilter>().sharedMesh = GetComponent <MeshFilter>().sharedMesh;
        Material mat = new Material(ShadowMaterial);

        mat.mainTexture = GetComponent <MeshRenderer>().sharedMaterial.mainTexture;
        shadowBoard.GetComponent <MeshRenderer>().sharedMaterial = mat;


        if (!bb.Flip)
        {
            targetPos = shadowBoard.transform.position + mainLight.transform.rotation * Vector3.back;
        }
        else
        {
            targetPos = shadowBoard.transform.position + mainLight.transform.rotation * Vector3.forward;
        }

        // Ignore camera Y position to stay upright
        if (bb.LockY)
        {
            targetPos.y = shadowBoard.transform.position.y;
        }

        shadowBoard.transform.LookAt(targetPos);                // Inefficient, slowdowns with massive billboards
        if (bb.Rotate90)
        {
            shadowBoard.transform.Rotate(Vector3.left, 90F);
        }
    }
Exemple #19
0
    // 下马
    static public void UnMount(Obj_OtherPlayer PlayerObj)
    {
        if (PlayerObj == null || PlayerObj.MountObj == null)
        {
            return;
        }

        Transform gMountPlayerTrans = PlayerObj.MountObj.gameObject.transform.FindChild("Model");

        if (gMountPlayerTrans == null || gMountPlayerTrans.gameObject == null)
        {
            DestroyMount(PlayerObj.MountObj);
            PlayerObj.MountObj = null;
            return;
        }

        GameObject Obj = PlayerObj.gameObject;

        if (Obj != null)
        {
            gMountPlayerTrans.parent = Obj.transform;

            if (false == Singleton <ObjManager> .GetInstance().ReloadModel(Obj, gMountPlayerTrans.gameObject, PlayerObj.AnimationFilePath))
            {
                return;
            }
            int mountId = PlayerObj.MountID;
            PlayerObj.MountObj      = null;
            PlayerObj.MountID       = -1;
            PlayerObj.IsNeedUnMount = false;
            PlayerObj.OnSwithObjAnimState(PlayerObj.CurObjAnimState);
            if (PlayerObj.ObjEffectController != null)
            {
                PlayerObj.ObjEffectController.OnMountOff(mountId);
            }

            // 下坐骑时名字板高度恢复
            if (PlayerObj.HeadInfoBoard != null)
            {
                BillBoard billboard = PlayerObj.HeadInfoBoard.GetComponent <BillBoard>();
                if (billboard != null)
                {
                    billboard.RecoverHeight();
                }
            }

            PlayerObj.UnMountWeapon();
        }
    }
Exemple #20
0
    public void CreateBillBorad()
    {
        if (null == BloodMaterial)
        {
            BloodMaterial = new Material(Shader.Find("Effect/BillBorad"));
            BloodMaterial.SetTexture("_MainTex", GfxBloodMovie.BloodRenderTexture);
            BloodMaterial.name      = "BloodMaterial";
            BloodMaterial.hideFlags = HideFlags.HideAndDontSave;
        }

        if (m_BillBorad == null)
        {
            m_BillBorad = BillBoard.CreateBillBorad((int)m_MovieNode.vSize.x, (int)m_MovieNode.vSize.y, BloodMaterial, "Blood -- temp");
        }
    }
Exemple #21
0
    /// <summary>
    /// 变换公告板
    /// </summary>
    /// <param name="b"></param>
    public static void TransformBillBorad(BillBoard b)
    {
        if (null == b)
        {
            return;
        }
        Vector3 scal = Vector3.one;

        scal.y *= -1;
        scal.x  = scal.x * RenderTexureScale.x;
        scal.y  = scal.y * RenderTexureScale.y;

        b.StandradScale        = scal;
        b.transform.localScale = scal;
    }
Exemple #22
0
    public void CreateBillBorad()
    {
        if (null == TopNameMaterial)
        {
            TopNameMaterial = new Material(Shader.Find("Effect/BillBorad"));
            TopNameMaterial.SetTexture("_MainTex", TopNameMovie.TopNameRenderTexture);
            TopNameMaterial.name      = "TopNameMaterial";
            TopNameMaterial.hideFlags = HideFlags.HideAndDontSave;
        }

        if (m_BillBorad == null)
        {
            m_BillBorad = BillBoard.CreateBillBorad((int)m_MovieNode.vSize.x, (int)m_MovieNode.vSize.y, TopNameMaterial, "TopName -- temp");
        }
    }
Exemple #23
0
    public SpecialLevel(int roomNumber, string name, bool saved = false)
    {
        drawSaveText = saved;
        firstTime    = true;

        //Adding the player and grid
        player          = new Player(Vector3.Zero);
        player.Parent   = this;
        tileGrid        = LoadLevel(name);
        tileGrid.Parent = this;
        gameObjects.Add(tileGrid);
        player.LoadContent();
        gameObjects.Add(player);

        //Setting the roomcounter
        roomCounter      = new TextGameObject("text");
        roomCounter.text = roomNumber.ToString();
        //Adding the hanging man
        if (roomCounter.text == "100")
        {
            BillBoard man = new BillBoard(new Vector3(700, 210, 200));
            man.Parent = this;
            gameObjects.Add(man);
        }

        if (drawSaveText)
        {
            saveText          = new TextGameObject("text");
            saveText.text     = "Progress Saved";
            saveText.Position = new Vector2((GameEnvironment.Screen.X - saveText.Size.X) / 2, 0);
        }
        if (name == "Content\\Special Levels\\Final.txt")
        {
            exitText.text = "Press E to kill yourself";
        }
        else
        {
            exitText.text = "Press E to proceed";
        }

        //Adding the roomcounter
        gameObjects.Add(roomCounter);

        //Adding stamina
        stamina        = new Stamina();
        stamina.Parent = this;
        gameObjects.Add(stamina);
    }
 private void BillBoardCommandExecute(BillBoard obj)
 {
     if (obj == null)
     {
         return;
     }
     if (obj.Id != 0)
     {
         var parmater = new NavigationParameters();
         parmater.Add(IndirectView.IndirectViewModelBase.NavigationIdParmmeterName, obj.Id);
         this._navigationService.RequestNavigate(Settings.Default.RegionName, nameof(PlayListDetailView), parmater);
     }
     else
     {
         this._navigationService.RequestNavigate(Settings.Default.RegionName, nameof(TopArtistsBillBoardView));
     }
 }
Exemple #25
0
        private BaseActionResult GetBillBoardDictionaryData()
        {
            DataSetActionResult result    = new DataSetActionResult();
            BillBoard           billBoard = new BillBoard();
            DataSet             myDataSet = billBoard.GetBillBoardDictionaryData();

            if (myDataSet != null && myDataSet.Tables != null && myDataSet.Tables.Count != 0)
            {
                result.DataSetData = myDataSet;
                result.Result      = true;
            }
            else
            {
                result.Result = false;
            }

            return(result);
        }
Exemple #26
0
        private BaseActionResult GetAllNotesInDB(string userguid, string roleName)
        {
            DataSetActionResult result    = new DataSetActionResult();
            BillBoard           billBoard = new BillBoard();
            DataSet             myDataSet = billBoard.GetAllNotesInDB(userguid, roleName);

            if (myDataSet != null && myDataSet.Tables != null && myDataSet.Tables.Count == 2)
            {
                result.DataSetData = myDataSet;
                result.Result      = true;
            }
            else
            {
                result.Result = false;
            }

            return(result);
        }
    public SpecialLevel(int roomNumber, string name, bool saved = false)
    {
        drawSaveText = saved;
        firstTime = true;

        //Adding the player and grid
        player = new Player(Vector3.Zero);
        player.Parent = this;
        tileGrid = LoadLevel(name);
        tileGrid.Parent = this;
        gameObjects.Add(tileGrid);
        player.LoadContent();
        gameObjects.Add(player);

        //Setting the roomcounter
        roomCounter = new TextGameObject("text");
        roomCounter.text = roomNumber.ToString();
        //Adding the hanging man
        if (roomCounter.text == "100")
        {
            BillBoard man = new BillBoard(new Vector3(700, 210, 200));
            man.Parent = this;
            gameObjects.Add(man);
        }

        if (drawSaveText)
        {
            saveText = new TextGameObject("text");
            saveText.text = "Progress Saved";
            saveText.Position = new Vector2((GameEnvironment.Screen.X - saveText.Size.X) / 2, 0);
        }
        if (name == "Content\\Special Levels\\Final.txt")
            exitText.text = "Press E to kill yourself";
        else
            exitText.text = "Press E to proceed";

        //Adding the roomcounter
        gameObjects.Add(roomCounter);

        //Adding stamina
        stamina = new Stamina();
        stamina.Parent = this;
        gameObjects.Add(stamina);
    }
Exemple #28
0
    void OnLoadNameBoard(GameObject objNameBoard)
    {
        m_HeadInfoBoard = objNameBoard;
        //传送点名字版固定太高一个高度
        if (null != m_HeadInfoBoard)
        {
            Transform nameBoardOffset = m_HeadInfoBoard.transform.FindChild("NameBoardOffset");
            if (null != nameBoardOffset)
            {
                Transform nameBoard = nameBoardOffset.FindChild("NameBoard");
                if (null != nameBoard)
                {
                    m_NameBoard = nameBoard.gameObject;
                }
            }

            BillBoard billboardScript = m_HeadInfoBoard.GetComponent <BillBoard>();
            if (null != billboardScript)
            {
                billboardScript.fDeltaHeight = 1.5f;
            }
        }

        //传送点名字
        if (null != m_NameBoard)
        {
            UILabel nameBoardLabel = m_NameBoard.GetComponent <UILabel>();
            if (null != nameBoardLabel)
            {
                Tab_Teleport teleport = TableManager.GetTeleportByID(TeleportID, 0);
                if (null != teleport)
                {
                    nameBoardLabel.text  = teleport.TeleportName;
                    nameBoardLabel.color = CharacterDefine.NPC_COLOR_NEUTRAL;
                }
                else
                {
                    nameBoardLabel.text = "";
                }
            }
        }
    }
Exemple #29
0
    void CreateObject()
    {
        // Are we a weapon?
        if (itemType.GetType() == typeof(Weapon))
        {
            Weapon weapon = (Weapon)itemType;
            // Do we have a mesh collider?
            if (GetComponent <MeshCollider>())
            {
                GetComponent <MeshCollider>().sharedMesh = weapon.meshCollider;
            }
            else
            {
                gameObject.AddComponent <MeshCollider>();
                GetComponent <MeshCollider>().sharedMesh = weapon.meshCollider;
            }
        }
        else
        {
            GetComponent <MeshCollider>().sharedMesh = Resources.GetBuiltinResource(typeof(Mesh), "Cube.fbx") as Mesh;
        }

        // Get the Renderer
        SpriteRenderer r = GetComponentInChildren <SpriteRenderer>();

        if (itemType == null || r == null)
        {
            return;
        }
        r.sprite = itemType.Graphic;
        // Set specular or diffuse
        r.sharedMaterial = itemType.SpriteMaterial;

        // Scale the sprite
        r.gameObject.transform.localScale = itemType.Scale;

        // Handle billboarding
        BillBoard bb = r.gameObject.GetComponent <BillBoard>();

        bb.enabled = itemType.billboard;
    }
        public void Reset()
        {
            modelController   = PEUtil.GetCmpt <PEModelController>(transform);
            ragdollController = PEUtil.GetCmpt <PERagdollController>(transform);
            ikArray           = PEUtil.GetCmpts <IK>(transform);
            ikFlashLight      = PEUtil.GetCmpt <IKFlashLight>(transform);
            fbbik             = PEUtil.GetCmpt <FullBodyBipedIK>(transform);
            grounderFBBIK     = PEUtil.GetCmpt <GrounderFBBIK>(transform);
            humanPhyCtrl      = PEUtil.GetCmpt <HumanPhyCtrl>(transform);
            ikAimCtrl         = PEUtil.GetCmpt <IKAimCtrl>(transform);
            ikAnimEffectCtrl  = PEUtil.GetCmpt <IKAnimEffectCtrl>(transform);
            ikDrive           = PEUtil.GetCmpt <IKDrive>(transform);
            defenceTrigger    = PEUtil.GetCmpt <PEDefenceTrigger>(transform);
            pathFinder        = PEUtil.GetCmpt <PEPathfinder>(transform);
            motor             = PEUtil.GetCmpt <PEMotor>(transform);
            steerAgent        = PEUtil.GetCmpt <Steer3D.SteerAgent>(transform);
            animFollow_AF     = PEUtil.GetCmpt <AnimFollow_AF>(transform);
            beatParam         = PEUtil.GetCmpt <BeatParam>(transform);
            moveParam         = PEUtil.GetCmpt <MoveParam>(transform);
            barrelController  = PEUtil.GetCmpt <PEBarrelController>(transform);
            billBoard         = PEUtil.GetCmpt <BillBoard>(transform);
            armorBones        = PEUtil.GetCmpt <ArmorBones>(transform);
            visions           = PEUtil.GetCmpts <PEVision>(transform);
            hears             = PEUtil.GetCmpts <PEHearing>(transform);
            native            = PEUtil.GetCmpt <PENative>(transform);
            monster           = PEUtil.GetCmpt <PEMonster>(transform);
            if (null != modelController)
            {
                modelController.ResetModelInfo();
            }

            if (null != animFollow_AF)
            {
                animFollow_AF.ResetModelInfo();
            }

            if (null != ragdollController)
            {
                ragdollController.ResetRagdoll();
            }
        }
Exemple #31
0
    public static void UnLoadHeadInfoPrefab(GameObject headInfo)
    {
        if (null == headInfo)
        {
            return;
        }

        BillBoard billboard = headInfo.GetComponent <BillBoard>();

        if (null != billboard)
        {
            billboard.BindObj = null;
            billboard.enabled = false;
        }

        //在池子中置为未使用
        if (null != GameManager.gameManager.ActiveScene &&
            null != GameManager.gameManager.ActiveScene.NameBoardPool)
        {
            GameManager.gameManager.ActiveScene.NameBoardPool.Remove(headInfo);
        }
    }
 public void BillDelegation(BillBoard bb)
 {
     bb();
 }
 public virtual void onCreateEnd()
 {
     //创建姓名版 血条等..
     BillBoard = this.CacheObj.AddComponent <CrystalBillBoard>();
     BillBoard.onCreate(this.info);
 }
 //Action<> blah();
 public void RunDelegate(MessageBoard mb, BillBoard bb)
 {
     Console.WriteLine(mb());
      bb();
 }