예제 #1
0
    private void Start()
    {
        mybehav     = GetComponent <ChampionBehavior>();
        Spell_D     = PlayerData.Instance.spell_D;
        Spell_F     = PlayerData.Instance.spell_F;
        ChampData   = GetComponent <ChampionData>();
        Player      = GameObject.FindGameObjectWithTag("Player");
        AstarTarget = GameObject.FindGameObjectWithTag("PlayerA*Target");
        if (!Player)
        {
            Player = GameObject.FindGameObjectWithTag("Player");
            if (!Player)
            {
                return;
            }
        }

        team         = PhotonNetwork.player.GetTeam().ToString().ToLower();
        photonview   = GetComponent <PhotonView>();
        aiPath       = GetComponent <Pathfinding.AIPath>();
        splatmanager = GetComponentInChildren <SplatManager>();
        AIPath       = GetComponent <Pathfinding.AIPath>();

        curSpeed = aiPath.maxSpeed;

        layerMask = (-1) - ((1 << LayerMask.NameToLayer("WallCollider")));
        op        = new RaiseEventOptions()
        {
            Receivers = ReceiverGroup.All,
        };
    }
예제 #2
0
    private void OnDogColorsReceived(NetworkMessage msg)
    {
        DogColorsMsg message = msg.ReadMessage <DogColorsMsg>();

        Debug.Log("Dog Colors Received.");
        splatColors = new List <Vector4>();
        Debug.Log(message.Dog0Color);
        Debug.Log(message.Dog1Color);
        Debug.Log(message.Dog2Color);
        splatColors.Add(message.Dog0Color);
        splatColors.Add(message.Dog1Color);
        splatColors.Add(message.Dog2Color);
        SplatManagerSystem.instance.Colors = new List <Vector4>();
        SplatManagerSystem.instance.Colors.Add(message.Dog0Color);
        SplatManagerSystem.instance.Colors.Add(message.Dog1Color);
        SplatManagerSystem.instance.Colors.Add(message.Dog2Color);


        Debug.Log("Old Channel: " + channelMask + " New Channel " + message.Channel);
        channelMask = message.Channel;

        SplatManager.SendColorsToRenderer();

        SetDogColors();
    }
예제 #3
0
 /// <summary>
 /// 将被渲染过的物体上的贴花管理器SplatManager保存起来,方便结算统计
 /// </summary>
 /// <param name="id"></param>
 /// <param name="obj"></param>
 public void AddSplatManagerLst(int id, SplatManager obj)
 {
     if (!SplatManagerDict.ContainsKey(id))
     {
         SplatManagerDict.Add(id, obj);
     }
 }
예제 #4
0
        private void DoActivateTargetIndicator(SplatManager splat)
        {
            var point = GetTargetIndicator(splat);

            point.RangeIndicator = DoGetRangeIndicator(splat);
            splat.RefreshIndicators();
            splat.SelectSpellIndicator(TargetName);
        }
예제 #5
0
 /// <summary>
 /// 최초 설정 값을 잡는 함수
 /// </summary>
 public virtual void InitInstance()
 {
     skillObj             = new Dictionary <string, List <GameObject> >();
     TheSkillClass        = SkillClass.Instance;
     skillParticleManager = new GameObject("SkillParticleManager");
     skillParticleManager.transform.parent = this.transform.parent;
     TheChampionData      = GetComponent <ChampionData>();
     TheSplatManager      = GetComponentInChildren <SplatManager>();
     TheChampionBehaviour = GetComponent <ChampionBehavior>();
     championAnimation    = GetComponent <ChampionAnimation>();
 }
예제 #6
0
 public virtual void InitInstance()
 {
     SkillObj             = new Dictionary <string, List <GameObject> >();
     TheSkillClass        = SkillClass.instance;
     SkillParticleManager = GameObject.Find("SkillParticleManager");
     TheChampionData      = GetComponent <ChampionData>();
     TheSplatManager      = GetComponentInChildren <SplatManager>();
     TheChampionBehaviour = GetComponent <ChampionBehavior>();
     TheUIStat            = GameObject.FindGameObjectWithTag("UICanvas").GetComponent <UICanvas>().Stat.GetComponent <UIStat>();
     InitTempValue();
 }
