예제 #1
0
        public static void PlayOnTarget(GameObject targetGo, AudioClip clip, bool loop = false)
        {
            if (Instance.Manager.IsLayerMuted(SoundLayer.Main))
            {
                return;
            }
            if (targetGo == null || clip == null)
            {
                return;
            }

            AudioSource audio = CocoLoad.GetOrAddComponent <AudioSource> (targetGo);

            audio.playOnAwake = false;
            AudioClip oldClip = audio.clip;

            if (oldClip != clip)
            {
                if (oldClip != null)
                {
                    audio.clip = null;
                    Resources.UnloadAsset(oldClip);
                }
                audio.clip = clip;
            }
            audio.loop = loop;
            audio.Play();

            if (!Instance.m_TargetSet.Contains(targetGo))
            {
                Instance.m_TargetSet.Add(targetGo);
            }
        }
예제 #2
0
        protected override void InitObjects()
        {
            base.InitObjects();

            m_StoreControl = CocoLoad.GetOrAddComponent <CocoStoreControl> (gameObject);
            BindValue(m_StoreControl);
        }
예제 #3
0
        /// <summary>
        /// Init this instance.
        /// </summary>
        private void init()
        {
            InitGlobalModules();

            if (CocoDebugSettingsData.Instance.IsFPSHudEnabled)
            {
                CocoHudFPS hudFPS = CocoLoad.GetOrAddComponent <CocoHudFPS> (gameObject);
                hudFPS.startPos = CocoDebugSettingsData.Instance.FPSHudStartPos;
            }
        }
예제 #4
0
        public T AddUnit <T> () where T : CocoRoleUnitBase
        {
            string unitId = typeof(T).Name;

            if (m_UnitDic.ContainsKey(unitId))
            {
                return(m_UnitDic [unitId] as T);
            }

            T unit = CocoLoad.GetOrAddComponent <T> (gameObject);

            unit.Init(this);

            m_UnitDic.Add(unitId, unit);
            return(unit);
        }
예제 #5
0
        public override void Init(CocoRoleEntity owner)
        {
            base.Init(owner);

            DressHolder = Owner.RoleHolder.DressHolder;
            if (DressHolder == null)
            {
                Debug.LogErrorFormat("[{0}<{1}>]->Init: dress holder NOT exists!", name, GetType().Name);
            }

            m_DressData = new CocoRoleDressData(((CocoAssetConfigHolder)DressHolder.ParentHolder).ItemHolderDic);
            m_DressData.InitBasicCoverItemDic(Owner.RoleHolder.boneItemId, Owner.RoleHolder.basicItemIds);

            m_ItemLoader = CocoLoad.GetOrAddComponent <CocoDressItemLoader> (gameObject);

            LoadBone();
        }