private void makeOne(int x, int y, int len, bool isH) { int rid = MathUtils.randomBoolean() ? _wall1Rid : _wall2Rid; GameObject wall = AssetPoolControl.getAssetAndIncrease(AssetPoolType.SceneEffect, rid); wall.SetActive(true); wall.transform.SetParent(_wallRoot.transform); if (isH) { wall.transform.position = new Vector3(Global.mapBlockSize * (x + len * 0.5f), 0, Global.mapBlockSize * (y + 0.5f)); wall.transform.localScale = new Vector3(len, 1f, 1f); wall.transform.localEulerAngles = new Vector3(0f, 0f, 0); } else { wall.transform.position = new Vector3(Global.mapBlockSize * (x + 0.5f), 0, Global.mapBlockSize * (y + len * 0.5f)); wall.transform.localScale = new Vector3(len, 1f, 1f); wall.transform.localEulerAngles = new Vector3(0f, 90f, 0); } _wallList.add(new GWall() { rid = rid, obj = wall }); }
public override void init() { base.init(); //TODO:绑定层级 _gameObject = AssetPoolControl.getCustomAsset(AssetPoolType.UnitMain, AssetCustomType.UnitMainObj); _gameObject.name = "unit_" + _unit.instanceID; _gameObject.SetActive(true); _gameObject.layer = _unit.isHero ? LayerType.Hero : LayerType.Unit; _gameObject.transform.SetParent(_scene.show.getUnitLayer().transform); _transform = _gameObject.transform; _actionID = MotionType.Idle; initMainShow(); if (_unit.canFight()) { BuffData[] values = _data.fightDataLogic.buff.getBuffDatas().getValues(); BuffData bData; for (int i = values.Length - 1; i >= 0; --i) { if ((bData = values[i]) != null) { addBuffShow(bData); } } } playMotionAbs(_actionID); }
public void dispose() { parent._damageShows.remove(instanceID); clearTween(); AssetPoolControl.unloadOne(AssetPoolType.SceneFrontUI, parent._damageResourceID, gameObject); parent._damagePool.back(this); }
public override void dispose() { base.dispose(); _wallList.forEachAndClear(v => { AssetPoolControl.unloadOne(AssetPoolType.SceneEffect, v.rid, v.obj); }); _wallRoot = null; }
public override void dispose() { if (!_effectList.isEmpty()) { SList <UnitEffect> unitEffects = _effectList; UnitEffect effect; for (int i = unitEffects.size() - 1; i >= 0; --i) { effect = unitEffects[i]; effect.dispose(); GameC.pool.unitEffectPool.back(effect); } unitEffects.clear(); } _effectNumDic.clear(); disposeMainShow(); //析构GameObject _transform = null; //TODO:拆掉Part _modelLoadTool.clear(); AssetPoolLoadTool[] values; AssetPoolLoadTool v; for (int i = (values = _partLoadToolDic.getValues()).Length - 1; i >= 0; --i) { if ((v = values[i]) != null) { v.clear(); } } AssetPoolControl.unloadOne(AssetPoolType.UnitMain, AssetCustomType.UnitMainObj, _gameObject); _gameObject = null; _actionID = MotionType.Idle; _showModelID = -1; _modelReady = false; _partDic.clear(); _partReady.clear(); clearMotion(); base.dispose(); }
public override void dispose() { base.dispose(); if (_model != null) { _model.doDispose(); } AssetPoolControl.unloadOne(AssetPoolType.UnitHead, _resourceID, _gameObject); _gameObject = null; _resourceID = -1; _mainCameraTool = null; _camera = null; _dirty = true; }
protected DamageNumShow createDamageNumShow(int damageType, int damageValue) { DamageNumShow show = _damagePool.getOne(); GameObject gameObject = AssetPoolControl.getAssetAndIncrease(AssetPoolType.SceneFrontUI, _damageResourceID); show.instanceID = ++_damageInstanceID; show.parent = this; show.gameObject = gameObject; gameObject.SetActive(true); gameObject.transform.SetParent(_scene.show.getFrontUIRoot()); _damageShows.put(show.instanceID, show); makeDamageNum(gameObject, damageType, damageValue); return(show); }
public virtual void init() { _frameIndex = TimeDriver.instance.setFrame(onFrame); _fixedFrameIndex = TimeDriver.instance.setFixedUpdate(onFixedUpdate); //pool添加 AssetPoolControl.registPool(AssetPoolType.UnitMain); AssetPoolControl.registPool(AssetPoolType.UnitModel); AssetPoolControl.registPool(AssetPoolType.UnitPart); AssetPoolControl.registPool(AssetPoolType.UnitHead); AssetPoolControl.registPool(AssetPoolType.SceneFrontUI); AssetPoolControl.registPool(AssetPoolType.SceneEffect); AssetPoolControl.registCustomCreate(AssetCustomType.UnitMainObj, () => { return(new GameObject()); }); //默认直接去login场景 // returnToLoginScene(); }