HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Author Topic: 10 Step Spec Checklist (A Summary)  (Read 1670 times)

_Omzy_

  • General Accounts
  • *
  • Posts: 24
    • View Profile
10 Step Spec Checklist (A Summary)
« on: Dec 23, 14, 01:03:50 AM »

I created this for myself after going through the available resources carefully. I thought it might be of some use to those starting out. I think it would also be a great future addition to the engine if we were able to automate these steps by simply typing in the name of the spec and a few parameters. It could save a lot of time if you've got 100+ specs. Thoughts?

10 Step Spec Checklist
For your first spec, See Spec System - Basic Usage, Spec System - Advanced Usage, Creating a New Spec Oracle (Step by Step) and HeroEngine Data Storage Tutorial - Spec System 2

If you’ve followed all steps in the above tutorials correctly, for every spec thereafter just use this checklist:
1. Using the DOM, create the spec oracle, spec base, and spec derived object classes (spec derived object for instantiated nodes only) on both the client and server (FooSpecOracle, FooSpec, Foo).
2. Add parent fields to all
___a. Spec oracle parents: SpecOracle (s&c), CollectionOrderedSet (c only), ObsSubject (c only)
___b. Spec base parents: baseSpec (s&c)
___c. Spec derived object parents: specDerivedObject (s&c)
3. Open all 6 (or 4 if no spec derived object) class methods scripts using the matching templates. Fix default strings to include Foo, ‘add back’ FooSpec to getValidBaseClasses() in FooSpecOracleClassMethods (s only), compile and submit
4. Create server prototype from console with \cpfc FooSpecOracle, FooSpecOracle; description=”Foo Spec Oracle”   *Spaces are important in command
5. To clientside MyGame_SpecOracleUtilsClassMethods script, add a singleton getter method, an ‘add back’ to HE_GetAllSpecOracles(), and a lowercase condition check to HE_GetSpecOracleByClass(), compile and submit
6. To add GUI fields for the spec, in both server and client FooSpec on the DOM, add Field->displayName and Field->DisplayDescription
7. Then, open spec by typing in chat /HEORACLE open FooSpecOracle
8. Right click the prototype header and ->Edit Headers to modify the headers
9. To add the Spec Oracle to the HotSpot GUI, duplicate the _CollapsableCategoryItem under the correct _CollapsableCategory in MyGame_HotSpotGUI.xml and change the strings within to Foo
10. Lastly press F5 in the viewport and Commands->HeroBlade->Rebuild HotSpot Interface

*Move on to the 10 Step Spec Dec Checklist!

Cheers!
« Last Edit: Dec 27, 14, 01:34:50 AM by _Omzy_ »
Logged
-OMZY-
Odyssey of Ydris

Jrome90

  • General Accounts
  • *
  • Posts: 330
    • View Profile
Re: 10 Step Spec Checklist (A Summary)
« Reply #1 on: Dec 23, 14, 02:07:25 AM »

I created this for myself after going through the available resources carefully. I thought it might be of some use to those starting out. I think it would also be a great future addition to the engine if we were able to automate these steps by simply typing in the name of the spec and a few parameters. It could save a lot of time if you've got 100+ specs. Thoughts?

I still to this day find it easy to leave out a step when adding a specoracle.

Thanks for sharing!

I think it would also be a great future addition to the engine if we were able to automate these steps by simply typing in the name of the spec and a few parameters. It could save a lot of time if you've got 100+ specs. Thoughts?

I couldn't agree more.

In the past, I was thinking about creating a python script that automates everything. A little more complex than what I previously did for automating CLI commands.
Logged