예제 #7
0
 /// <summary>
 /// 判断物体是否需要渲染
 /// </summary>
 /// <param name="ObjectId"></param>
 /// <param name="obj"></param>
 /// <returns></returns>
 public bool JudgetRenderTexture(int ObjectId, SplatManager obj)
 {
     RenderTexturePool.GetInstance().AddSplatManagerLst(ObjectId, obj);
     if (ObjectIDToTexture2D.ContainsKey(ObjectId))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #8
0
 // this will keep duplicate splat managers from being enabled at once
 void Awake()
 {
     if (SplatManager.Instance != null)
     {
         if (SplatManager.Instance != this)
         {
             Destroy(this);
         }
     }
     else
     {
         SplatManager.Instance = this;
     }
 }
예제 #9
0
 protected void ChampInit()
 {
     SetPlayerNickName();
     Splats = GetComponentInChildren <SplatManager>();
     SetPlayerLayerMask();
     movePoint       = GameObject.Find("MovePoint").transform.Find("MovePointImage").transform;
     renderer        = movePoint.GetComponent <SpriteRenderer>();
     m_nvAgent.speed = status.moveSpeed;
     status.CurrHp   = status.MaxHp;
     status.CurrMp   = status.MaxMp;
     status.Kill     = 0;
     status.Death    = 0;
     champState      = ChampState.Idle;
     skillCode       = SkillCode.wait;
 }
예제 #10
0
        /// <summary>
        /// Returns the existing range indicator or creates one - the splat manager is not updated!
        /// </summary>
        private RangeIndicator DoGetRangeIndicator(SplatManager splat)
        {
            var range = splat.GetRangeIndicator(RangeName);

            if (range != null)
            {
                return(range);
            }

            // Create new one
            var rangeObject = Instantiate(SpellTargeting.RangePrefab, splat.gameObject.transform);

            rangeObject.name   = RangeName;
            range              = rangeObject.GetComponent <RangeIndicator>();
            range.Scale        = SpellTargeting.Range;
            range.DefaultScale = SpellTargeting.Range;
            return(range);
        }
예제 #11
0
        /// <summary>
        /// Returns the existing target indicator or creates one - the splat manager is not updated!
        /// </summary>
        private SpellIndicator GetTargetIndicator(SplatManager splat)
        {
            var spellIndicator = splat.GetSpellIndicator(TargetName);

            if (spellIndicator != null)
            {
                return(spellIndicator);
            }

            // Create new one
            var marker = Instantiate(SpellTargeting.TargetPrefab, splat.gameObject.transform);

            marker.name          = TargetName;
            spellIndicator       = marker.GetComponent <SpellIndicator>();
            spellIndicator.Range = SpellTargeting.Range;
            spellIndicator.Scale = SpellTargeting.TargetSize;
            return(spellIndicator);
        }
예제 #12
0
    public bool CanMoveByInk(ref RaycastHit rayHitInfo)
    {
        if (rayHitInfo.transform == null)
        {
            return(false);
        }
        if (rayHitInfo.transform.gameObject.layer != _layerNum)
        {
            return(false);
        }
        //if (CurGroundObj == null || CurGroundObj.name != rayHitInfo.transform.name)
        //{
        //    CurGroundObj = rayHitInfo.transform;
        SplatManager renderObj = rayHitInfo.transform.GetComponent <SplatManager>();

        if (renderObj == null)
        {
            Debug.Log("SplatManager_name_name_name:::" + rayHitInfo.transform.name);
            return(false);
        }

        if (PixelManager.GetInstance() == null)
        {
            Debug.Log("renderObj.ObjectId_PixelManager.GetInstance() is null!!!:::" + renderObj.ObjectId);
            return(false);
        }

        //先判断是否已经有玩家对象和渲染对象了,根据情况添加玩家对象和渲染对象
        if (!PixelManager.GetInstance().ObjectIDToTexture2D.ContainsKey(renderObj.ObjectId))
        {
            Texture2D obj = RenderTexturePool.GetInstance().InstanceTexture2D();
            renderObj.SetRenderTexture2D(ref obj);
            PixelManager.GetInstance().SetObjectIDToTexture2D(renderObj.ObjectId, obj);
            renderObj.RenderTextureToStaticData();
            Debug.Log("PlayerIDToObjectID.GetInstance():::" + PixelManager.GetInstance().PlayerIDToObjectID.Count + " ," + PixelManager.GetInstance().PlayerIDToObjectID.Keys);
        }
        return(PixelManager.GetInstance().IsInOneSelfInk(AvatarEntityId, renderObj.ObjectId, rayHitInfo.textureCoord));
        //  bool data = PixelManager.GetInstance().GetPixelsInfo(PlayerId, _groundHit.textureCoord);
        //   }
    }
예제 #13
0
    public bool OnGrouldRayInfoAndRender(out RaycastHit _groundHit)
    {
        if (!RayGroundInfo(out _groundHit))
        {
            return(false);
        }

        if (_groundHit.transform.gameObject.layer != _layerNum)
        {
            return(false);
        }
        if (CurGroundObj == null || CurGroundObj.name != _groundHit.transform.name)
        {
            CurGroundObj = _groundHit.transform;
            SplatManager renderObj = _groundHit.transform.GetComponent <SplatManager>();
            if (renderObj == null)
            {
                Debug.Log("SplatManager_name_name_name:::" + _groundHit.transform.name);
                return(false);
            }

            if (PixelManager.GetInstance() == null)
            {
                Debug.Log("renderObj.ObjectId_PixelManager.GetInstance() is null!!!:::" + renderObj.ObjectId);
                return(false);
            }

            //先判断是否已经有玩家对象和渲染对象了,根据情况添加玩家对象和渲染对象
            if (!PixelManager.GetInstance().SetPlayerIdToObjectID(AvatarEntityId, renderObj.ObjectId))
            {
                Texture2D obj = RenderTexturePool.GetInstance().InstanceTexture2D();
                renderObj.SetRenderTexture2D(ref obj);
                PixelManager.GetInstance().SetObjectIDToTexture2D(renderObj.ObjectId, obj);
                Debug.Log("PlayerIDToObjectID.GetInstance():::" + PixelManager.GetInstance().PlayerIDToObjectID.Count + " ," + PixelManager.GetInstance().PlayerIDToObjectID.Keys);
            }
            //  bool data = PixelManager.GetInstance().GetPixelsInfo(PlayerId, _groundHit.textureCoord);
        }
        return(true);
    }
예제 #14
0
    // From Splatoonity/SplatMakerExample.cs
    public void MakeSplat(Vector3 point, Vector3 normal)
    {
        Vector3 leftVec   = Vector3.Cross(normal, Vector3.up);
        float   randScale = Random.Range(0.5f, 1.5f);

        GameObject newSplatObject = new GameObject();

        newSplatObject.transform.position = point;
        if (leftVec.magnitude > 0.001f)
        {
            newSplatObject.transform.rotation = Quaternion.LookRotation(leftVec, normal);
        }
        newSplatObject.transform.RotateAround(point, normal, Random.Range(-180, 180));
        newSplatObject.transform.localScale = new Vector3(randScale, randScale * 0.5f, randScale) * splatScale;

        Matrix4x4    splatMatrix = newSplatObject.transform.worldToLocalMatrix;
        SplatManager sm          = GetComponent <SplatManager>();

        sm.AddSplat(splatMatrix, channelMask);

        GameObject.Destroy(newSplatObject);

        PlaySplatSound(point);
    }
예제 #15
0
 void Start()
 {
     Splats = GetComponentInChildren <SplatManager>();
 }
예제 #16
0
 private void DoActivateRange(SplatManager splat)
 {
     DoGetRangeIndicator(splat);
     splat.RefreshIndicators();
     splat.SelectRangeIndicator(RangeName);
 }
예제 #17
0
 private void Awake()
 {
     _instance = this;
 }
예제 #18
0
 private void Start()
 {
     Splats    = GetComponent <SplatManager>();
     myCampNum = GameManager.instance.MyCampNum;
     state     = State.None;
 }
예제 #19
0
 private void DoCancelTargeting(SplatManager splat, GameObject caster)
 {
     splat.CancelSpellIndicator();
     splat.CancelRangeIndicator();
     splat.CancelStatusIndicator();
 }
예제 #20
0
 // Use this for initialization
 void Start()
 {
     Splats    = GameObject.Find("SplatManager").GetComponent <SplatManager>();
     character = GameObject.Find("Character").GetComponent <Character>();
 }
예제 #21
0
 private void Start()
 {
     splat_manager = FindObjectOfType <SplatManager>();
     UpdateModel();
 }
예제 #22
0
 void Start()
 {
     splats       = this.GetComponentInChildren <SplatManager>();
     leftWallPos  = GameObject.Find("Walls/Left Wall").transform.position;
     rightWallPos = GameObject.Find("Walls/Right Wall").transform.position;
 }
예제 #23
0
    //==========================处理网络数据结束=============================================================
    //==========================处理摇杆等本地操作开始=======================================================
    void Start()
    {
        bloodStrip = transform.gameObject.AddComponent <BloodStrip>();
        bloodStrip.InitBloodStrip(mActorAttr);
        InitWillUsedPrefabs();
        Camera mCamera = transform.Find("camera").GetComponent <Camera>();

        if (this.IsETCControl == false)
        {
            mCamera.enabled = false;
            return;
        }
        mCamera.enabled = true;
        _FightCamera    = mCamera;
        splatManager    = ActorObj.AddComponent <SplatManager>();
        InitSkill();
        splatManager.AutoInit();
        joy_move    = GameObject.Find("Joystick_move").GetComponent <ETCJoystick>();
        joy_skill_1 = GameObject.Find("Joystick_skill_1").GetComponent <ETCJoystick>();
        button_1    = GameObject.Find("ETCButton_1").GetComponent <ETCButton>();
        joy_skill_2 = GameObject.Find("Joystick_skill_2").GetComponent <ETCJoystick>();
        button_2    = GameObject.Find("ETCButton_2").GetComponent <ETCButton>();
        joy_skill_3 = GameObject.Find("Joystick_skill_3").GetComponent <ETCJoystick>();
        button_3    = GameObject.Find("ETCButton_3").GetComponent <ETCButton>();
        //joy_skill_4 = GameObject.Find("Joystick_skill_4").GetComponent<ETCJoystick>();
        button_4     = GameObject.Find("ETCButton_4").GetComponent <ETCButton>();
        image_quxiao = GameObject.Find("Image_quxiao");
        image_quxiao.SetActive(false);
        image_quxiao2 = GameObject.Find("Image_quxiao2");
        image_quxiao2.SetActive(false);
        ScreenWidth      = Screen.width;
        ScreenHeigth     = Screen.height;
        ScreenScale      = Screen.width * 1000 / 1920;   //已宽度为准的缩放比例
        ScreenWidth_Min  = ScreenWidth - 325 * ScreenScale / 1000;
        ScreenWidth_Max  = ScreenWidth - 175 * ScreenScale / 1000;
        ScreenHeigth_Min = ScreenHeigth - 325 * ScreenScale / 1000;
        ScreenHeigth_Max = ScreenHeigth - 175 * ScreenScale / 1000;
        //Debug.LogErrorFormat("Screen==========>{0},{1},{2}", ScreenWidth, ScreenHeigth, ScreenScale);
        //Debug.LogErrorFormat("Scale===========>{0},{1},{2},{3}", ScreenWidth_Min, ScreenWidth_Max, ScreenHeigth_Min, ScreenHeigth_Max);
        if (joy_move != null)
        {
            joy_move.onMoveStart.AddListener(StartMoveCallBack);
            joy_move.onMove.AddListener(MoveCallBack);
            joy_move.onMoveEnd.AddListener(EndMoveCallBack);
        }
        if (button_1 != null)
        {
            switch (SkillControlType_1)
            {
            case SkillControlType.Button_KeyDown:
            case SkillControlType.Button_KeyUp:    //操作上都生效,网络不一定都发送
                joy_skill_1.activated = false;
                button_1.activated    = true;
                button_1.onUp.AddListener(onUp_Skill_1);
                button_1.onDown.AddListener(onDown_Skill_1);
                break;

            case SkillControlType.Joy_Angle:
                button_1.activated    = false;
                button_1.visible      = false;
                joy_skill_1.activated = true;
                joy_skill_1.onMoveStart.AddListener(StartMoveCallBack_Skill_1);
                joy_skill_1.onMove.AddListener(MoveCallBack_Skill_1);
                joy_skill_1.onMoveEnd.AddListener(EndMoveCallBack_Skill_1);
                break;

            case SkillControlType.Joy_XY:
                button_1.activated    = false;
                button_1.visible      = false;
                joy_skill_1.activated = true;
                joy_skill_1.activated = true;
                joy_skill_1.onMoveStart.AddListener(StartMoveCallBack_Skill_1);
                joy_skill_1.onMove.AddListener(MoveCallBack_Skill_1);
                joy_skill_1.onMoveEnd.AddListener(EndMoveCallBack_Skill_1);
                break;
            }
        }
        if (button_2 != null)
        {
            switch (SkillControlType_2)
            {
            case SkillControlType.Button_KeyDown:
            case SkillControlType.Button_KeyUp:
                joy_skill_2.activated = false;
                button_2.activated    = true;
                button_2.onUp.AddListener(onUp_Skill_2);
                button_2.onDown.AddListener(onDown_Skill_2);
                break;

            case SkillControlType.Joy_Angle:
                button_2.activated    = false;
                button_2.visible      = false;
                joy_skill_2.activated = true;
                joy_skill_2.onMoveStart.AddListener(StartMoveCallBack_Skill_2);
                joy_skill_2.onMove.AddListener(MoveCallBack_Skill_2);
                joy_skill_2.onMoveEnd.AddListener(EndMoveCallBack_Skill_2);
                break;

            case SkillControlType.Joy_XY:
                button_2.activated    = false;
                button_2.visible      = false;
                joy_skill_2.activated = true;
                joy_skill_2.onMoveStart.AddListener(StartMoveCallBack_Skill_2);
                joy_skill_2.onMove.AddListener(MoveCallBack_Skill_2);
                joy_skill_2.onMoveEnd.AddListener(EndMoveCallBack_Skill_2);
                break;
            }
        }
        if (button_3 != null)
        {
            switch (SkillControlType_3)
            {
            case SkillControlType.Button_KeyDown:
            case SkillControlType.Button_KeyUp:
                joy_skill_3.activated = false;
                button_3.activated    = true;
                button_3.onUp.AddListener(onUp_Skill_3);
                button_3.onDown.AddListener(onDown_Skill_3);
                break;

            case SkillControlType.Joy_Angle:
                button_3.activated    = false;
                button_3.visible      = false;
                joy_skill_3.activated = true;
                joy_skill_3.onMoveStart.AddListener(StartMoveCallBack_Skill_3);
                joy_skill_3.onMove.AddListener(MoveCallBack_Skill_3);
                joy_skill_3.onMoveEnd.AddListener(EndMoveCallBack_Skill_3);
                break;

            case SkillControlType.Joy_XY:
                button_3.activated    = false;
                button_3.visible      = false;
                joy_skill_3.activated = true;
                joy_skill_3.onMoveStart.AddListener(StartMoveCallBack_Skill_3);
                joy_skill_3.onMove.AddListener(MoveCallBack_Skill_3);
                joy_skill_3.onMoveEnd.AddListener(EndMoveCallBack_Skill_3);
                break;
            }
        }
        if (button_4 != null)
        {
            switch (SkillControlType_4)
            {
            case SkillControlType.Button_KeyDown:
            case SkillControlType.Button_KeyUp:
                //joy_skill_4.activated = false;
                button_4.activated = true;
                button_4.onUp.AddListener(onUp_Skill_4);
                button_4.onDown.AddListener(onDown_Skill_4);
                break;

            case SkillControlType.Joy_Angle:
                button_4.activated = false;
                //joy_skill_4.activated = true;
                //joy_skill_4.onMoveStart.AddListener(StartMoveCallBack_Skill_4);
                //joy_skill_4.onMove.AddListener(MoveCallBack_Skill_4);
                //joy_skill_4.onMoveEnd.AddListener(EndMoveCallBack_Skill_4);
                break;

            case SkillControlType.Joy_XY:
                button_4.activated = false;
                //joy_skill_4.activated = true;
                //joy_skill_4.onMoveStart.AddListener(StartMoveCallBack_Skill_4);
                //joy_skill_4.onMove.AddListener(MoveCallBack_Skill_4);
                //joy_skill_4.onMoveEnd.AddListener(EndMoveCallBack_Skill_4);
                break;
            }
        }
    }
예제 #24
0
 void Start()
 {
     Splats = GetComponentInChildren <SplatManager>();
     Splats.SelectStatusIndicator(Splats.StatusIndicators[0].name);
     UpdateSelection();
 }